這個筆記本展示了如何從 Rememberizer
獲取文件,該文件格式在下游使用。
準備
您需要一個 API 金鑰:您可以在創建共通知識後獲得一個。詳細的創建共通知識的說明可以參考 註冊和使用 API 金鑰 。
一旦您擁有 API 金鑰,您必須將其設置為環境變數 REMEMBERIZER_API_KEY
,或在初始化 RememberizerRetriever
時將其作為 rememberizer_api_key
傳遞。
RememberizerRetriever
有以下參數:
- 可選的 top_k_results
:預設值=10。用於限制返回的文檔數量。
- 可選的 rememberizer_api_key
:如果您未設置環境變數 REMEMBERIZER_API_KEY
,則為必需。
get_relevant_documents()
有一個參數 query
:用於在 Rememberizer.ai
的共通知識中查找文檔的自由文本。
範例
Copy # 設定 API 金鑰
from getpass import getpass
REMEMBERIZER_API_KEY = getpass()
Copy import os
from langchain_community.retrievers import RememberizerRetriever
os.environ["REMEMBERIZER_API_KEY"] = REMEMBERIZER_API_KEY
retriever = RememberizerRetriever(top_k_results=5)
Copy docs = retriever.get_relevant_documents(query="大語言模型是如何工作的?")
Copy docs[0].metadata # 文件的元信息
Copy {'id': 13646493,
'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
'name': '什麼是大型語言模型(LLM)_ _ Cloudflare.pdf',
'type': 'application/pdf',
'path': '/langchain/什麼是大型語言模型(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'}}
Copy print(docs[0].page_content[:400]) # 文件的內容
Copy 之前,或者以新的方式進行背景化。在某種程度上,它們「理解」語義,因為它們可以根據意義將單詞和概念聯繫起來,因為它們以這種方式被成千上萬次或百億次地分組在一起。開發人員可以快速開始構建自己的 LLM 以構建 LLM 應用程序,開發人員需要輕鬆訪問多個數據集,並且他們需要這些數據集的存放地
在鏈中的使用
Copy OPENAI_API_KEY = getpass()
Copy os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
Copy from langchain.chains import ConversationalRetrievalChain
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model_name="gpt-3.5-turbo")
qa = ConversationalRetrievalChain.from_llm(model, retriever=retriever)
Copy questions = [
"什麼是 RAG?",
"大型語言模型是如何工作的?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **問題**: {question} \n")
print(f"**答案**: {result['answer']} \n")
Copy -> **問題**: 什麼是 RAG?
**答案**: RAG 代表檢索增強生成。這是一個 AI 框架,從外部知識庫檢索事實,以增強大型語言模型 (LLMs) 生成的回應,提供最新和準確的信息。這個框架幫助用戶理解 LLM 的生成過程,並確保模型可以訪問可靠的信息來源。
-> **問題**: 大型語言模型是如何工作的?
**答案**: 大型語言模型 (LLMs) 通過分析大量的語言數據集來理解和生成自然語言文本。它們基於機器學習,特別是深度學習,這涉及訓練一個程序來識別數據的特徵,而不需要人類干預。LLMs 使用神經網絡,特別是變壓器模型,來理解人類語言中的上下文,使它們在解釋語言時,即使在模糊或新穎的上下文中也更具優勢。開發人員可以通過訪問多個數據集和使用像 Cloudflare 的 Vectorize 和 Cloudflare Workers AI 平台等服務,快速開始構建自己的 LLM。
請透過提供反饋來幫助我們改進這個文檔頁面: