-
How to Build a RAG System With LlamaIndex, OpenAI, and MongoDB Vector Database
-
- Hallucination: information limitation of an LLM
- Not aligned with used expectations: behavioral limitation
- For example, a company might use fine-tuning to train a customer service bot to respond in a way that aligns with their brand's tone of voice, and then use a vector database (embedding) to provide the bot with access to their company policies and procedures.
-
Vanna AI - SQL: π€ Chat with your SQL database π. Accurate Text-to-SQL Generation via LLMs using RAG π.
- BentoML - Deploy models as APIs
- Easily deploy models as APIs
- Containerize models and deploy them as images
- Guide on testing services
- Deploy as ASGI Server
- BentoML API example
Testing!
With LLM
- Serve LLMs using
vLLM
, a high-throughput and memory-efficient inference and serving engine for LLMs
CICD
- GitHub Actions
- Store and use custom private models models - Build the model, store in S3, use it anywhere as a Service after downloading:
- With the Python Client
bentoml.models.import_model('s3://my_bucket/folder/my_model.bentomodel')
- With the Python Client
- Build with env vars
- OpenLLM - Operating LLMs in production
- Building A Production-Ready LangChain Application with BentoML and OpenLLM
Vector embeddings serve as a bridge between the raw textual input and the language modelβs neural network.
- What are Vector DBs?
- What are Vector Embeddings?
- [Choosing the Right Embedding Model: A Guide for LLM Applications](docs/Choosing the Right Embedding Model: A Guide for LLM Applications | by Ryan Nguyen | Medium.pdf)
- Transformers Architecture
- Evaluate RAG Responses
- Build a FAQ Chat
- Qdrant embedding Mistral
- Build your first RAG
- RAG Systems Architecture
- From HuggingFace dataset to Qdrant vector database in 12 minutes flat
- Semantic Router
- Improving RAG performance with Knowledge Graphs
- A practical guide to constructing and retrieving information from knowledge graphs in RAG applications with Neo4j and LangChain
- Langchain KG
- Injecting Knowledge Graphs in different RAG stages
- [Embeddings + Knowledge Graphs: The Ultimate Tools for RAG Systems](./docs/Embeddings + Knowledge Graphs: The Ultimate Tools for RAG Systems | by Ryan Nguyen | Medium.pdf)
- Awesome LLM KG - Papers
- Enhancing RAG-based application accuracy by constructing and leveraging knowledge graphs
- Neo4J Custom Embeddings Server
- Run Neo4J APOC
- Use BentoML to host the embedding model as an API in Docker
- Java Neo4J example
- Writing Custom Procedures for Neo4J: In practice, plugins are JAR files that needs to be placed in the plugins folder of the Neo4j database. These JAR files are automatically loaded at startup, and immediately available from Cypher.
- Fine tune LLMs to generate cypher
Qdrant allows "filterable" vectors?
- Apache AGE: A graph extension for Postgres
- Handling vectors -> this is not fully there yet?
- Memgraph
- ArangoDB
- NebulaGraph
- FalkorDB
- Learn how to build an advanced chatbot with a cloud vector database
- Creating a simple chatbot with open-source LLMs using Python and Hugging Face
- Crew AI: Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.
- SuperAGI: A dev-first open source autonomous AI agent framework. Enabling developers to build, manage & run useful autonomous agents quickly and reliably.