Este artigo descreve a instalação do Dify via Docker e, em seguida, a integração do Ollama e XInference, e usando o Dify Crie rapidamente um aplicativo baseado em questionários de base de conhecimento.
- I. Introdução à Dify
- Instalação da Dify
- III. a Dify adiciona o modelo Ollama de perguntas e respostas
- IV. Questionário baseado na base de conhecimento Dify
- V. Links de documentação
I. Introdução à Dify
Dify é uma plataforma de desenvolvimento de aplicativos de modelagem de linguagem grande (LLM) de código aberto projetada para ajudar os desenvolvedores a criar e implantar rapidamente aplicativos de IA generativa. Aqui estão os principais recursos e funcionalidades do Dify [1]:
- Fusão dos conceitos de back-end como serviço e LLMOps A Dify combina os conceitos de Backend as Service e LLMOps para permitir que os desenvolvedores criem rapidamente aplicativos de IA generativa de nível de produção.
- Suporte para vários modelos Dify suporta centenas de modelos LLM proprietários e de código aberto, incluindo GPT, Mistral, Llama3 e outros, integrando perfeitamente modelos de vários provedores de inferência e soluções auto-hospedadas.
- Interface intuitiva de orquestração de prompts Dify fornece um Prompt IDE intuitivo para escrever prompts, comparar o desempenho do modelo e adicionar funcionalidades adicionais, como conversão de voz para aplicativos baseados em bate-papo.
- Motor RAG de alta qualidade Dify tem uma ampla gama de RAG Recursos que abrangem tudo, desde a ingestão de documentos até a recuperação, e suportam a extração de texto de formatos de documentos comuns, como PDF, PPT e outros.
- Integração da estrutura do agente O usuário pode basear a chamada de função LLM ou a chamada de função ReAct A Dify oferece mais de 50 ferramentas incorporadas, como Google Search, DELL-E, Stable Diffusion e WolframAlpha.
- Organização flexível de processos Dify: A Dify fornece uma tela visual avançada para criar e testar fluxos de trabalho de IA robustos, permitindo que os desenvolvedores projetem e otimizem intuitivamente seus processos de IA.
- Ferramentas abrangentes de monitoramento e análise Dify fornece ferramentas para monitorar e analisar os registros e o desempenho dos aplicativos, e os desenvolvedores podem melhorar continuamente as dicas, os conjuntos de dados e os modelos com base nos dados de produção e nas anotações.
- back-end como serviço Todos os recursos da Dify vêm com uma API, portanto, é fácil integrar a Dify em sua própria lógica de negócios.
Instalação da Dify
Copie o código do Github do Dify localmente [2].
git clone https://github.com/langgenius/dify.git
Vá para o diretório docker do código-fonte do dify e copie as variáveis de ambiente.
cd dify/doca
cp .env.example .env
Instale o aplicativo via docker compose.
doca compor up-d
Entre no contêiner do ollama e inicie oqwen2:7b
Modelos.
raiz@ip-172-31-30-167:~/dify/docker# docker pull ollama/ollama
raiz@ip-172-31-83-158:~/dify/docker# docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama --restart always -e OLLAMA_KEEP_ALIVE=-1 ollama/ollama
raiz@ip-172-31-83-158:~/dify/docker# docker exec -it ollama bash
raiz@b094349fc98c:/# ollama run qwen2:7b
III. a Dify adiciona o modelo Ollama de perguntas e respostas
Faça login na página inicial da Dify por meio do endereço IP público do EC2 mais a porta 80 e crie uma conta de administrador.
Faça login com a conta de administrador.
Clique em User - Settings (Usuário - Configurações).
Adicione o modelo Ollama.
aumentarqwen2:7b
Como o Ollama é iniciado localmente, defina o URL como o endereço IP local e a porta como a porta114341
(matemática) gênero
"O qwen2-7b-instruct suporta 131.072 tokens de contextos usando YARN, uma técnica para extrapolação de comprimento de modelo aumentado e, para proteger o uso normal e a saída adequada, recomenda-se que a API limite a entrada do usuário a 128.000 e a saída a um máximo de 6.144.[3]
"
Clique em Studio - Create a blank application (Criar um aplicativo em branco)
Crie um aplicativo do tipo "Chat Assistant" e defina o nome do aplicativo comoQwen2-7B
e clique em Create (Criar).
A configuração do prompt "Você é um assistente de IA" para o aplicativo pode ser usada em conjunto com a opçãoQwen2:7B
Realizar um teste de diálogo, aqui com o próprio modelo grande, sem introduzir uma base de conhecimento externa, que será introduzida posteriormente para comparar os resultados das respostas.
IV. Questionário baseado na base de conhecimento Dify
aumentarInferência de Xorbits
Modelos fornecidos.
aumentarIncorporação de texto
ou seja, o modelo de incorporação de texto, o nome do modelo ébge-m3
O URL do servidor éhttp://172.31.30.167:9997
(aqui está o IP da máquina local, ele também pode ser instalado em outras máquinas, a rede e a porta acessíveis são suficientes), iniciou o XInference na máquina local com antecedência e iniciou obge-m3
(consulte a postagem anterior).
aumentarRerank
ou seja, o modelo de rearranjo, o nome do modelo ébge-reraker-v2-m3
O URL do servidor éhttp://172.31.30.167:9997
(aqui está o IP da máquina local, ele também pode ser instalado em outras máquinas, a rede e a porta acessíveis são suficientes), iniciou o XInference na máquina local com antecedência e iniciou obge-reraker-v2-m3
(consulte a postagem anterior).
Visualizar as configurações padrão do sistema.
Clique em "Knowledge Base" - "Import Existing Text" - "Upload Text File" - selecione o documento "Provisions on the Facilitation and Regulation of Transborder Flow of Data".
Após a importação bem-sucedida, defina o método de recuperação de texto e ative a opçãoRerank
modelo, selecionebge-reranker-v2-m3
ative o modelo padrãoPontuação
O limite é 0,5 (ou seja, correspondências de texto abaixo de uma pontuação de 0,5 não são recuperadas e não são adicionadas ao contexto do modelo maior).
No aplicativo de bate-papo anterior, adicione a base de conhecimento criada acima e faça novamente a mesma pergunta ao modelo maior, e você poderá ver que o modelo respondeu em conjunto com a base de conhecimento.
Você pode clicar em "Prompt Log" para visualizar o arquivo de registro e pode visualizar os prompts do sistema, que colocam o conteúdo correspondente da base de conhecimento noMédio.
Clique na base de conhecimento criada - clique em "teste de recuperação", você pode inserir um parágrafo de texto para fazer a correspondência entre o texto na base de conhecimento e o texto correspondente, o texto correspondente tem uma pontuação de peso, o limite definido acima é 0,5, ou seja, maior que essa pontuação será exibido como "parágrafo de recuperação ".