LangChain-Integration
Erfahren Sie, wie Sie Rememberizer als LangChain-Retriever integrieren, um Ihrer LangChain-Anwendung Zugriff auf leistungsstarke Vektordatenbanksuchen zu ermöglichen.
LangChain-Integration
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.
Einführung
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.
Erste Schritte
Voraussetzungen
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
Für detaillierte Anweisungen zur Erstellung von Common Knowledge und zur Generierung eines API-Schlüssels siehe Registrierung und Verwendung von API-Schlüsseln.
Installation
Installieren Sie die erforderlichen Pakete:
Wenn Sie planen, OpenAI-Modelle zu verwenden (wie in den folgenden Beispielen gezeigt):
Authentifizierungseinrichtung
Es gibt zwei Möglichkeiten, den RememberizerRetriever zu authentifizieren:
Umgebungsvariable: Setzen Sie die Umgebungsvariable
REMEMBERIZER_API_KEYDirekter Parameter: Übergeben Sie den API-Schlüssel direkt bei der Initialisierung des Retrievers
Konfigurationsoptionen
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)
Grundlegende Verwendung
Hier ist ein einfaches Beispiel zum Abrufen von Dokumenten von Rememberizer mit LangChain:
Verständnis der Dokumentstruktur
Jedes Dokument, das vom Retriever zurückgegeben wird, hat:
page_content: Der Textinhalt des übereinstimmenden Dokumentchunksmetadata: Zusätzliche Informationen über das Dokument
Beispiel für die Metadatenstruktur:
Fortgeschrittene Beispiele
Aufbau eines RAG-Frage-Antwort-Systems
Dieses Beispiel erstellt ein Frage-Antwort-System, das Informationen von Rememberizer abruft und GPT-3.5 verwendet, um Antworten zu formulieren:
API-Schlüssel einrichten
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Initialisiere den Retriever und das Sprachmodell
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
Erstelle eine Retrieval QA-Kette
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 )
Stelle eine Frage
response = qa_chain.invoke({"query": "Was ist RAG im Kontext von KI?"})
Drucke die Antwort
print(f"Antwort: {response['result']}") print("\nQuellen:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
API-Schlüssel einrichten
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Komponenten initialisieren
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
Erstellen Sie die Konversationskette
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
Beispielkonversation
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")
Erstelle Abrufgeräte
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Konfiguriere ein weiteres Abrufgerät
Erstellen Sie ein Ensemble mit gewichtetem Score
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
Verwandte Ressourcen
LangChain Retriever konzeptioneller Leitfaden
LangChain Retriever Anleitungen
Rememberizer API-Dokumentation
Vektor-Speicher in Rememberizer
Erstellen eines Rememberizer GPT - Ein alternativer Ansatz für die KI-Integration
Last updated