Code Intelligence and RAG in Elixir With rag.ex

Speaker:
Chris Beck


Abstract:

Generative AI is here. In the form of Devin, Cursor and Builder.io, the technologies promise to “disrupt the industry”. Meanwhile, developers often find themselves increasingly in the “valley of death” where helpful assistants give unhelpful circular advice, and companies have concerns about their intellectual property escaping through the backdoor. - Not to mention the level of surveillance and control those off-site technologies offer.

It’s time to take code intelligence into our own hands. This talk shows how to gain intelligence about our code with local tools. It outlines the specificities of Retrieval Augmented Generation (RAG) on codebases compared to RAG on other kinds of documents.

Most RAG applications use the python or JS versions of langchain or llamaIndex and some JS/Python UI. In this talk, I present rag.ex, a pure Elixir RAG helper library for Retrieval Augmented Generation. Together with and a LiveView chatbot I show an Elixir-only RAG system.

Key Takeaways:

  • Retrieval-Augmented Generation (RAG) and AI technologies can be used to extract intelligence from codebases.
  • Methods for evaluating RAG system performance, including key metrics and optimization techniques.
  • Steps to set up, structure, and customize an open-source RAG system for various use cases.
  • Insights into practical applications of RAG, including identifying use cases and spotting its implementation in real-world scenarios.

Target Audience:

  • Developers interested in understanding how AI, particularly Retrieval-Augmented Generation (RAG), can streamline their workflows and enhance team collaboration.
  • CTOs, Lead Developers, and Engineering Managers seeking to optimize information sharing and boost the productivity of their development teams.
  • AI Enthusiasts and professionals exploring the potential of Large Language Models (LLMs), AI technologies, and RAG in practical applications.

Level: Intermediate

Tags: RAG, Elixir, rag.ex