Rememberizer Docs
登入報名聯絡我們
繁體中文
繁體中文
  • 為什麼選擇 Rememberizer?
  • 背景
    • 什麼是向量嵌入和向量數據庫?
    • 術語表
    • 標準化術語
  • 個人使用
    • 開始使用
      • 搜尋你的知識
      • 紀念品過濾訪問
      • 常見知識
      • 管理你的嵌入知識
  • 整合
    • Rememberizer 應用程式
    • Rememberizer Slack 整合
    • Rememberizer Google Drive 整合
    • Rememberizer Dropbox 整合
    • Rememberizer Gmail 整合
    • Rememberizer Memory 整合
    • Rememberizer MCP 伺服器
    • 管理第三方應用程式
  • 開發者資源
    • 開發者概覽
  • 整合選項
    • 註冊和使用 API 金鑰
    • 註冊 Rememberizer 應用程式
    • 授權 Rememberizer 應用程式
    • 創建 Rememberizer GPT
    • LangChain 整合
    • 向 Slack 談話的範例網頁應用程式
  • 企業整合
    • 企業整合模式
  • API 參考
    • API 文件首頁
    • 身份驗證
  • 核心 API
    • 依語意相似性搜尋文件
    • 檢索文件
    • 檢索文件內容
    • 檢索 Slack 內容
    • 將內容記憶到 Rememberizer
  • 帳戶與配置
    • 檢索當前用戶帳戶詳細信息
    • 列出可用的數據源集成
    • 備忘錄
    • 獲取所有已添加的公共知識
  • 向量存儲 API
    • 向量存儲文檔
    • 獲取向量存儲信息
    • 獲取向量存儲中的文檔列表
    • 獲取文檔信息
    • 向向量存儲添加新文本文檔
    • 將文件上傳到向量存儲
    • 更新向量存儲中的文件內容
    • 在向量存儲中移除文檔
    • 按語義相似性搜索向量存儲文檔
  • 其他資源
    • 通知
      • 使用條款
      • 隱私政策
      • B2B
        • 關於 Reddit 代理
  • 發布
    • 發布說明首頁
  • 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 金鑰
  • 初始化檢索器和語言模型
  • 創建檢索 QA 鏈
  • 提問
  • 列印答案
  • 設定 API 金鑰
  • 初始化組件
  • 創建對話鏈
  • 範例對話
  • 創建檢索器
  • 創建一個加權分數的集成
  • 相關資源
  1. 整合選項

LangChain 整合

學習如何將 Rememberizer 作為 LangChain 檢索器整合,以便為您的 LangChain 應用程序提供強大的向量數據庫搜索功能。

Previous創建 Rememberizer GPTNext向 Slack 談話的範例網頁應用程式

Last updated 23 days ago

LangChain 整合

Rememberizer 通過 RememberizerRetriever 類別與 LangChain 整合,使您能夠輕鬆地將 Rememberizer 的語義搜索功能納入您的 LangChain 驅動的應用程序中。本指南說明了如何設置和使用此整合,以構建具有訪問您的知識庫的高級 LLM 應用程序。

介紹

LangChain 是一個流行的框架,用於構建大型語言模型(LLMs)應用程序。通過將 Rememberizer 與 LangChain 整合,您可以:

  • 在 RAG(檢索增強生成)應用程序中使用您的 Rememberizer 知識庫

  • 創建可以訪問您的文檔和數據的聊天機器人

  • 構建利用您的知識的問答系統

  • 開發可以搜索和推理您信息的代理

該整合可在 langchain_community.retrievers 模塊中使用。

開始使用

前置條件

在開始之前,您需要:

  1. 一個已創建的 Rememberizer 帳戶,並擁有 Common Knowledge

  2. 一個用於訪問您的 Common Knowledge 的 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`: 有關文件的附加信息

元數據結構的示例:

```python
{
  '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 鏈

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 之前檢查原始搜索結果,以識別檢索問題

相關資源

有關創建 Common Knowledge 和生成 API 金鑰的詳細說明,請參見 。

LangChain

LangChain

Rememberizer

Rememberizer 中的

- 一種 AI 整合的替代方法

註冊和使用 API 金鑰
檢索器概念指南
檢索器操作指南
API 文件
向量存儲
創建一個 Rememberizer GPT
Rememberizer | 🦜️🔗 LangChain
Logo