Crie um sistema de geração aumentada por recuperação (RAG) com o Vector Retrieval Service for Milvus (Milvus) e a plataforma Dify.
Contexto
Princípios do RAG
Modelos grandes de linguagem podem "alucinar", ou seja, gerar informações incorretas quando seu conhecimento interno é limitado. A geração aumentada por recuperação (RAG) resolve esse problema ao conectar o modelo a uma base de conhecimento externa. Um sistema RAG eficiente exige um banco de dados vetorial robusto.
Este tópico demonstra como integrar o Milvus e o Dify para criar uma aplicação RAG de nível empresarial. O exemplo evidencia o valor de um banco de dados vetorial na resolução do problema da "última milha" em IA.
Dify
O Dify é uma plataforma open source de desenvolvimento de aplicações de IA com fluxos de trabalho low-code. Ele simplifica a criação de aplicações de IA ao integrar backend como serviço (BaaS) e LLMOps.
A plataforma fornece infraestrutura de backend (serviços de API, gerenciamento de dados), eliminando a necessidade de os desenvolvedores construírem tudo do zero. Sua interface visual de orquestração facilita a engenharia de prompt. O mecanismo RAG integrado conecta-se a bases de conhecimento privadas, como documentos corporativos e bancos de dados. Isso permite que o LLM gere respostas específicas do domínio, precisas e rastreáveis, com menos alucinações.
Pré-requisitos
Instância do Milvus criada. Criar uma instância do Milvus.
Alibaba Cloud Model Studio ativado e chave de API obtida. Obter um App ID e um Workspace ID.
Docker e Docker Compose instalados. Instalar e usar o Docker e o Docker Compose.
Procedimento
Etapa 1: Instale o Dify
-
Clone o projeto open source do Dify do GitHub para sua máquina local.
git clone https://github.com/langgenius/dify.git -
Acesse o diretório de implantação e faça backup do arquivo de configuração .env.
cd dify/docker/ cp .env.example .env -
Modifique as seguintes configurações no arquivo .env.
# Vector storage engine configuration VECTOR_STORE=milvus # Specifies Milvus as the vector storage engine # Milvus connection information MILVUS_URI=http://YOUR_ALIYUN_MILVUS_ENDPOINT:19530 MILVUS_USER=YOUR_ALIYUN_MILVUS_USER MILVUS_PASSWORD=YOUR_ALIYUN_MILVUS_PASSWORDSubstitua os valores de espaço reservado pelas suas informações reais.
Parâmetro
Descrição
MILVUS_URIEndpoint da instância do Milvus. Formato:
http://<endereço IP público>:<porta>.-
<endereço IP público>: disponível na página Details da instância do Milvus. -
<porta>: disponível na página Details da instância do Milvus. O padrão é 19530.
MILVUS_USERNome de usuário definido durante a criação da instância do Milvus.
MILVUS_PASSWORDSenha do usuário configurada ao criar a instância do Milvus.
-
-
Execute o Dify.
docker compose up -d --build[root@xxx /docker]# docker compose up -d --build [+] Running 15/15 ✔ Network docker_default Created ✔ Network docker_milvus Created ✔ Network docker_ssrf_proxy_network Created ✔ Container docker-db-1 Healthy ✔ Container docker-redis-1 Started ✔ Container docker-sandbox-1 Started ✔ Container milvus-etcd Started ✔ Container milvus-minio Started ✔ Container docker-ssrf_proxy-1 Started ✔ Container docker-web-1 Started ✔ Container docker-plugin_daemon-1 Started ✔ Container docker-worker-1 Started ✔ Container docker-api-1 Started ✔ Container milvus-standalone Started ✔ Container docker-nginx-1 Started -
Abra
http://127.0.0.1/em um navegador para acessar o Dify. Defina a conta e a senha de administrador e faça login.NotaSe o Dify estiver em execução em um servidor remoto (instância ECS ou máquina virtual), substitua
127.0.0.1pelo endereço IP público ou nome de domínio do servidor. Certifique-se de que o servidor esteja acessível publicamente.Insira seu Email, Username e Password (mínimo de 8 caracteres, contendo letras e números) e clique em Set up.
Etapa 2: Configure modelos
Clique em na foto de perfil no canto superior direito e selecione Settings.
No painel de navegação à esquerda, selecione Model Provider. Localize o Qwen e clique em Install.
Após instalar o modelo, selecione-o e insira a chave de API do Alibaba Cloud Model Studio.
No painel System Model Settings, configure o System Inference Model, Embedding Model, Rerank Model, speech-to-text model e text-to-speech model. Em seguida, clique em Save.
Etapa 3: Crie uma base de conhecimento
Na parte superior da página, clique em Knowledge e, em seguida, clique em Create Knowledge.
Em Data source, selecione Import Existing Text. Baixe os dados de exemplo (README.md) e faça o upload.
-
Modifique os parâmetros conforme necessário e clique em Save & Process.
Use os valores padrão para os parâmetros principais: método de indexação High quality, configuração de recuperação vector retrieval, Rerank Model gte-rerank ativado, Top K 3, Score Threshold 0,5.
Neste exemplo, modifique os seguintes parâmetros:
Maximum chunk length: defina como 1024.
Embedding Model: selecione text-embedding-v1.
A base de conhecimento será criada após a conclusão do processamento.
O resumo confirma as configurações: modo de fragmentação Custom, pré-processamento de texto substituindo espaços, novas linhas e tabulações consecutivos, método de indexação High quality, configuração de recuperação vector retrieval. Clique em Go to Documentation para visualizar os detalhes.
Etapa 4: Verifique a recuperação vetorial
Acesse o console do Vector Retrieval Service for Milvus. Selecione sua instância do Milvus e clique em Attu Manager no canto superior direito. Na página do Attu, verifique se a collection correspondente foi criada. Gerenciamento da ferramenta Attu.
Etapa 5: Validar o desempenho do RAG
Clique em Studio na parte superior da página e selecione Create from Template.
Pesquise e selecione o modelo Knowledge Retrieval + Chatbot.
Na caixa de diálogo, clique em Create.
-
Selecione o nó Knowledge Retrieval e defina a base de conhecimento criada na etapa anterior.
O fluxo de trabalho conecta os nós nesta ordem: START → KNOWLEDGE RETRIEVAL → LLM (qwen-max) → ANSWER. A variável de consulta é
sys.query. Selecione o nó LLM e defina o modelo como qwen-max.
No canto superior direito, clique em Publish e, em seguida, clique em Publish Update.
Clique em Run para abrir a página de teste. Insira uma pergunta relacionada ao conteúdo da base de conhecimento para validar a resposta.