Rememberizer Docs
登入报名联系我们
简体中文
简体中文
  • 为什么选择 Rememberizer?
  • 背景
    • 什么是向量嵌入和向量数据库?
    • 术语表
    • 标准化术语
  • 个人使用
    • 开始使用
      • 搜索你的知识
      • 纪念品过滤访问
      • 常见知识
      • 管理你的嵌入知识
  • 集成
    • Rememberizer 应用
    • Rememberizer Slack 集成
    • Rememberizer Google Drive 集成
    • Rememberizer Dropbox 集成
    • Rememberizer Gmail 集成
    • Rememberizer Memory 集成
    • Rememberizer MCP 服务器
    • 管理第三方应用
  • 开发者资源
    • 开发者概述
  • 集成选项
    • 注册和使用 API 密钥
    • 注册 Rememberizer 应用
    • 授权 Rememberizer 应用
    • 创建一个 Rememberizer GPT
    • LangChain 集成
    • 向 Slack 发送消息的示例 Web 应用
  • 企业集成
    • 企业集成模式
  • API 参考
    • API 文档首页
    • 认证
  • 核心 API
    • 按语义相似性搜索文档
    • 检索文档
    • 检索文档内容
    • 检索 Slack 内容
    • 将内容记忆到 Rememberizer
  • 账户与配置
    • 检索当前用户账户详情
    • 列出可用的数据源集成
    • 备忘录
    • 获取所有添加的公共知识
  • 向量存储 API
    • 向量存储文档
    • 获取向量存储信息
    • 获取向量存储中的文档列表
    • 获取文档信息
    • 向向量存储添加新文本文档
    • 向向量存储上传文件
    • 更新向量存储中的文件内容
    • 在向量存储中移除文档
    • 通过语义相似性搜索向量存储文档
  • 其他资源
    • 通知
      • 使用条款
      • 隐私政策
      • B2B
        • 关于 Reddit Agent
  • 发布
    • 发布说明首页
  • 2025 发布
    • 2025年4月25日
    • 2025年4月18日
    • 2025年4月11日
    • 2025年4月4日
    • 2025年3月28日
    • 2025年3月21日
    • 2025年3月14日
    • 2025年1月17日
  • 2024 发布
    • 2024年12月27日
    • 2024年12月20日
    • 2024年12月13日
    • 2024年12月6日
  • 2024年11月29日
  • 2024年11月22日
  • 2024年11月15日
  • 2024年11月8日
  • 2024年11月1日
  • 2024年10月25日
  • 2024年10月18日
  • 2024年10月11日
  • 2024年10月4日
  • 2024年9月27日
  • 2024年9月20日
  • 2024年9月13日
  • 2024年8月16日
  • 2024年8月9日
  • 2024年8月2日
  • 2024年7月26日
  • 2024年7月12日
  • 2024年6月28日
  • 2024年6月14日
  • 2024年5月31日
  • 2024年5月17日
  • 2024年5月10日
  • 2024年4月26日
  • 2024年4月19日
  • 2024年4月12日
  • 2024年4月5日
  • 2024年3月25日
  • 2024年3月18日
  • 2024年3月11日
  • 2024年3月4日
  • 2024年2月26日
  • 2024年2月19日
  • 2024年2月12日
  • 2024年2月5日
  • 2024年1月29日
  • 2024年1月22日
  • 2024年1月15日
  • LLM 文档
    • Rememberizer LLM 准备文档
Powered by GitBook
On this page
  • LangChain 集成
  • 介绍
  • 开始使用
  • 配置选项
  • 基本用法
  • 高级示例
  • 设置 API 密钥
  • 初始化检索器和语言模型
  • 创建检索问答链
  • 提问
  • 打印答案
  • 设置 API 密钥
  • 初始化组件
  • 创建对话链
  • 示例对话
  • 创建检索器
  • 创建一个带权重评分的集成
  • 相关资源
  1. 集成选项

LangChain 集成

了解如何将 Rememberizer 作为 LangChain 检索器集成,以便为您的 LangChain 应用程序提供强大的向量数据库搜索访问。

Previous创建一个 Rememberizer GPTNext向 Slack 发送消息的示例 Web 应用

Last updated 1 month ago

LangChain 集成

Rememberizer 通过 RememberizerRetriever 类与 LangChain 集成,使您能够轻松地将 Rememberizer 的语义搜索功能纳入您的 LangChain 驱动的应用程序中。本指南解释了如何设置和使用此集成,以构建具有访问您的知识库的高级 LLM 应用程序。

介绍

LangChain 是一个流行的框架,用于构建大型语言模型(LLMs)应用程序。通过将 Rememberizer 与 LangChain 集成,您可以:

  • 在 RAG(检索增强生成)应用程序中使用您的 Rememberizer 知识库

  • 创建可以访问您的文档和数据的聊天机器人

  • 构建利用您的知识的问答系统

  • 开发能够搜索和推理您信息的代理

该集成可在 langchain_community.retrievers 模块中使用。

开始使用

先决条件

在开始之前,您需要:

  1. 一个创建了公共知识的 Rememberizer 账户

  2. 一个用于访问您的公共知识的 API 密钥

  3. 安装了 LangChain 的 Python 环境

安装

