Plugin de recuperação do ChatGPT com Zilliz e Milvus
Introdução
A OpenAI, o laboratório de pesquisa em inteligência artificial, anunciou recentemente que tornou open-source o código de um plugin de recuperação de base de conhecimento. Este projeto, no qual estive envolvido, permite que o ChatGPT amplie suas informações recuperando dados baseados em conhecimento a partir de trechos de documentos relevantes de várias fontes de dados. Neste post do blog, discutirei as implicações deste projeto e os benefícios que ele oferece para empresas.
O Plugin de Recuperação de Base de Conhecimento
O plugin de recuperação de base de conhecimento é uma ferramenta que permite que o ChatGPT recupere informações de trechos de documentos relevantes hospedados por uma parte externa. O ChatGPT pode recuperar dados pertinentes de várias fontes que você coletou e armazenou, como arquivos, notas ou e-mails, fazendo perguntas ou expressando necessidades em linguagem natural. Este recurso oferece uma maneira fácil e eficiente para o ChatGPT recuperar informações, tornando-o mais preciso e confiável.
Benefícios para Empresas
As empresas podem se beneficiar muito deste plugin ao disponibilizar seus documentos internos para seus funcionários por meio do ChatGPT. Isso oferece uma maneira simplificada para os funcionários recuperarem informações de documentos internos sem pesquisar em várias fontes. Também garante que as informações recuperadas sejam precisas e atualizadas. Desenvolvedores também podem usar este plugin para hospedar suas próprias bases de conhecimento, facilitando a recuperação de dados de suas próprias fontes.
Como funciona
O plugin usa o modelo de embeddings text-embedding-ada-002 da OpenAI para gerar embeddings de partes de documentos e, em seguida, armazena e consulta o embedding em um banco de dados vetorial. É aqui que eu entro. Trabalhei com a equipe da OpenAI para tornar Milvus e Zilliz um dos bancos de dados vetoriais preferidos para armazenar esses embeddings.
A API simples expõe os endpoints do plugin para inserir ou atualizar, consultar e excluir documentos. Você pode refinar os resultados de pesquisa usando filtros de metadados por fonte, data, autor etc. Para manter o Milvus ou Zilliz atualizado com os documentos mais recentes, o plugin pode processar e armazenar continuamente documentos de várias fontes de dados, usando webhooks recebidos para os endpoints de inserção/atualização e exclusão.
Aqui está um exemplo rápido usando o Zilliz Plugin para encontrar a política de DRM nos termos de Serviço (TOS) da Apple. O ChatGPT começa pesquisando o prompt dentro do Zilliz Cloud e depois resume os resultados. Em seguida, o ChatGPT acessa o Zilliz por meio do plugin de recuperação para buscar os dados mais relevantes.
Como configurar o Zilliz Cloud
Com o Zilliz Cloud, você simplesmente precisa criar uma conta e configurar sua instância com seus embeddings. Aqui está o guia de início rápido e as variáveis de ambiente no plugin de recuperação que você precisa configurar:
Variáveis de ambiente
| Name | Required | Description |
|---|---|---|
DATASTORE | Yes | Nome do datastore, definido como zilliz |
BEARER_TOKEN | Yes | Seu token secreto |
OPENAI_API_KEY | Yes | Sua chave de API da OpenAI |
ZILLIZ_COLLECTION | Optional | Nome da coleção Zilliz. O padrão é um UUID aleatório |
ZILLIZ_URI | Optional | URI para a instância Zilliz |
ZILLIZ_USER | Optional | Nome de usuário Zilliz |
MILVUS_USER | Optional | Senha Zilliz |
Depois de configurar isso, execute o seguinte teste para confirmar que a integração está funcionando com este comando.
pytest ./tests/datastore/providers/zilliz/test_zilliz_datastore.py
Como configurar o Milvus
Claro, se você preferir o Milvus de código aberto, pode implantar e gerenciar o Milvus usando Docker Compose, Helm, K8's Operator ou Ansible. Siga as instruções para começar.
Variáveis de ambiente
| Nome | Obrigatório | Descrição |
|---|---|---|
DATASTORE | Sim | Nome do datastore, definido como milvus |
BEARER_TOKEN | Sim | Seu token bearer |
OPENAI_API_KEY | Sim | Sua chave de API da OpenAI |
MILVUS_COLLECTION | Opcional | Nome da coleção Milvus, o padrão é um UUID aleatório |
MILVUS_HOST | Opcional | IP do host Milvus, o padrão é localhost |
MILVUS_PORT | Opcional | Porta Milvus, o padrão é 19530 |
MILVUS_USER | Opcional | Nome de usuário do Milvus se RBAC estiver habilitado, o padrão é None |
MILVUS_PASSWORD | Opcional | Senha do Milvus se necessária, o padrão é None |
Depois de configurar isso, execute o seguinte teste para confirmar que a integração está funcionando com este comando.
pytest ./tests/datastore/providers/milvus/test_milvus_datastore.py
Implante o plugin
Com o plugin testado, podemos passar para a implantação. O ChatGPT acessa plugins enviando solicitações para onde quer que o servidor do seu plugin esteja em execução, seja Amazon ECS, Fly.io, Heroku etc. Para um guia detalhado sobre como configurar isso, dê uma olhada na seção Deployment no readme do GitHub.
O recurso Memory
Um dos recursos legais deste novo plugin é um recurso que eles chamam de memory. Isso dá ao ChatGPT a capacidade de lembrar informações de conversas e armazená-las em um banco de dados vetorial para uso posterior.
Agradecimentos
Este foi um projeto divertido e eu gostaria de agradecer à equipe da OpenAI de Isabella Fulford e à equipe da Ziliz de Frank Liu e Robert Guo. Se você tiver algum feedback ou quiser experimentá-lo por conta própria, confira o repositório do GitHub. Eu, pessoalmente, estou ansioso para contribuir com uma das muitas ótimas ideias listadas no readme do ChatGPT Retrieval Plugin!
Continue lendo

Why and How to Migrate from Self-Hosted Milvus to Zilliz Cloud
A simple, step-by-step guide to migrating from Milvus to Zilliz Cloud. Learn both endpoint and backup methods for a smooth, scalable vector database migration.

1 Table = 1000 Words? Foundation Models for Tabular Data
TableGPT2 automates tabular data insights, overcoming schema variability, while Milvus accelerates vector search for efficient, scalable decision-making.

Bringing AI to Legal Tech: The Role of Vector Databases in Enhancing LLM Guardrails
Discover how vector databases enhance AI reliability in legal tech, ensuring accurate, compliant, and trustworthy AI-powered legal solutions.



