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 montante.
Preparação
Você precisará de uma chave de API: Você pode obter uma após criar um conhecimento comum. Instruções detalhadas sobre como criar um conhecimento comum podem ser visitadas em Registrando e usando Chaves de API.
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 estes argumentos:
- Opcional top_k_results: padrão=10. Use-o 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 que é usado para encontrar documentos no conhecimento comum de Rememberizer.ai
# 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)
questions = [
"O que é RAG?",
"Como funcionam os Modelos de Linguagem de Grande Escala?",
]
chat_history = []
for question in questions:
result = qa.invoke({"question": question, "chat_history": chat_history})
chat_history.append((question, result["answer"]))
print(f"-> **Pergunta**: {question} \n")
print(f"**Resposta**: {result['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), fornecendo informações atualizadas e precisas. Essa estrutura ajuda os usuários a entender o processo gerativo dos LLMs e garante que o modelo tenha acesso a fontes de informação confiáveis.
-> **Pergunta**: Como funcionam os Modelos de Linguagem de Grande Escala?
**Resposta**: Os Modelos de Linguagem de Grande Escala (LLMs) funcionam analisando enormes conjuntos de dados de linguagem para compreender e gerar texto em linguagem humana. Eles são construídos com base em aprendizado de máquina, especificamente aprendizado profundo, que envolve treinar um programa para reconhecer características dos 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 começar rapidamente a construir seus próprios LLMs acessando múltiplos conjuntos de dados e utilizando serviços como o Vectorize da Cloudflare e a plataforma de IA Cloudflare Workers.