安装所需的包:

pip install langchain langchain_community

如果您计划使用 OpenAI 模型(如下例所示):

pip install langchain_openai

认证设置

有两种方法可以验证 RememberizerRetriever:

  1. 环境变量:设置 REMEMBERIZER_API_KEY 环境变量

    import os
    os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
  2. 直接参数:在初始化检索器时直接传递 API 密钥

    retriever = RememberizerRetriever(rememberizer_api_key="rem_ck_your_api_key")

配置选项

RememberizerRetriever 类接受以下参数:

参数
类型
默认值
描述

top_k_results

int

10

从搜索中返回的文档数量

rememberizer_api_key

str

None

用于身份验证的 API 密钥(如果设置为环境变量,则为可选)

在后台,检索器通过额外的可配置参数向 Rememberizer 的搜索端点发出 API 调用:

高级参数
描述

prev_chunks

包含的匹配块之前的块数(默认:2)

next_chunks

包含的匹配块之后的块数(默认:2)

return_full_content

是否返回完整文档内容(默认:true)

基本用法

这是一个使用 LangChain 从 Rememberizer 检索文档的简单示例:

import os
from langchain_community.retrievers import RememberizerRetriever

# 设置您的 API 密钥
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"

# 初始化检索器
retriever = RememberizerRetriever(top_k_results=5)

# 获取与查询相关的文档
docs = retriever.get_relevant_documents(query="向量嵌入是如何工作的?")

# 显示第一个文档
if docs:
    print(f"文档: {docs[0].metadata['name']}")
    print(f"内容: {docs[0].page_content[:200]}...")

理解文档结构

检索器返回的每个文档都有:

  • page_content: 匹配文档块的文本内容

  • metadata: 关于文档的附加信息

元数据结构示例:

{
  'id': 13646493,
  'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
  'name': 'What is a large language model (LLM)_ _ Cloudflare.pdf',
  'type': 'application/pdf',
  'path': '/langchain/What is a large language model (LLM)_ _ Cloudflare.pdf',
  'url': 'https://drive.google.com/file/d/17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP/view',
  'size': 337089,
  'created_time': '',
  'modified_time': '',
  'indexed_on': '2024-04-04T03:36:28.886170Z',
  'integration': {'id': 347, 'integration_type': 'google_drive'}
}

高级示例

构建 RAG 问答系统

此示例创建一个从 Rememberizer 检索信息并使用 GPT-3.5 形成答案的问答系统:

import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI

设置 API 密钥

os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

初始化检索器和语言模型

retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)

创建检索问答链

qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # 最简单的方法 - 只需将所有文档填入提示中 retriever=retriever, return_source_documents=True )

提问

response = qa_chain.invoke({"query": "在人工智能的背景下,RAG是什么?"})

打印答案

print(f"答案: {response['result']}") print("\n来源:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")


### 构建具有记忆的对话代理

此示例创建一个可以维护对话历史的对话代理:

```python
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI

设置 API 密钥

os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"

初始化组件

retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )

创建对话链

conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )

示例对话

questions = [ "什么是RAG?", "大型语言模型如何使用它?", "这种方法有哪些局限性?", ]

for question in questions: response = conversation.invoke({"question": question}) print(f"问题: {question}") print(f"回答: {response['answer']}\n")


## 最佳实践

### 优化检索性能

1. **具体化查询**:更具体的查询通常会产生更好的结果
2. **调整 `top_k_results`**:从 3-5 个结果开始,根据应用需求进行调整
3. **使用上下文窗口**:检索器会自动包含与匹配块相关的上下文

### 安全考虑

1. **保护您的 API 密钥**:使用环境变量或秘密管理工具安全存储
2. **创建专用密钥**:为不同的应用程序创建单独的 API 密钥
3. **定期更换密钥**:定期生成新密钥并逐步淘汰旧密钥

### 集成模式

1. **预检索处理**:考虑对用户查询进行预处理,以提高搜索相关性
2. **后检索过滤**:在传递给 LLM 之前过滤或排序检索到的文档
3. **混合搜索**:使用 `EnsembleRetriever` 将 Rememberizer 与其他检索器结合

```python
from langchain.retrievers import EnsembleRetriever
from langchain_community.retrievers import RememberizerRetriever, WebResearchRetriever

创建检索器

rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # 配置另一个检索器

创建一个带权重评分的集成

ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Rememberizer 的结果权重更高 )


## 故障排除

### 常见问题

1. **身份验证错误**:确认您的 API 密钥正确且已正确配置
2. **未返回结果**:确保您的常识包含相关信息
3. **速率限制**:注意高流量应用的 API 速率限制

### 调试提示

- 设置 LangChain 调试模式以查看详细的 API 调用:
  ```python
  import langchain
  langchain.debug = True
  • 在传递给 LLM 之前检查原始搜索结果,以识别检索问题

相关资源

有关创建公共知识和生成 API 密钥的详细说明,请参见 。

LangChain

LangChain

Rememberizer

Rememberizer 中的

- 一种 AI 集成的替代方法

注册和使用 API 密钥
检索器概念指南
检索器使用指南
API 文档
向量存储
创建一个 Rememberizer GPT
Rememberizer | 🦜️🔗 LangChain
Logo