Integração com LangChain

Você pode integrar o Rememberizer como um recuperador LangChain para fornecer ao seu aplicativo LangChain acesso a uma poderosa busca em banco de dados vetorial.

Este notebook mostra como recuperar documentos do Rememberizer, o formato de documento que é utilizado a jusante.

Preparação

Você precisará de uma chave de API: você pode obter uma após criar um conhecimento comum em https://rememberizer.ai. Uma vez que você tenha uma chave de API, deve defini-la como uma variável de ambiente REMEMBERIZER_API_KEY ou passá-la como rememberizer_api_key ao inicializar RememberizerRetriever.

RememberizerRetriever tem os seguintes argumentos:

- opcional top_k_results: padrão=10. Use para limitar o número de documentos retornados.

- opcional rememberizer_api_key: necessário se você não definir a variável de ambiente REMEMBERIZER_API_KEY.

get_relevant_documents() tem um argumento, query: texto livre usado para encontrar documentos no conhecimento comum de Rememberizer.ai

Exemplos

Uso básico

# Configurar chave da 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="Como funcionam os Modelos de Linguagem Grande?")
docs[0].metadata  # meta-informações do Documento
{'id': 13646493,
 'document_id': '17s3LlMbpkTk0ikvGwV0iLMCj-MNubIaP',
 'name': 'O que é um modelo de linguagem grande (LLM)_ _ Cloudflare.pdf',
 'type': 'application/pdf',
 'path': '/langchain/O que é um modelo de linguagem grande (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])  # o conteúdo do Documento
antes, ou contextualizados de novas maneiras. em algum nível, eles "entendem" semântica na medida em que podem associar palavras e conceitos por seu significado, tendo visto-os agrupados dessa forma milhões ou bilhões de vezes. como os desenvolvedores podem começar rapidamente a construir seus próprios llms para criar aplicações llm, os desenvolvedores precisam de fácil acesso a múltiplos conjuntos de dados, e precisam de lugares para esses conjuntos de dados 

Uso em uma cadeia

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)
perguntas = [
    "O que é RAG?",
    "Como funciona os Modelos de Linguagem de Grande Escala?",
]
historico_chat = []

for pergunta in perguntas:
    resultado = qa.invoke({"question": pergunta, "chat_history": historico_chat})
    historico_chat.append((pergunta, resultado["answer"]))
    print(f"-> **Pergunta**: {pergunta} \n")
    print(f"**Resposta**: {resultado['answer']} \n")
-> **Pergunta**: O que é RAG? 

**Resposta**: RAG significa Geração Aumentada por Recuperação. É uma estrutura de IA que recupera fatos de uma base de conhecimento externa para melhorar as respostas geradas por Modelos de Linguagem de Grande Escala (LLMs) ao fornecer informações atualizadas e precisas. Esta estrutura ajuda os usuários a entenderem o processo gerativo dos LLMs e garante que o modelo tenha acesso a fontes de informação confiáveis. 

-> **Pergunta**: Como funciona os Modelos de Linguagem de Grande Escala? 

**Resposta**: Os Modelos de Linguagem de Grande Escala (LLMs) funcionam analisando conjuntos de dados massivos de linguagem para compreender e gerar texto em linguagem humana. Eles são baseados em aprendizado de máquina, especificamente aprendizado profundo, que envolve treinar um programa para reconhecer características de dados sem intervenção humana. Os LLMs utilizam redes neurais, especificamente modelos de transformadores, para entender o contexto na linguagem humana, tornando-os melhores na interpretação da linguagem mesmo em contextos vagos ou novos. Os desenvolvedores podem rapidamente começar a construir seus próprios LLMs acessando múltiplos conjuntos de dados e utilizando serviços como o Vectorize da Cloudflare e a plataforma AI Cloudflare Workers.

Ajude-nos fornecendo feedback sobre esta página de documentação:

Last updated