检索增强生成 (RAG) 项目

项目链接:https://github.com/bRAGAI/bRAG-langchain/tree/main

本仓库包含了对检索增强生成 (RAG) 在各种应用中的全面探索。 每个笔记本都提供了从入门级到高级实现的详细实践指南,包括多查询和自定义 RAG 构建。

项目结构

如果你想直接开始,请查看文件 full_basic_rag.ipynb -> 这个文件将为你提供一个完全可定制的 RAG 聊天机器人的样板代码。

确保在虚拟环境中运行你的文件(查看 开始使用 部分)。

以下笔记本可以在 tutorial_notebooks/ 目录下找到。

[1]_rag_setup_overview.ipynb

这个入门笔记本提供了 RAG 架构及其基础设置的概述。 笔记本内容包括:

  • 环境设置:配置环境、安装必要的库和 API 设置。
  • 初始数据加载:基本的文档加载器和数据预处理方法。
  • 嵌入生成:使用各种模型生成嵌入,包括 OpenAI 的嵌入。
  • 向量存储:设置向量存储(ChromaDB/Pinecone)以实现高效的相似性搜索。
  • 基本 RAG 管道:创建一个简单的检索和生成管道作为基线。
[2]_rag_with_multi_query.ipynb

在基础之上,这个笔记本介绍了 RAG 管道中的多查询技术,探索内容包括:

  • 多查询设置:配置多个查询以多样化检索。
  • 高级嵌入技术:使用多个嵌入模型来优化检索。
  • 多查询管道:实现多查询处理以提高响应生成的相关性。
  • 比较与分析:与单查询管道进行比较并分析性能改进。
[3]_rag_routing_and_query_construction.ipynb

这个笔记本深入探讨了自定义 RAG 管道。 内容包括:

  • 逻辑路由:实现基于函数的路由,根据编程语言将用户查询分类到适当的数据源。
  • 语义路由:使用嵌入和余弦相似性将问题引导到数学或物理提示,优化响应准确性。
  • 元数据过滤器的查询结构:定义结构化搜索模式以处理 YouTube 教程元数据,实现高级过滤(例如,按观看次数、发布日期)。
  • 结构化搜索提示:利用 LLM 提示生成数据库查询,根据用户输入检索相关内容。
  • 与向量存储的集成:将结构化查询与向量存储连接,以实现高效的数据检索。
[4]_rag_indexing_and_advanced_retrieval.ipynb

继续之前的自定义内容,这个笔记本探讨了:

  • 文档分块前言:指向外部资源以了解文档分块技术。
  • 多表示索引:设置多向量索引结构以处理具有不同嵌入和表示的文档。
  • 摘要的内存存储:使用 InMemoryByteStore 存储文档摘要以及父文档,实现高效检索。
  • 多向量检索器设置:集成多个向量表示以根据用户查询检索相关文档。
  • RAPTOR 实现:探索 RAPTOR,一种高级索引和检索模型,链接到深入资源。
  • ColBERT 集成:演示基于 ColBERT 的令牌级向量索引和检索,捕捉细粒度的上下文含义。
  • ColBERT 的维基百科示例:使用 ColBERT 检索模型检索有关宫崎骏的信息进行演示。
[5]_rag_retrieval_and_reranking.ipynb

这个最后的笔记本将 RAG 系统组件结合在一起,重点关注可扩展性和优化:

  • 文档加载和拆分:加载并分块文档以进行索引,准备将其存储到向量存储中。
  • 使用 RAG-Fusion 的多查询生成:使用基于提示的方法从单个输入问题生成多个搜索查询。
  • 互惠排名融合 (RRF):实现 RRF 以重新排序多个检索列表,合并结果以提高相关性。
  • 检索器和 RAG 链设置:构建检索链以回答查询,使用融合排名和 RAG 链提取上下文相关信息。
  • Cohere 重新排序:演示使用 Cohere 模型进行重新排序,以进行额外的上下文压缩和优化。
  • CRAG 和 Self-RAG 检索:探索 CRAG 和 Self-RAG 等高级检索方法,并链接到示例。
  • 长上下文影响的探索:链接到解释长上下文检索对 RAG 模型影响的资源。
开始使用

前提条件:Python 3.11.7(推荐)

克隆仓库

代码语言:javascript

复制

git clone https://github.com/bRAGAI/bRAG-langchain.git 

cd bRAG-langchain

创建虚拟环境

代码语言:javascript

复制

python -m venv venv

source venv/bin/activate

安装依赖:确保安装 requirements.txt 中列出的所需包。

pip install -r requirements.txt

运行笔记本: 从 [1]_rag_setup_overview.ipynb 开始,熟悉设置过程。按顺序继续其他笔记本,以构建和实验更高级的 RAG 概念。

设置环境变量

复制根目录中的 .env.example 文件并将其命名为 .env,并包含以下键(替换为你的实际键):

代码语言:javascript

复制

#LLM 模型
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 向量数据库
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

如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)

在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

LLM大模型学习路线

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