Integrazione con LangChain
Scopri come integrare Rememberizer come un recuperatore LangChain per fornire alla tua applicazione LangChain l'accesso a una potente ricerca nel database vettoriale.
Integrazione LangChain
Rememberizer si integra con LangChain attraverso la classe RememberizerRetriever, consentendoti di incorporare facilmente le capacità di ricerca semantica di Rememberizer nelle tue applicazioni alimentate da LangChain. Questa guida spiega come configurare e utilizzare questa integrazione per costruire applicazioni LLM avanzate con accesso alla tua base di conoscenza.
Introduzione
LangChain è un framework popolare per costruire applicazioni con modelli di linguaggio di grandi dimensioni (LLM). Integrando Rememberizer con LangChain, puoi:
Utilizzare la tua base di conoscenza Rememberizer nelle applicazioni RAG (Generazione Aumentata da Recupero)
Creare chatbot con accesso ai tuoi documenti e dati
Costruire sistemi di domande e risposte che sfruttano la tua conoscenza
Sviluppare agenti che possono cercare e ragionare sulle tue informazioni
L'integrazione è disponibile nel modulo langchain_community.retrievers.
Iniziare
Requisiti
Prima di iniziare, hai bisogno di:
Un account Rememberizer con Conoscenza Comune creato
Una chiave API per accedere alla tua Conoscenza Comune
Un ambiente Python con LangChain installato
Per istruzioni dettagliate su come creare Conoscenza Comune e generare una chiave API, vedere Registrazione e Utilizzo delle Chiavi API.
Installazione
Installa i pacchetti richiesti:
Se prevedi di utilizzare i modelli OpenAI (come mostrato negli esempi qui sotto):
Configurazione dell'autenticazione
Ci sono due modi per autenticare il RememberizerRetriever:
Variabile d'ambiente: Imposta la variabile d'ambiente
REMEMBERIZER_API_KEYParametro diretto: Passa la chiave API direttamente durante l'inizializzazione del recuperatore
Opzioni di Configurazione
La classe RememberizerRetriever accetta questi parametri:
top_k_results
int
10
Numero di documenti da restituire dalla ricerca
rememberizer_api_key
str
None
Chiave API per l'autenticazione (opzionale se impostata come variabile d'ambiente)
Dietro le quinte, il recuperatore effettua chiamate API all'endpoint di ricerca di Rememberizer con parametri configurabili aggiuntivi:
prev_chunks
Numero di chunk prima del chunk corrispondente da includere (predefinito: 2)
next_chunks
Numero di chunk dopo il chunk corrispondente da includere (predefinito: 2)
return_full_content
Se restituire il contenuto completo del documento (predefinito: true)
Utilizzo di Base
Ecco un semplice esempio di recupero di documenti da Rememberizer utilizzando LangChain:
Imposta la tua chiave API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
Inizializza il recuperatore
retriever = RememberizerRetriever(top_k_results=5)
Ottieni documenti pertinenti per una query
docs = retriever.get_relevant_documents(query="Come funzionano gli embedding vettoriali?")
Visualizza il primo documento
if docs: print(f"Documento: {docs[0].metadata['name']}") print(f"Contenuto: {docs[0].page_content[:200]}...")
Esempi Avanzati
Costruire un Sistema di Domande e Risposte RAG
Questo esempio crea un sistema di domande e risposte che recupera informazioni da Rememberizer e utilizza GPT-3.5 per formulare risposte:
Imposta le chiavi API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Inizializza il recuperatore e il modello linguistico
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
Crea una catena di QA di recupero
qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # Metodo più semplice - basta inserire tutti i documenti nel prompt retriever=retriever, return_source_documents=True )
Fai una domanda
response = qa_chain.invoke({"query": "Che cos'è RAG nel contesto dell'IA?"})
Stampa la risposta
print(f"Risposta: {response['result']}") print("\nFonti:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
Imposta le chiavi API
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
Inizializza i componenti
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
Crea la catena conversazionale
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
Esempio di conversazione
questions = [ "Che cos'è RAG?", "Come lo utilizzano i modelli di linguaggio di grandi dimensioni?", "Quali sono i limiti di questo approccio?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Domanda: {question}") print(f"Risposta: {response['answer']}\n")
Crea recuperatori
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Configura un altro recuperatore
Crea un insieme con punteggio ponderato
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # I risultati di Rememberizer hanno un peso maggiore )
Esamina i risultati di ricerca grezzi prima di passarli a LLM per identificare problemi di recupero
Risorse correlate
Guida concettuale Retriever di LangChain
Guide pratiche Retriever di LangChain
Documentazione API di Rememberizer
Archivi vettoriali in Rememberizer
Creare un GPT di Rememberizer - Un approccio alternativo per l'integrazione dell'IA
Last updated