Sie können Rememberizer als LangChain-Retriever integrieren, um Ihrer LangChain-Anwendung Zugriff auf leistungsstarke Vektordatenbanksuchen zu ermöglichen.
Dieses Notebook zeigt, wie man Dokumente aus Rememberizer im Dokumentformat abruft, das downstream verwendet wird.
Vorbereitung
Sie benötigen einen API-Schlüssel: Sie können einen erhalten, nachdem Sie ein gemeinsames Wissen erstellt haben. Detaillierte Anweisungen zur Erstellung eines gemeinsamen Wissens finden Sie unter Registrieren und Verwenden von API-Schlüsseln.
Sobald Sie einen API-Schlüssel haben, müssen Sie ihn als Umgebungsvariable REMEMBERIZER_API_KEY festlegen oder ihn als rememberizer_api_key übergeben, wenn Sie RememberizerRetriever initialisieren.
RememberizerRetriever hat diese Argumente:
- Optional top_k_results: standard=10. Verwenden Sie es, um die Anzahl der zurückgegebenen Dokumente zu begrenzen.
- Optional rememberizer_api_key: erforderlich, wenn Sie die Umgebungsvariable REMEMBERIZER_API_KEY nicht festgelegt haben.
get_relevant_documents() hat ein Argument, query: Freitext, der verwendet wird, um Dokumente im gemeinsamen Wissen von Rememberizer.ai zu finden.
# API-Schlüssel einrichten
from getpass import getpass
REMEMBERIZER_API_KEY = getpass()
import os
from langchain_community.retrievers import RememberizerRetriever
os.environ["REMEMBERIZER_API_KEY"] = REMEMBERIZER_API_KEY
retriever = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="Wie funktionieren große Sprachmodelle?")
docs[0].metadata # Metainformationen des Dokuments
{'id': 13646493,
'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
'name': 'Was ist ein großes Sprachmodell (LLM)_ _ Cloudflare.pdf',
'type': 'application/pdf',
'path': '/langchain/Was ist ein großes Sprachmodell (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'}}
print(docs[0].page_content[:400]) # Inhalt des Dokuments
before, or contextualized in new ways. on some level they "understand" semantics in that they can associate words and concepts by their meaning, having seen them grouped together in that way millions or billions of times. how developers can quickly start building their own llms to build llm applications, developers need easy access to multiple data sets, and they need places for those data sets
Verwendung in einer Kette
OPENAI_API_KEY = getpass()
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
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)
fragen = [
"Was ist RAG?",
"Wie funktionieren große Sprachmodelle?",
]
chat_history = []
for frage in fragen:
ergebnis = qa.invoke({"question": frage, "chat_history": chat_history})
chat_history.append((frage, ergebnis["answer"]))
print(f"-> **Frage**: {frage} \n")
print(f"**Antwort**: {ergebnis['answer']} \n")
-> **Frage**: Was ist RAG?
**Antwort**: RAG steht für Retrieval-Augmented Generation. Es ist ein KI-Rahmenwerk, das Fakten aus einer externen Wissensdatenbank abruft, um die von großen Sprachmodellen (LLMs) generierten Antworten zu verbessern, indem es aktuelle und genaue Informationen bereitstellt. Dieses Rahmenwerk hilft Benutzern, den generativen Prozess von LLMs zu verstehen und stellt sicher, dass das Modell Zugang zu zuverlässigen Informationsquellen hat.
-> **Frage**: Wie funktionieren große Sprachmodelle?
**Antwort**: Große Sprachmodelle (LLMs) funktionieren, indem sie massive Datensätze von Sprache analysieren, um menschliche Sprache zu verstehen und zu generieren. Sie basieren auf maschinellem Lernen, insbesondere tiefem Lernen, das darin besteht, ein Programm zu trainieren, um Merkmale von Daten ohne menschliches Eingreifen zu erkennen. LLMs verwenden neuronale Netzwerke, insbesondere Transformermodelle, um den Kontext in menschlicher Sprache zu verstehen, was sie besser darin macht, Sprache selbst in vagen oder neuen Kontexten zu interpretieren. Entwickler können schnell beginnen, ihre eigenen LLMs zu erstellen, indem sie auf mehrere Datensätze zugreifen und Dienste wie Cloudflares Vectorize und Cloudflare Workers AI-Plattform nutzen.