Construir um sistema RAG usando Langflow com Milvus
Este guia demonstra como utilizar o Langflow para construir um pipeline de Geração Aumentada por Recuperação (RAG) com o Milvus.
O sistema RAG melhora a geração de texto, recuperando primeiro documentos relevantes de uma base de conhecimentos e, em seguida, gerando novas respostas com base neste contexto. O Milvus é utilizado para armazenar e recuperar texto incorporado, enquanto o Langflow facilita a integração da recuperação e da geração num fluxo de trabalho visual.
O Langflow permite a fácil construção de condutas RAG, em que partes de texto são incorporadas, armazenadas no Milvus e recuperadas quando são efectuadas consultas relevantes. Isto permite que o modelo de linguagem gere respostas contextualmente informadas.
O Milvus funciona como uma base de dados vetorial escalável que encontra rapidamente texto semanticamente semelhante, enquanto o Langflow permite gerir a forma como o pipeline lida com a recuperação de texto e a geração de respostas. Juntos, eles fornecem uma maneira eficiente de criar um pipeline RAG robusto para aplicativos aprimorados baseados em texto.
Pré-requisitos
Antes de executar este notebook, certifique-se de ter as seguintes dependências instaladas:
$ python -m pip install langflow -U
Tutorial
Quando todas as dependências estiverem instaladas, inicie um painel do Langflow digitando o seguinte comando:
$ python -m langflow run
Em seguida, um painel aparecerá como mostrado abaixo: langflow
Queremos criar um projeto Vetor Store, por isso, primeiro temos de clicar no botão New Project (Novo projeto ). Aparece um painel e escolhemos a opção Vetor Store RAG: panel
Depois de o projeto Vetor Store Rag ser criado com êxito, o armazenamento de vectores predefinido é o AstraDB, embora queiramos utilizar o Milvus. Por isso, temos de substituir estes dois módulos do astraDB pelo Milvus para podermos utilizar o Milvus como armazenamento de vectores. astraDB
Passos para substituir o astraDB pelo Milvus:
- Remover os cartões existentes do Vetor Store. Clique em dois cartões AstraDB marcados a vermelho na imagem acima e prima backspace para os eliminar.
- Clique na opção Vetor Store na barra lateral, escolha Milvus e arraste-o para a tela. Faça isto duas vezes, pois precisamos de 2 cartões Milvus, um para armazenar o fluxo de trabalho de processamento de ficheiros e outro para o fluxo de trabalho de pesquisa.
- Ligue os módulos Milvus ao resto dos componentes. Veja a imagem abaixo para referência.
- Configure as credenciais Milvus para ambos os módulos Milvus. A maneira mais simples é usar o Milvus Lite, definindo o URI de conexão como milvus_demo.db. Se tiver um servidor Milvus auto-implantado ou no Zilliz Cloud, defina o URI de ligação para o endpoint do servidor e a Palavra-passe de ligação para o token (para o Milvus é a concatenação "
: ", para o Zilliz Cloud é a Chave API). Ver imagem abaixo para referência:
Demonstração da estrutura do Milvus
Integrar conhecimentos no sistema RAG
- Carregue um ficheiro como base de conhecimento do LLM através do módulo de ficheiros no canto inferior esquerdo. Neste caso, carregámos um ficheiro com uma breve introdução ao Milvus
- Execute o fluxo de trabalho de inserção, premindo o botão executar no módulo Milvus, no canto inferior direito. Isto irá inserir o conhecimento no armazenamento de vectores do Milvus
- Teste se o conhecimento está na memória. Abra o playground e pergunte qualquer coisa relacionada com o ficheiro que carregou.
porquê milvus