# RAG app using Elixir. Feasible?

**URL:** <https://forum.elixirforum.com/t/rag-app-using-elixir-feasible/60439>\
**Category:** Discussions\
**Tags:** ai, nx, llm\
**Created:** [December 18, 2023, 11:23am UTC](https://forum.elixirforum.com/t/rag-app-using-elixir-feasible/60439 "2023-12-18T11:23:04Z")\
**Posts on this page:** 1\
**Showing post:** 11

<div class="post-metadata">

**Author:** ![hubertlepicki](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hubertlepicki/32/6822_2.png) [@hubertlepicki](https://forum.elixirforum.com/u/hubertlepicki)\
**Post date:** [December 20, 2023, 9:47am UTC](https://forum.elixirforum.com/t/rag-app-using-elixir-feasible/60439/11 "2023-12-20T09:47:13Z")

</div>

> [@josevalim](#):
>
> It is definitely possible. A RAG system has three components:
> 
> 1. Models for generating embeddings
> 2. An index
> 3. A LLM

There are a few more steps usually involved that wrap around LLM, either on the indexing, retrieval or formulation of the responses phase and I am not sure how much of these tools we have in our ecosystem. If you look at [LlamaIndex](https://www.llamaindex.ai/), for example, you can pick from several strategies for querying/retrieval, pre-processing and post-processing of data, summarization steps, verification of alignment steps, context/window tracking, logging and such. They work, out of the box, for the most part.

I think it’s feasible to build an RAG tool in plain Elixir but you have to be prepared to build more of these building blocks yourself.

---

_[View the full topic](https://forum.elixirforum.com/t/rag-app-using-elixir-feasible/60439)._
