LangChain-Integration
Erfahren Sie, wie Sie Rememberizer als LangChain-Retriever integrieren, um Ihrer LangChain-Anwendung Zugriff auf leistungsstarke Vektordatenbanksuchen zu ermöglichen.
Last updated
Erfahren Sie, wie Sie Rememberizer als LangChain-Retriever integrieren, um Ihrer LangChain-Anwendung Zugriff auf leistungsstarke Vektordatenbanksuchen zu ermöglichen.
Last updated
Rememberizer integriert sich mit LangChain über die Klasse RememberizerRetriever
, die es Ihnen ermöglicht, die semantischen Suchfähigkeiten von Rememberizer einfach in Ihre von LangChain unterstützten Anwendungen einzubinden. Dieser Leitfaden erklärt, wie Sie diese Integration einrichten und verwenden, um fortschrittliche LLM-Anwendungen mit Zugriff auf Ihre Wissensdatenbank zu erstellen.
LangChain ist ein beliebtes Framework zum Erstellen von Anwendungen mit großen Sprachmodellen (LLMs). Durch die Integration von Rememberizer mit LangChain können Sie:
Ihre Rememberizer-Wissensdatenbank in RAG (Retrieval Augmented Generation)-Anwendungen nutzen
Chatbots erstellen, die Zugriff auf Ihre Dokumente und Daten haben
Frage-Antwort-Systeme entwickeln, die Ihr Wissen nutzen
Agenten entwickeln, die über Ihre Informationen suchen und schlussfolgern können
Die Integration ist im Modul langchain_community.retrievers
verfügbar.
Bevor Sie beginnen, benötigen Sie:
Ein Rememberizer-Konto mit Common Knowledge
Einen API-Schlüssel für den Zugriff auf Ihr Common Knowledge
Eine Python-Umgebung mit installiertem LangChain
Installieren Sie die erforderlichen Pakete:
Wenn Sie planen, OpenAI-Modelle zu verwenden (wie in den folgenden Beispielen gezeigt):
Es gibt zwei Möglichkeiten, den RememberizerRetriever
zu authentifizieren:
Umgebungsvariable: Setzen Sie die Umgebungsvariable REMEMBERIZER_API_KEY
Direkter Parameter: Übergeben Sie den API-Schlüssel direkt bei der Initialisierung des Retrievers
Die Klasse RememberizerRetriever
akzeptiert diese Parameter:
top_k_results
int
10
Anzahl der Dokumente, die aus der Suche zurückgegeben werden
rememberizer_api_key
str
None
API-Schlüssel zur Authentifizierung (optional, wenn als Umgebungsvariable gesetzt)
Hinter den Kulissen führt der Retriever API-Aufrufe an den Suchendpunkt von Rememberizer mit zusätzlichen konfigurierbaren Parametern durch:
prev_chunks
Anzahl der Chunks vor dem übereinstimmenden Chunk, die einbezogen werden sollen (Standard: 2)
next_chunks
Anzahl der Chunks nach dem übereinstimmenden Chunk, die einbezogen werden sollen (Standard: 2)
return_full_content
Ob der gesamte Dokumentinhalt zurückgegeben werden soll (Standard: true)
Hier ist ein einfaches Beispiel zum Abrufen von Dokumenten von Rememberizer mit LangChain:
Jedes Dokument, das vom Retriever zurückgegeben wird, hat:
page_content
: Der Textinhalt des übereinstimmenden Dokumentchunks
metadata
: Zusätzliche Informationen über das Dokument
Beispiel für die Metadatenstruktur:
Dieses Beispiel erstellt ein Frage-Antwort-System, das Informationen von Rememberizer abruft und GPT-3.5 verwendet, um Antworten zu formulieren:
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", # Einfachste Methode - alle Dokumente einfach in den Prompt stopfen retriever=retriever, return_source_documents=True )
response = qa_chain.invoke({"query": "Was ist RAG im Kontext von KI?"})
print(f"Antwort: {response['result']}") print("\nQuellen:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
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 = [ "Was ist RAG?", "Wie nutzen große Sprachmodelle es?", "Was sind die Einschränkungen dieses Ansatzes?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Frage: {question}") print(f"Antwort: {response['answer']}\n")
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Konfiguriere ein weiteres Abrufgerät
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Rememberizer-Ergebnisse haben ein höheres Gewicht )
Überprüfen Sie die Rohsuchergebnisse, bevor Sie sie an LLM weitergeben, um Abrufprobleme zu identifizieren
Für detaillierte Anweisungen zur Erstellung von Common Knowledge und zur Generierung eines API-Schlüssels siehe .
LangChain
LangChain
Rememberizer
in Rememberizer
- Ein alternativer Ansatz für die KI-Integration