LangChain-integration
Lær hvordan du integrerer Rememberizer som en LangChain retriever for at give din LangChain-applikation adgang til kraftfuld søgning i vektordatabase.
Last updated
Lær hvordan du integrerer Rememberizer som en LangChain retriever for at give din LangChain-applikation adgang til kraftfuld søgning i vektordatabase.
Last updated
Rememberizer integreres med LangChain gennem RememberizerRetriever
klassen, hvilket gør det muligt for dig nemt at inkorporere Rememberizers semantiske søgefunktioner i dine LangChain-drevne applikationer. Denne vejledning forklarer, hvordan du opsætter og bruger denne integration til at bygge avancerede LLM-applikationer med adgang til din vidensbase.
LangChain er et populært framework til at bygge applikationer med store sprogmodeller (LLMs). Ved at integrere Rememberizer med LangChain kan du:
Bruge din Rememberizer vidensbase i RAG (Retrieval Augmented Generation) applikationer
Oprette chatbots med adgang til dine dokumenter og data
Bygge spørgsmål-svar systemer, der udnytter din viden
Udvikle agenter, der kan søge og ræsonnere over dine oplysninger
Integrationen er tilgængelig i langchain_community.retrievers
modulet.
Før du begynder, skal du have:
En Rememberizer-konto med Common Knowledge oprettet
En API-nøgle til at få adgang til din Common Knowledge
Et Python-miljø med LangChain installeret
Installer de nødvendige pakker:
Hvis du planlægger at bruge OpenAI-modeller (som vist i eksemplerne nedenfor):
Der er to måder at godkende RememberizerRetriever
på:
Miljøvariabel: Sæt miljøvariablen REMEMBERIZER_API_KEY
Direkte parameter: Giv API-nøglen direkte, når du initialiserer retrieveren
RememberizerRetriever
klassen accepterer disse parametre:
top_k_results
int
10
Antal dokumenter der skal returneres fra søgningen
rememberizer_api_key
str
None
API-nøgle til autentificering (valgfri hvis sat som miljøvariabel)
Bag kulisserne foretager retrieveren API-opkald til Rememberizers søge-endpoint med yderligere konfigurerbare parametre:
prev_chunks
Antal chunks før den matchede chunk der skal inkluderes (standard: 2)
next_chunks
Antal chunks efter den matchede chunk der skal inkluderes (standard: 2)
return_full_content
Om der skal returneres fuldt dokumentindhold (standard: true)
Her er et simpelt eksempel på at hente dokumenter fra Rememberizer ved hjælp af LangChain:
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
retriever = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="Hvordan fungerer vektorembeddings?")
if docs: print(f"Dokument: {docs[0].metadata['name']}") print(f"Indhold: {docs[0].page_content[:200]}...")
Dette eksempel opretter et spørgsmål-svar system, der henter information fra Rememberizer og bruger GPT-3.5 til at formulere svar:
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", # Den simpleste metode - bare fyld alle dokumenter ind i prompten retriever=retriever, return_source_documents=True )
response = qa_chain.invoke({"query": "Hvad er RAG i konteksten af AI?"})
print(f"Svar: {response['result']}") print("\nKilder:") 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 = [ "Hvad er RAG?", "Hvordan bruger store sprogmodeller det?", "Hvad er begrænsningerne ved denne tilgang?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Spørgsmål: {question}") print(f"Svar: {response['answer']}\n")
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Konfigurer en anden retriever
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Rememberizer-resultater har højere vægt )
Undersøg rå søgeresultater, før de sendes til LLM for at identificere hentningsproblemer
For detaljerede instruktioner om oprettelse af Common Knowledge og generering af en API-nøgle, se .
LangChain
LangChain
Rememberizer
i Rememberizer
- En alternativ tilgang til AI-integration