Dette notebook viser, hvordan man henter dokumenter fra Rememberizer, det dokumentformat, der bruges downstream.
Forberedelse
Du skal bruge en API-nøgle: Du kan få en efter at have oprettet en fælles viden. Detaljerede instruktioner om, hvordan man opretter fælles viden, kan findes på Registrering og brug af API-nøgler.
Når du har en API-nøgle, skal du indstille den som en miljøvariabel REMEMBERIZER_API_KEY eller videregive den som rememberizer_api_key, når du initialiserer RememberizerRetriever.
RememberizerRetriever har disse argumenter:
- Valgfri top_k_results: standard=10. Brug den til at begrænse antallet af returnerede dokumenter.
- Valgfri rememberizer_api_key: påkrævet, hvis du ikke indstiller miljøvariablen REMEMBERIZER_API_KEY.
get_relevant_documents() har ét argument, query: frit tekst, der bruges til at finde dokumenter i den fælles viden af Rememberizer.ai
# Opsæt API-nøgle
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="Hvordan fungerer store sprogmodeller?")
docs[0].metadata # meta-information om dokumentet
{'id': 13646493,
'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
'name': 'Hvad er en stor sprogmodel (LLM)_ _ Cloudflare.pdf',
'type': 'application/pdf',
'path': '/langchain/Hvad er en stor sprogmodel (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]) # indholdet af dokumentet
før, eller kontekstualiseret på nye måder. på en eller anden måde "forstår" de semantik, idet de kan associere ord og begreber efter deres betydning, efter at have set dem grupperet sammen på den måde millioner eller milliarder af gange. hvordan udviklere hurtigt kan begynde at bygge deres egne llms for at bygge llm-applikationer, har udviklere brug for nem adgang til flere datasæt, og de har brug for steder til disse datasæt
Brug i en kæde
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)
questions = [
"Hvad er RAG?",
"Hvordan fungerer store sprogmodeller?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **Spørgsmål**: {question} \n")
print(f"**Svar**: {result['answer']} \n")
-> **Spørgsmål**: Hvad er RAG?
**Svar**: RAG står for Retrieval-Augmented Generation. Det er en AI-ramme, der henter fakta fra en ekstern vidensbase for at forbedre de svar, der genereres af store sprogmodeller (LLMs), ved at give opdateret og præcis information. Denne ramme hjælper brugerne med at forstå den generative proces af LLM'er og sikrer, at modellen har adgang til pålidelige informationskilder.
-> **Spørgsmål**: Hvordan fungerer store sprogmodeller?
**Svar**: Store sprogmodeller (LLMs) fungerer ved at analysere massive datasæt af sprog for at forstå og generere menneskelig tekst. De er bygget på maskinlæring, specifikt dyb læring, som involverer at træne et program til at genkende funktioner i data uden menneskelig indblanding. LLM'er bruger neurale netværk, specifikt transformer-modeller, til at forstå konteksten i menneskesprog, hvilket gør dem bedre til at fortolke sprog, selv i vage eller nye kontekster. Udviklere kan hurtigt begynde at bygge deres egne LLM'er ved at få adgang til flere datasæt og bruge tjenester som Cloudflares Vectorize og Cloudflares Workers AI-platform.