If this project helps you, consider buying me a coffee ☕. Your support helps me keep contributing to the open-source community!
bRAGAI官方平台即将上线。加入候补名单,成为早期采用者之一!
该存储库包含对各种应用程序的检索增强生成(RAG)的全面探索。每个笔记本都提供了详细的实践指南,用于设置和试验 RAG,从入门级到高级实现,包括多重查询和自定义 RAG 构建。
如果您想直接跳入其中,请查看文件full_basic_rag.ipynb
-> 该文件将为您提供完全可定制的 RAG 聊天机器人的样板起始代码。
确保在虚拟环境中运行您的文件(查看“ Get Started
”部分)
可以在目录tutorial_notebooks/
下找到以下笔记本。
本介绍性笔记本概述了 RAG 架构及其基本设置。笔记本走过:
本笔记本以基础知识为基础,介绍了 RAG 管道中的多重查询技术,并探索:
本笔记本深入研究了定制 RAG 管道。它涵盖:
延续之前的定制,本笔记本探索:
最后一款笔记本汇集了 RAG 系统组件,重点关注可扩展性和优化:
先决条件:Python 3.11.7(首选)
克隆存储库:
git clone https://github.com/bRAGAI/bRAG-langchain.git
cd bRAG-langchain
创建虚拟环境
python -m venv venv
source venv/bin/activate
安装依赖项:确保安装requirements.txt
中列出的所需软件包。
pip install -r requirements.txt
运行笔记本:从[1]_rag_setup_overview.ipynb
开始熟悉设置过程。按顺序继续浏览其他笔记本,以构建和试验更高级的 RAG 概念。
设置环境变量:
复制根目录中的.env.example
文件并将其命名为.env
并包含以下键(替换为您的实际键):
#LLM Modal
OPENAI_API_KEY="your-api-key"
#LangSmith
LANGCHAIN_TRACING_V2=true
LANGCHAIN_ENDPOINT="https://api.smith.langchain.com"
LANGCHAIN_API_KEY="your-api-key"
LANGCHAIN_PROJECT="your-project-name"
#Pinecone Vector Database
PINECONE_INDEX_NAME="your-project-index"
PINECONE_API_HOST="your-host-url"
PINECONE_API_KEY="your-api-key"
笔记本顺序:以结构化方式跟踪项目:
从[1]_rag_setup_overview.ipynb
开始
继续[2]_rag_with_multi_query.ipynb
然后遍历[3]_rag_routing_and_query_construction.ipynb
继续[4]_rag_indexing_and_advanced_retrieval.ipynb
以[5]_rag_retrieval_and_reranking.ipynb
结束
设置环境并按顺序运行笔记本后,您可以:
尝试检索增强生成:使用[1]_rag_setup_overview.ipynb
中的基础设置来了解 RAG 的基础知识。
实现多重查询:了解如何通过在[2]_rag_with_multi_query.ipynb
中引入多重查询技术来提高响应相关性。
The notebooks and visual diagrams were inspired by Lance Martin's LangChain Tutorial.