Sistemas de perguntas e respostas corporativos frequentemente têm dificuldade em fornecer respostas precisas. Ao criar uma aplicação RAG (geração aumentada por recuperação) que integra o Dify ao alibaba cloud Tablestore como um banco de dados vetorial, você obtém uma recuperação de conhecimento altamente precisa e respostas inteligentes a perguntas.
Como funciona
O Tablestore é um banco de dados vetorial de alto desempenho que fornece respostas a consultas em nível de milissegundos. Ele oferece suporte a pesquisas híbridas, combinando recuperação vetorial e de texto completo. Uma única tabela pode armazenar dezenas de bilhões de pontos de dados vetoriais. O Dify orquestra a aplicação e fornece a interface do usuário, simplificando o processo de criação e implantação de aplicações RAG.
Uma aplicação RAG implementa perguntas e respostas inteligentes por meio do seguinte processo principal:
Vetorização de conhecimento: O Dify divide automaticamente os documentos corporativos em segmentos de conhecimento, converte-os em representações vetoriais e os armazena em um banco de dados vetorial do Tablestore.
Pesquisa de similaridade: Quando um usuário faz uma pergunta, o sistema recupera rapidamente os segmentos de conhecimento mais relevantes do Tablestore.
Geração aumentada: O conhecimento recuperado é combinado com a pergunta do usuário e enviado a um modelo de linguagem grande para gerar uma resposta precisa e bem fundamentada.
Prepare o ambiente de implantação
Crie uma instância do Tablestore
O Tablestore atua como o banco de dados vetorial para a aplicação RAG. Ele armazena as representações vetorizadas dos seus documentos e fornece pesquisas de similaridade eficientes.
Faça login no Tablestore console. Na parte superior da página, selecione uma região para a instância, como
China (Hangzhou).-
Clique em Create Instance e selecione CU Mode (formerly On-demand Mode). Defina os parâmetros da instância conforme descrito na lista a seguir. Mantenha as configurações padrão para os outros itens de configuração.
Instance Name: Insira um nome para a instância.
Instance Type: Selecione High-performance.
Clique em OK para criar a instância.
Crie uma instância ecs
A instância ecs atua como o ambiente de execução para a aplicação Dify. Ela requer recursos de computação suficientes para oferecer suporte ao cluster de contêineres docker.
-
Crie uma instância ecs com as seguintes configurações. Você pode manter as configurações padrão para os outros parâmetros.
Billing Method: Selecione Pay-As-You-Go.
Region: Selecione uma região para a instância. Por motivos de rede, este tutorial usa a região China (Hong Kong).
Network and Zone: Selecione a Virtual Private Cloud (VPC) e a zona padrão.
-
Instance: Clique em All Instance Types, pesquise e selecione
ecs.e-c1m2.large.NotaSe este tipo de instância estiver esgotado, selecione outro.
Images: Selecione Public Image e escolha alibaba cloud Linux (alibaba cloud Linux 3.2104 LTS 64-bit).
System Disks: Defina a capacidade do disco ESSD Entry para 40 GiB.
Public IP Address: Selecione Assign Public IPv4 Address.
Bandwidth Billing Method: Selecione Pay-by-traffic para economizar custos.
Maximum Bandwidth: Selecione 5 Mbps ou superior.
Security Group: Selecione Existing Security Group.
Logon Credential: Selecione Custom Password, defina o nome de login como root e defina sua Logon Password. Guarde a senha em um local seguro.
Implante e acesse o Dify
Etapa 1: Instale o ambiente docker
O Dify usa uma implantação em contêineres. Você deve primeiro instalar o docker e o docker Compose na sua instância ecs para gerenciar a orquestração de contêineres.
-
Instale o plug-in dnf-plugins-core.
dnf -y install dnf-plugins-core -
Adicione o repositório oficial do docker.
dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
Instale o docker Engine e o docker Compose.
dnf -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -
Inicie o service do docker e ative-o para iniciar automaticamente na inicialização do sistema.
systemctl enable --now docker
Etapa 2: Implante o service do Dify
Em seguida, obtenha o source do Dify e configure as variáveis de ambiente, incluindo os parâmetros de conexão para o Tablestore como o banco de dados vetorial.
-
Instale a ferramenta de controle de versão Git.
yum -y install git -
Clone o repositório do Dify.
git clone https://github.com/langgenius/dify.git -
Acesse o diretório de implantação do docker.
cd dify/docker -
Copie o modelo de arquivo de ambiente.
cp .env.example .env -
Edite o arquivo de ambiente.
vi .envModifique os seguintes itens de configuração:
Parâmetro
Descrição
VECTOR_STORE
O tipo de banco de dados vetorial. Defina como
tablestore.TABLESTORE_ENDPOINT
ImportantePor padrão, as novas instâncias do Tablestore têm o acesso à rede pública desativado. Para usar um endpoint público, acesse o Tablestore console. Na página Instance Management, acesse a aba Network Management. Na seção Allowed Network Type, selecione Internet e clique em Configure para salvar a configuração.
Acesse o Tablestore console. Em Instances, clique no alias da instância para acessar a página Instance Management. Copie o nome e o endpoint da instância. Selecione um endpoint com base na sua implantação:
Se a instância ecs e a instância do Tablestore estiverem na mesma região, você poderá usar o endpoint público ou o endpoint da VPC.
Se a instância ecs e a instância do Tablestore estiverem em regiões diferentes, você deverá usar o endpoint público.
TABLESTORE_INSTANCE_NAME
TABLESTORE_ACCESS_KEY_ID
Acesse a página Gerencie AccessKey para criar um AccessKey para sua conta alibaba cloud. Obtenha e salve o ACCESS_KEY_ID e o ACCESS_KEY_SECRET.
TABLESTORE_ACCESS_KEY_SECRET
-
Inicie o cluster de contêineres do Dify.
docker compose up -dUma inicialização bem-sucedida mostra a seguinte saída:
✔ Network docker_default Created 0.1s ✔ Network docker_ssrf_proxy_network Created 0.1s ✔ Container docker-sandbox-1 Started 0.8s ✔ Container docker-redis-1 Started 1.0s ✔ Container docker-ssrf_proxy-1 Started 1.3s ✔ Container docker-web-1 Started 1.0s ✔ Container docker-db-1 Started 0.9s ✔ Container docker-plugin_daemon-1 Started 2.4s ✔ Container docker-api-1 Started 2.4s ✔ Container docker-worker-1 Started 2.3s ✔ Container docker-nginx-1 Started 3.8s
Etapa 3: Configure as regras de acesso do grupo de segurança
Para acessar a interface de gerenciamento do Dify pela internet, abra a porta necessária no grupo de segurança da ecs.
Acesse o ecs console. Para a instância de destino, clique em .
-
Configure uma regra de grupo de segurança: Defina Action como Allow e Protocol Type como Web HTTP Traffic Access. Para Destination, insira a porta do service do Dify (o padrão é 80).
Defina Priority como
1e Source como0.0.0.0/0para permitir o acesso de qualquer endereço IPv4. Clique em OK para salvar a regra.
Etapa 4: Acesse a interface do Dify
Em um navegador, acesse http://server_ip, onde server_ip é o endereço ip público da sua instância ecs. Ao acessar esta página pela primeira vez, você é redirecionado para uma página de inicialização. Siga as instruções para configurar uma conta de administrador. Após a conclusão da configuração, o sistema faz o login automaticamente.
A página de inicialização inclui campos para Email, Username e Password. A senha deve conter letras e números e ter pelo menos 8 caracteres. Após preencher os detalhes, clique em Setup.
Crie a aplicação RAG e verifique os resultados
Etapa 1: Configure os services de modelo e uma chave de API
A aplicação RAG requer um modelo de linguagem grande para entender perguntas e gerar respostas, e um modelo de Embedding para converter texto em representações vetoriais.
-
Instale um provedor de modelo e configure sua chave de API.
Na página home do Dify, clique no seu avatar de usuário e, em seguida, clique em Settings no menu suspenso.
Na página Settings, clique em Model Provider, selecione Tongyi e clique em Instale.
-
Após a instalação, na lista de modelos a serem configurados, clique em Setup.
O botão Setup está localizado na área API-KEY no cartão do provedor de modelo (por exemplo, Tongyi).
-
Siga as instruções na tela para obter uma API key do alibaba cloud Model Studio e insira-a aqui. Em seguida, clique em Salve.
No formulário de configuração, defina Use International Endpoint como No.
-
Configure os modelos padrão do sistema.
Na página Model Provider, clique em System Model Settings à direita da Model List.
-
Use os seguintes modelos recomendados ou selecione outros modelos que atendam às suas necessidades.
System Reasoning Model: Selecione qwen3-max-preview.
Embedding Model: Selecione text-embedding-v4.
Rerank Model: Selecione gte-rerank-v2.
Speech-to-Text Model: Selecione paraformer-realtime-v2.
Text-to-Speech Model: Selecione tts-1.
Após configurar os modelos, pressione a tecla ESC para retornar à página home do Dify.
Etapa 2: Crie uma base de conhecimento
A base de conhecimento é um componente principal da aplicação RAG. Ela armazena documentos corporativos e fornece recuperação inteligente.
Na página home do Dify, clique em Knowledge e, em seguida, clique em Crie conhecimento.
Clique em I want to create an empty Knowledge. Na caixa de diálogo Crie um conhecimento vazio, insira um nome para a base de conhecimento (por exemplo, Tablestore) e clique em Crie.
Na página de detalhes da base de conhecimento, clique em Add file. Selecione o arquivo de amostra Model_Studio_Series_Mobile_Phone_Product_Introduction.docx e clique em Next para configurar a segmentação e limpeza de texto.
-
Configure os parâmetros de processamento: defina Index Method como High Quality e Retrieval Setting como hybrid search. Após configurar os parâmetros, clique em Salve e processe. Você pode clicar em Acesse o documento e verifique o status de processamento do documento enviado.
Quando o documento for processado, a coluna de status exibirá Available.
Você pode acessar o Tablestore console e visualize os dados de conhecimento salvos no banco de dados vetorial.
Na aba Gerencie dados da tabela de índice vetorial, cada registro de dados de conhecimento inclui as colunas id (chave primária), metadata, metadata_tags, page_content e vector. Isso indica que o documento de conhecimento foi analisado e gravado com sucesso no banco de dados como embeddings vetoriais.
Etapa 3: Crie um assistente e verifique o RAG
Por fim, crie uma aplicação de chatbot. Ao comparar suas respostas antes e depois de adicionar a base de conhecimento, você pode verificar a capacidade de aumento de recuperação da aplicação RAG.
Na página home do Dify, clique em Studio e, em seguida, clique em Crie do zero.
-
Selecione o modelo Beginner-friendly e escolha o tipo de aplicativo Chatbot. Insira um nome para a aplicação e clique em Crie.
Após a criação, você é direcionado para a interface de configuração Orchestrate.
-
Teste o chatbot fazendo uma pergunta, por exemplo,
What are the Model Studio phone models?. Nesta etapa, a resposta do assistente pode ser imprecisa ou ter falta de detalhes.Neste momento, nenhum Knowledge foi adicionado na página Orchestrate e o prompt está vazio. A resposta do assistente é baseada apenas no conhecimento geral do modelo grande. Ele interpreta "Model Studio" como a plataforma de service de modelo grande da alibaba cloud, em vez do domínio de negócios pretendido, confirmando a imprecisão.
Na página Orchestrate da aplicação, clique em Add ao lado de Knowledge, selecione a base de conhecimento criada anteriormente e clique em Restart para redefinir a área de depuração conforme solicitado.
-
Faça a mesma pergunta ao chatbot novamente. Usando a base de conhecimento, o assistente pode fornecer uma resposta precisa e detalhada.
A seção Citations abaixo da resposta do assistente mostra os documentos de origem recuperados. O modo de recuperação da base de conhecimento está configurado como High Quality·Hybrid Search.
Preparando para a produção
Melhores práticas
Para garantir alta disponibilidade para sua aplicação Dify em um ambiente de produção, recomendamos implantá-la no ACK. Para um plano de implementação detalhado, consulte a solução Implante o Dify rapidamente para criar aplicações de IA e selecione a opção de implantação em produção (usando o ACK).
Gerenciamento de riscos
Controle de acesso: Gerencie o acesso a recursos com RAM users. Controle rigorosamente os escopos de permissão, concedendo apenas as permissões operacionais necessárias relacionadas ao Tablestore e à ecs.
Auditoria: Ative o ActionTrail para registrar todas as operações de acesso e modificação em recursos críticos, garantindo que todas as ações sejam rastreáveis.
Backup de dados: Faça o back up dos seus dados do Tablestore periodicamente para evitar perda de dados por falhas acidentais ou erro humano.
Limpeza de recursos
Após concluir o tutorial, se você não planeja implantar a aplicação em um ambiente de produção, limpe os recursos da cloud prontamente para evitar cobranças desnecessárias.
-
Libere a instância ecs
Acesse o ecs console, encontre a instância de destino, clique em e siga as instruções na tela para liberar a instância.
-
Exclua a tabela de dados do Tablestore
Acesse o Tablestore console. Em Instances, clique no alias da instância de destino. Na página Instance Management, primeiro clique em Indexes à direita da tabela de dados de destino. Na página Indexes, exclua o índice de pesquisa. Em seguida, retorne à lista de tabelas de dados e, à direita da tabela de dados de destino, clique em para excluir a tabela de dados.
-
Libere a instância do Tablestore
Acesse o Tablestore console. Na lista de instâncias, encontre a instância de destino e clique em Release na coluna Actions.
Clique em OK para liberar a instância. Se for solicitada a verificação de identidade, siga as instruções na tela.