Integração com LangChain
Aprenda como integrar o Rememberizer como um recuperador LangChain para fornecer ao seu aplicativo LangChain acesso a uma poderosa busca em banco de dados vetorial.
Last updated
Aprenda como integrar o Rememberizer como um recuperador LangChain para fornecer ao seu aplicativo LangChain acesso a uma poderosa busca em banco de dados vetorial.
Last updated
O Rememberizer se integra ao LangChain através da classe RememberizerRetriever
, permitindo que você incorpore facilmente as capacidades de busca semântica do Rememberizer em suas aplicações alimentadas pelo LangChain. Este guia explica como configurar e usar essa integração para construir aplicações LLM avançadas com acesso à sua base de conhecimento.
LangChain é um framework popular para construir aplicações com grandes modelos de linguagem (LLMs). Ao integrar o Rememberizer com o LangChain, você pode:
Usar sua base de conhecimento do Rememberizer em aplicações RAG (Geração Aumentada por Recuperação)
Criar chatbots com acesso aos seus documentos e dados
Construir sistemas de perguntas e respostas que aproveitam seu conhecimento
Desenvolver agentes que podem pesquisar e raciocinar sobre suas informações
A integração está disponível no módulo langchain_community.retrievers
.
Antes de começar, você precisa:
Uma conta Rememberizer com Conhecimento Comum criada
Uma chave de API para acessar seu Conhecimento Comum
Ambiente Python com LangChain instalado
Instale os pacotes necessários:
Se você planeja usar modelos OpenAI (como mostrado nos exemplos abaixo):
Existem duas maneiras de autenticar o RememberizerRetriever
:
Variável de Ambiente: Defina a variável de ambiente REMEMBERIZER_API_KEY
Parâmetro Direto: Passe a chave da API diretamente ao inicializar o recuperador
A classe RememberizerRetriever
aceita estes parâmetros:
top_k_results
int
10
Número de documentos a retornar da busca
rememberizer_api_key
str
None
Chave da API para autenticação (opcional se definida como variável de ambiente)
Nos bastidores, o recuperador faz chamadas de API para o endpoint de busca do Rememberizer com parâmetros configuráveis adicionais:
prev_chunks
Número de partes antes da parte correspondente a incluir (padrão: 2)
next_chunks
Número de partes após a parte correspondente a incluir (padrão: 2)
return_full_content
Se deve retornar o conteúdo completo do documento (padrão: true)
Aqui está um exemplo simples de recuperação de documentos do Rememberizer usando LangChain:
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key"
retriever = RememberizerRetriever(top_k_results=5)
docs = retriever.get_relevant_documents(query="Como funcionam as incorporações vetoriais?")
if docs: print(f"Documento: {docs[0].metadata['name']}") print(f"Conteúdo: {docs[0].page_content[:200]}...")
Este exemplo cria um sistema de perguntas e respostas que recupera informações do Rememberizer e usa o GPT-3.5 para formular respostas:
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo", temperature=0)
qa_chain = RetrievalQA.from_chain_type( llm=llm, chain_type="stuff", # Método mais simples - apenas coloque todos os documentos no prompt retriever=retriever, return_source_documents=True )
response = qa_chain.invoke({"query": "O que é RAG no contexto da IA?"})
print(f"Resposta: {response['result']}") print("\nFontes:") for idx, doc in enumerate(response['source_documents']): print(f"{idx+1}. {doc.metadata['name']}")
os.environ["REMEMBERIZER_API_KEY"] = "rem_ck_your_api_key" os.environ["OPENAI_API_KEY"] = "your_openai_api_key"
retriever = RememberizerRetriever(top_k_results=5) llm = ChatOpenAI(model_name="gpt-3.5-turbo") memory = ConversationBufferMemory( memory_key="chat_history", return_messages=True )
conversation = ConversationalRetrievalChain.from_llm( llm=llm, retriever=retriever, memory=memory )
questions = [ "O que é RAG?", "Como os grandes modelos de linguagem o utilizam?", "Quais são as limitações dessa abordagem?", ]
for question in questions: response = conversation.invoke({"question": question}) print(f"Pergunta: {question}") print(f"Resposta: {response['answer']}\n")
rememberizer_retriever = RememberizerRetriever(top_k_results=3) web_retriever = WebResearchRetriever(...) # Configurar outro recuperador
ensemble_retriever = EnsembleRetriever( retrievers=[rememberizer_retriever, web_retriever], weights=[0.7, 0.3] # Os resultados do Rememberizer têm maior peso )
Examine os resultados de busca brutos antes de passar para o LLM para identificar problemas de recuperação
Para instruções detalhadas sobre como criar Conhecimento Comum e gerar uma chave de API, veja .
LangChain
LangChain
Rememberizer
no Rememberizer
- Uma abordagem alternativa para integração de IA