Integración de LangChain

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 en el flujo de trabajo posterior.

Preparación

Necesitarás una clave API: puedes obtener una después de crear un conocimiento común en https://rememberizer.ai. 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 usa para encontrar documentos en el conocimiento común de Rememberizer.ai

Ejemplos

Uso básico

# 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 de Gran Escala?",
]
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 de Gran Escala (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 de Gran Escala? 

**Respuesta**: Los Modelos de Lenguaje de Gran Escala (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 transformador, para entender el contexto en el lenguaje humano, lo que les permite interpretar mejor 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 de Cloudflare Workers. 

Ayúdanos proporcionando comentarios sobre esta página de documentación:

Last updated