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 23 days 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