SuperAPI AI 工具集

langchain-rag

智能体与模型

查看项目

更新于 10-15 23:48

技能介绍

用途:在构建任何检索增强生成(RAG)系统时调用该技能,指导完成从数据摄取到生成回答的完整流程。

主要能力:

  1. 文档加载:支持文件、网页、数据库等来源,示例含 PyPDFLoader、WebBaseLoader、DirectoryLoader 与 TextLoader。
  2. 文本切分:使用 RecursiveCharacterTextSplitter,可配置 chunk_size、chunk_overlap 与分隔符层级。
  3. 嵌入:使用 OpenAI 嵌入模型(如 text-embedding-3-small)。
  4. 向量存储:InMemory(仅内存,适合测试)、FAISS(本地高性能,可存磁盘)、Chroma(开发,可持久化)、Pinecone(生产托管,云端)。
  5. 检索:similarity_search、带分数检索、MMR(平衡相关性与多样性)、元数据过滤。
  6. 生成:将检索文档拼接为上下文,交给 ChatOpenAI 等模型生成回答。
  7. 智能体集成:可将检索封装为工具,供 create_agent 调用。

使用方式:按“索引(加载→切分→嵌入→存储)”与“检索(查询→嵌入→搜索→返回文档)”“生成(文档+查询→LLM→回答)”三段式组织。示例同时提供 Python 与 JavaScript 版本,导入路径与类名保持原样。

适用场景:需要基于自有文档问答、知识库检索、文档助手等 RAG 应用。

限制与注意:嵌入维度由模型决定,不可配置;同一向量库不可混用不同模型的嵌入;索引与查询必须使用相同嵌入模型;切分块过小会丢上下文、过大易触限,建议约 1000 字符、10%–20% 重叠;InMemory 存储重启即丢失;FAISS 的 Python 加载使用 pickle 元数据,仅在索引由自己创建并完全可控时才可启用 allow_dangerous_deserialization=True,否则应重建索引或改用无需 pickle 反序列化的后端;Pinecone 索引维度须与嵌入维度匹配。具体收费、价格与平台细节暂未提供。