Puedes integrar Rememberizer como un recuperador de LangChain para proporcionar a tu aplicación LangChain acceso a una búsqueda poderosa en bases de datos vectoriales.
Este cuaderno muestra cómo recuperar documentos de Rememberizer, el formato de documento que se utiliza a continuación.
Preparación
Necesitarás una clave API: Puedes obtener una después de crear un conocimiento común. Las instrucciones detalladas sobre cómo crear un conocimiento común se pueden consultar en Registrando y usando claves API.
Una vez que tengas una clave API, debes configurarla como una variable de entorno REMEMBERIZER_API_KEY o pasarla como rememberizer_api_key al inicializar RememberizerRetriever.
RememberizerRetriever tiene estos argumentos:
- Opcional top_k_results: predeterminado=10. Úsalo para limitar el número de documentos devueltos.
- Opcional rememberizer_api_key: requerido si no configuras la variable de entorno REMEMBERIZER_API_KEY.
get_relevant_documents() tiene un argumento, query: texto libre que se utiliza para encontrar documentos en el conocimiento común de Rememberizer.ai
# Configurar la clave 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="¿Cómo funcionan los modelos de lenguaje grande?")
docs[0].metadata # meta-información del Documento
{'id': 13646493,
'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
'name': 'What is a large language model (LLM)_ _ Cloudflare.pdf',
'type': 'application/pdf',
'path': '/langchain/What is a large language model (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 contenido del Documento
antes, o contextualizados de nuevas formas. a cierto nivel "entienden" la semántica en el sentido de que pueden asociar palabras y conceptos por su significado, habiéndolos visto agrupados de esa manera millones o miles de millones de veces. cómo los desarrolladores pueden comenzar rápidamente a construir sus propios llms para crear aplicaciones llm, los desarrolladores necesitan fácil acceso a múltiples conjuntos de datos, y necesitan lugares para esos conjuntos de datos
Uso en una cadena
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 = [
"¿Qué es RAG?",
"¿Cómo funcionan los Modelos de Lenguaje Grande?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **Pregunta**: {question} \n")
print(f"**Respuesta**: {result['answer']} \n")
-> **Pregunta**: ¿Qué es RAG?
**Respuesta**: RAG significa Generación Aumentada por Recuperación. Es un marco de IA que recupera hechos de una base de conocimiento externa para mejorar las respuestas generadas por los Modelos de Lenguaje Grande (LLMs) al proporcionar información actualizada y precisa. Este marco ayuda a los usuarios a comprender el proceso generativo de los LLMs y asegura que el modelo tenga acceso a fuentes de información confiables.
-> **Pregunta**: ¿Cómo funcionan los Modelos de Lenguaje Grande?
**Respuesta**: Los Modelos de Lenguaje Grande (LLMs) funcionan analizando enormes conjuntos de datos de lenguaje para comprender y generar texto en lenguaje humano. Se basan en el aprendizaje automático, específicamente en el aprendizaje profundo, que implica entrenar un programa para reconocer características de los datos sin intervención humana. Los LLMs utilizan redes neuronales, específicamente modelos de transformadores, para entender el contexto en el lenguaje humano, lo que los hace mejores para interpretar el lenguaje incluso en contextos vagos o nuevos. Los desarrolladores pueden comenzar rápidamente a construir sus propios LLMs accediendo a múltiples conjuntos de datos y utilizando servicios como Vectorize de Cloudflare y la plataforma de IA Cloudflare Workers.