Skip to content

Conversation

joelpaulkoch
Copy link
Member

See A RAG Library for Elixir

We want to turn chatbot_ex into a RAG system that answers question about ecto. Out of the box, chatbot_ex knows nothing about ecto.

In Step one, we ran the generator.
In Step two, we removed the LLM serving as we will use Ollama to generate responses.
In Step three, we set everything up to ingest ecto into our RAG system.
In Step four, we integrated rag with langchain.
In Step five, we hooked up telemetry to display the current activity of the RAG system to the user.

This PR contains all the five steps and some additional fixes, so you're ready to play with it.

xhr15 and others added 25 commits March 12, 2025 12:16
The assistant gets a bit to funny in it’s answers 😄 

https://bitcrowd.atlassian.net/browse/INTERNAL-499
LLM frequently use Markdown to structure their output. sth like \

    # lib/chatbot_web/live/chat_live.ex
    # (..)
      markdown_html =
          String.trim(assigns.content)
          |> Earmark.as_html!()
          |> Phoenix.HTML.raw()

        assigns =
          assigns
          |> assign(:class, "u-max-width-75 u-bg-white " <> justify_self)
          |> assign(:markdown, markdown_html)

        ~H"""
        <.ui_card id={@id} class={@Class}>
          <%= @markdown %>

https://bitcrowd.atlassian.net/browse/INTERNAL-500
@joelpaulkoch joelpaulkoch added BLOG POST EXAMPLE see [A RAG Library for Elixir](https://bitcrowd.dev/a-rag-library-for-elixir#build-your-rag-system) do not merge labels Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BLOG POST EXAMPLE see [A RAG Library for Elixir](https://bitcrowd.dev/a-rag-library-for-elixir#build-your-rag-system) do not merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants