Integrazione con LangChain

Puoi integrare Rememberizer come un recuperatore LangChain per fornire alla tua applicazione LangChain accesso a una potente ricerca nel database vettoriale.

Questo notebook mostra come recuperare documenti da Rememberizer, il formato del documento utilizzato a valle.

Preparazione

Avrai bisogno di una chiave API: puoi ottenerne una dopo aver creato una conoscenza comune su https://rememberizer.ai. Una volta che hai una chiave API, devi impostarla come variabile d'ambiente REMEMBERIZER_API_KEY o passarla come rememberizer_api_key quando inizializzi RememberizerRetriever.

RememberizerRetriever ha questi argomenti:

- opzionale top_k_results: predefinito=10. Usalo per limitare il numero di documenti restituiti.

- opzionale rememberizer_api_key: necessario se non imposti la variabile d'ambiente REMEMBERIZER_API_KEY.

get_relevant_documents() ha un argomento, query: testo libero utilizzato per trovare documenti nella conoscenza comune di Rememberizer.ai

Esempi

Utilizzo di base

# Imposta la chiave API
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="Come funzionano i modelli di linguaggio di grandi dimensioni?")
docs[0].metadata  # meta-informazioni del Documento
{'id': 13646493,
 'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
 'name': 'Che cos'è un modello di linguaggio di grandi dimensioni (LLM)_ _ Cloudflare.pdf',
 'type': 'application/pdf',
 'path': '/langchain/Che cos'è un modello di linguaggio di grandi dimensioni (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])  # un contenuto del Documento
prima, o contestualizzato in nuovi modi. a un certo livello " capiscono " la semantica in quanto possono associare parole e concetti in base al loro significato, avendo visto che sono stati raggruppati insieme in quel modo milioni o miliardi di volte. come gli sviluppatori possono iniziare rapidamente a costruire i propri llm per costruire applicazioni llm, gli sviluppatori hanno bisogno di un facile accesso a più set di dati e hanno bisogno di luoghi per quei set di dati 

Utilizzo in una catena

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 = [
    "Che cos'è RAG?",
    "Come funzionano i Modelli di Linguaggio di Grandi Dimensioni?",
]
chat_history = []

for question in questions:
    result = qa.invoke({"question": question, "chat_history": chat_history})
    chat_history.append((question, result["answer"]))
    print(f"-> **Domanda**: {question} \n")
    print(f"**Risposta**: {result['answer']} \n")
-> **Domanda**: Che cos'è RAG? 

**Risposta**: RAG sta per Retrieval-Augmented Generation. È un framework AI che recupera fatti da un database di conoscenze esterno per migliorare le risposte generate dai Modelli di Linguaggio di Grandi Dimensioni (LLM) fornendo informazioni aggiornate e accurate. Questo framework aiuta gli utenti a comprendere il processo generativo degli LLM e garantisce che il modello abbia accesso a fonti di informazioni affidabili. 

-> **Domanda**: Come funzionano i Modelli di Linguaggio di Grandi Dimensioni? 

**Risposta**: I Modelli di Linguaggio di Grandi Dimensioni (LLM) funzionano analizzando enormi set di dati di linguaggio per comprendere e generare testo in linguaggio umano. Sono costruiti su machine learning, in particolare deep learning, che prevede l'addestramento di un programma per riconoscere le caratteristiche dei dati senza intervento umano. Gli LLM utilizzano reti neurali, in particolare modelli transformer, per comprendere il contesto nel linguaggio umano, rendendoli migliori nell'interpretare il linguaggio anche in contesti vaghi o nuovi. Gli sviluppatori possono iniziare rapidamente a costruire i propri LLM accedendo a più set di dati e utilizzando servizi come Cloudflare's Vectorize e la piattaforma AI Cloudflare Workers. 

Aiutaci fornendo feedback su questa pagina di documentazione:

Last updated