Lær hvordan du integrerer Rememberizer som en LangChain retriever for at give din LangChain-applikation adgang til kraftfuld søgning i vektordatabase.
LangChain Integration
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.
Introduktion
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.
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
)
Stil et spørgsmål
response = qa_chain.invoke({"query": "Hvad er RAG i konteksten af AI?"})
Print svaret
print(f"Svar: {response['result']}")
print("\nKilder:")
for idx, doc in enumerate(response['source_documents']):
print(f"{idx+1}. {doc.metadata['name']}")
import os
from langchain_community.retrievers import RememberizerRetriever
### Forståelse af Dokumentstruktur
Hvert dokument, der returneres af retrieveren, har:
- `page_content`: Tekstindholdet af det matchede dokumentchunk
- `metadata`: Yderligere information om dokumentet
Eksempel på metadata struktur:
```python
{
'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'}
}
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import RetrievalQA
from langchain_openai import ChatOpenAI
### Bygning af en samtaleagent med hukommelse
Dette eksempel opretter en samtaleagent, der kan opretholde samtalehistorik:
```python
import os
from langchain_community.retrievers import RememberizerRetriever
from langchain.chains import ConversationalRetrievalChain
from langchain.memory import ConversationBufferMemory
from langchain_openai import ChatOpenAI
## Bedste Praksis
### Optimering af hentningsydelse
1. **Vær specifik med forespørgsler**: Mere specifikke forespørgsler giver normalt bedre resultater
2. **Justér `top_k_results`**: Start med 3-5 resultater og justér baseret på applikationens behov
3. **Brug kontekstvinduer**: Hentningsværktøjet inkluderer automatisk kontekst omkring matchede bidder
### Sikkerhedsovervejelser
1. **Beskyt din API-nøgle**: Opbevar den sikkert ved hjælp af miljøvariabler eller værktøjer til hemmelighedshåndtering
2. **Opret dedikerede nøgler**: Opret separate API-nøgler til forskellige applikationer
3. **Rotér nøgler regelmæssigt**: Generer periodisk nye nøgler og udfas gamle
### Integrationsmønstre
1. **Forbehandlingsbehandling**: Overvej at forbehandle brugerforespørgsler for at forbedre søgerelevansen
2. **Efterbehandlingsfiltrering**: Filtrer eller ranger hentede dokumenter, før de sendes til LLM
3. **Hybrid søgning**: Kombiner Rememberizer med andre retrievere ved hjælp af `EnsembleRetriever`
```python
from langchain.retrievers import EnsembleRetriever
from langchain_community.retrievers import RememberizerRetriever, WebResearchRetriever
## Fejlfinding
### Almindelige problemer
1. **Godkendelsesfejl**: Bekræft, at din API-nøgle er korrekt og korrekt konfigureret
2. **Ingen resultater returneret**: Sørg for, at din Common Knowledge indeholder relevante oplysninger
3. **Ratebegrænsning**: Vær opmærksom på API-ratebegrænsninger for applikationer med høj volumen
### Fejlfindingstips
- Sæt LangChain debug-tilstand for at se detaljerede API-opkald:
```python
import langchain
langchain.debug = True