Por Han Fangyuan, "Dify no WeChat" autor do projeto de código aberto
1. visão geral
O WeChat, como o software de mensagens instantâneas mais popular, tem um grande volume de tráfego.
A janela de bate-papo amigável do WeChat é um aplicativo de IA natural LUI (Interface de usuário de idioma)/CUI (Comando Interface do usuário).
O WeChat não só tem o WeChat pessoal, mas também oferece canais de diálogo, como o número público, o WeChat empresarial, o aplicativo WeChat empresarial, o serviço de atendimento ao cliente WeChat empresarial, etc. Ele tem uma boa ecologia do WeChat.
Ao conectar o aplicativo Dify ao ecossistema WeChat, você pode criar um poderoso serviço inteligente de atendimento ao cliente que reduz consideravelmente os custos de atendimento ao cliente e também pode melhorar a experiência do cliente. Este tutorial tem o objetivo de ensiná-lo a usar o projeto Dify no WeChat tocando suas mãos e conectando o aplicativo Dify ao ecossistema WeChat.
2. dar acesso ao sistema pessoal da microsoft ### 2.1. preparação
2.1.1 Criação de um assistente de bate-papo
(1) Introdução à Dify
A Dify é uma excelente plataforma para LLMOps (Large Language Modelling Operations). Para obter uma introdução detalhada à Dify, consulte a documentação oficial Welcome to Dify | Chinese | Dify.
(2) Faça login na plataforma oficial de aplicativos da Dify
Em primeiro lugar, faça login na plataforma oficial de aplicativos da Dify. Você pode optar por usar o login do Github ou do Google. Além disso, você também pode consultar o tutorial oficial da Dify Docker Compose Deployment | Chinese | Dify Private Deployment, Dify é um projeto de código aberto que oferece suporte à implantação privada.
(3) Criação do aplicativo Dify Basic Orchestration Chat Assistant
Após um login bem-sucedido, vamos para a página da Dify e seguimos as etapas abaixo para criar um aplicativo básico de assistente de bate-papo de orquestração
- Clique em Studio na parte superior da página
- Criação de um aplicativo em branco
- Tipo de aplicativo Selecione Chat Assistant
- Opções de gráficos do Chat AssistantGráficos básicos
- Selecione o ícone do aplicativo e preencha um nome para o aplicativo, como Basic Orchestration Chat Assistant
- Clique para criar
Após a criação bem-sucedida, acessaremos a página mostrada acima e continuaremos a configurar o aplicativo
- Selecione o modelo, por exemplo, gpt-3.5-turbo-0125
- Configuração dos parâmetros do modelo
- Preencha os prompts do aplicativo
Após a conclusão da configuração, podemos testá-la na caixa de diálogo à direita e, após a conclusão do teste, faça o seguinte
- postagem
- atualização
- Acesso à API
(4) Gerar a chave da API do Assistente de chat de orquestração básica
Depois de clicar em "Access API", seremos redirecionados para a página de gerenciamento de API acima; nessa página, seguiremos as etapas abaixo para obter a chave de API:
- Clique na chave da API no canto superior direito
- Clique em Criar chave
- Copiar e salvar a chave
Depois de salvar a chave, você também precisa verificar o servidor de API no canto superior direito. Se o aplicativo for do site oficial da Dify, o endereço do servidor de API será "https://api.dify.ai/v1". Se for uma implantação privada, verifique o endereço do seu próprio servidor de API.
Isso conclui os preparativos para a criação de um assistente de bate-papo, e há apenas duas coisas que precisamos salvar nesta subseção:Chave da APIjunto comEndereço do servidor de API
2.1.2. faça o download do projeto Dify no WeChat
(1) Informações do projeto Dify no WeChat
Dify no WeChatser ChatGPT no WeChat A ramificação downstream da API da Dify, que implementa adicionalmente o acoplamento à API da Dify, suporte para o Assistente de bate-papo da Dify, suporte para ferramentas de invocação de agente e bases de conhecimento e suporte para fluxos de trabalho da Dify, consulte o repositório do GitHub Dify no WeChat para obter mais detalhes.
(2) Faça o download do código e instale as dependências
- Download do código do projeto
Cópia
gitclonehttps://github.com/hanfangyuan4396/dify-on-wechat
cddify-on-wechat/
- Instalação do python
O projeto Dify no WeChat é escrito em python.site oficial do pythonFaça o download e instale o python. Recomenda-se instalar o python 3.8 ou superior. Testei a versão 3.11.6 no ubuntu e ela funciona bem.
- Instale as dependências principais (obrigatório):
Cópia
pip3install-rrequirements.txt# Internamente, você pode adicionar o parâmetro "-i https://mirrors.aliyun.com/pypi/simple" no final desse comando para instalar as dependências usando a origem do espelho do AliCloud
- Dependências estendidas (opcional, recomendado):
Cópia
pip3install-rrequirements-optional.txt# Internamente, você pode adicionar o parâmetro "-i https://mirrors.aliyun.com/pypi/simple" no final do comando para instalar as dependências usando a origem do espelho do AliCloud
(3) Preencha o arquivo de configuração
Criamos um arquivo chamado config.json no diretório raiz do projeto com o seguinte conteúdo e criamos um arquivo no diretórioSubseção 2.1.1 (4) Finalmente salvoChave da APIjunto com Endereço do servidor de API Por favor, coloquedify_api_baseconfigurar como Endereço do servidor de API .;dify_api_keyconfigurar comoChave da APIOutras configurações permanecem inalteradas.
(PS: Muitos de vocês podem não ter seguido à risca as etapas fornecidas em meu tutorial.Tipo de assistente de bate-papodo aplicativo Dify, com uma observação especial sobre odify_app_typese você criar o método de configuraçãoAssistente de bate-papoConfigure o aplicativo para chatbot ; CriadoAgenteConfigure o aplicativo para agente ; criadofluxo de trabalhoConfigure o aplicativo para fluxo de trabalho )
Cópia
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "chatbot", "channel_type".
"channel_type": "wx", "model": "dify".
"modelo": "dify", "single_chat_pref".
"single_chat_prefix": [""],
"single_chat_reply_prefix":"",
"prefixo_de_chat_de_grupo": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
2.2 Acesso ao WeChat para assistentes de bate-papo de orquestração básica
2.2.1 Teste de início rápido
(1) Execute o seguinte comando no diretório raiz do projeto Dify on Wechat
Cópia
cddify-on-wechat
python3app.py# O comando geralmente é python app.py no Windows.
(2) Login do código de leitura
Este projeto usa o itchat para implementar o login pessoal do wechat; há o risco de bloqueio; recomenda-se usar oautenticação por nome realpassadoNúmero em miniatura do WeChatPara testar, após a execução do comando acima, podemos ver no console a impressão do código QR mostrado acima, usar o WeChat para escanear o código para fazer login, após o login, quando você vir os caracteres "itchat: Start auto replying.", dizendo que o login foi bem-sucedido, podemos testar.
(3) Teste de diálogo
Vemos que as respostas do bot do WeChat são consistentes com as respostas na página de teste da Dify. Neste ponto, parabéns por conectar com sucesso a Dify ao seu WeChat pessoal 🎉🎉🎉🎉🎉!
(PS: Alguns amigos aqui podem ver uma resposta normal à mensagem no registro, mas não receberam uma mensagem no WeChat, por favor Não envie mensagens para si mesmo em seu próprio WeChat )
(4) Implementação do servidor
- Implementação do código-fonte
Cópia
cddify-on-wechat
nohuppython3app.py&tail-fnohup.out# Executa o aplicativo em segundo plano e gera o código QR por meio de registro
- Implementação do docker compose
contêinervariável de ambientenão se esqueça desobrescreverconfig.json, modifique as variáveis de ambiente do arquivo docker/docker-compose.yml de acordo com sua configuração real; o método de configuração é o mesmo que o do arquivoSubseção 2.1.1 (4) A configuração do config.json é consistente com a do
Certifique-se de configurá-lo corretamente! DIFY_API_BASE , DIFY_API_KEYjunto comDIFY_APP_TYPEVariáveis de ambiente.
Cópia
versão:'2.0'
serviços.
dify-on-wechat: '2.0' serviços: '2.0' serviços: '2.0' serviços.
image:hanfangyuan/dify-on-wechat
nome_do_contêiner:dify-on-wechat
security_opt.
- seccomp:unconfined
security_opt: seccomp:unconfined
DIFY_API_BASE:'https://api.dify.ai/v1'
DIFY_API_KEY:'app-xx'
DIFY_APP_TYPE:'chatbot'
MODELO:'dify'
SINGLE_CHAT_PREFIX:'[""]'
PREFIXO_DE_CHAT_ÚNICO:'""'
GROUP_CHAT_PREFIX:'["@bot"]'
GROUP_NAME_WHITE_LIST:'["ALL_GROUP"]'
Em seguida, execute o seguinte comando para iniciar o contêiner
Cópia
cddify-on-wechat/docker# Digite o diretório da janela de encaixe
dockercomposeup-d# Inicie o contêiner do docker
dockerlogs-fdify-on-wechat# Exibir o código QR e fazer login
2.3 Conectando o assistente de bate-papo de orquestração de fluxo de trabalho ao WeChat
Depois de acessar o aplicativo básico de assistente de bate-papo da Dify no WeChat, aumentamos a dificuldade e tentamos acessar o aplicativo de assistente de bate-papo de orquestração de fluxo de trabalho no WeChat para obter um serviço de atendimento ao cliente inteligente do WeChat com conhecimento da plataforma da Dify para responder ao conhecimento relacionado ao fluxo de trabalho da Dify para nós.
2.3.1 Criação de uma base de conhecimento
(1) Faça o download do arquivo da base de conhecimento
Estamos aqui.repositório de documentos docifyFaça o download da documentação do Dify Workflow Introduction.
(2) Importação da base de conhecimento no Dify
Vá para a página Base de conhecimento para criar uma base de conhecimento
Escolha importar o texto existente, carregue o arquivo introduce.md recém-baixado e clique em next!
Selecione a seguinte configuração
- Configuração do segmento: segmentação e limpeza automáticas
- Método de indexação: alta qualidade
- Configurações de pesquisa: Pesquisa vetorial
Por fim, clique em salvar e processar
Vemos que a base de conhecimento está sendo processada para incorporação, aguarde alguns instantes para que a incorporação seja bem-sucedida.
2.3.2 Criação de assistentes de bate-papo de orquestração de fluxo de trabalho
Vamos para o Dify Studio e clicamos em Create from App Template (Criar a partir do modelo de aplicativo)
Usamos um modelo do tipo Base de conhecimento + Chatbot, definimos o ícone e o nome do aplicativo e clicamos em Criar!
Depois de acessar a página de orquestração do fluxo de trabalho, primeiro clique no nó Knowledge Retrieval (Recuperação de conhecimento) e, em seguida, clique no "+" mais à direita para adicionar uma base de conhecimento. Escolhemos a base de conhecimento introduce.md carregada anteriormente, que é uma introdução básica ao fluxo de trabalho do Dify. Por fim, clicamos em Add (Adicionar) e a configuração do nó da base de conhecimento está concluída.
Em seguida, selecione o nó LLM, clique em Set Context (Definir contexto) e selecione a variável de resultado, que contém os resultados da recuperação de conhecimento.
Depois de configurar o nó do LLM, clicamos em Preview para testá-lo e inserimos a pergunta: please introduce the dedify workflow. Você pode ver que a introdução correta ao fluxo de trabalho do Dify é finalmente exibida. Depois de testar corretamente, voltamos ao modo de edição.
Após retornar ao modo de edição, clique em Publish, Update e Access API, respectivamente
2.3.3 Gerar chave de API do assistente de bate-papo de orquestração de fluxo de trabalho
Depois de acessar a página de gerenciamento da API, consultamos a seção2.1.1 Subseção (4) Obtenção de uma chave de API para o aplicativo Base de conhecimento + Chatbotjunto comEndereço do servidor de API
2.3.4 Acesso ao WeChat
junto com2.1.2 Subseção (3) Da mesma forma, criamos um arquivo chamado config.json no diretório raiz do projeto, com o seguinte conteúdo, e também colocamos o arquivo dedify_api_baseconfigurar comoBase de conhecimento + Chatboto endereço do servidor de API do aplicativo, o dify_api_keyconfigurar comoBase de conhecimento + ChatbotChave de API para o aplicativo, outras configurações permanecem inalteradas
Cópia
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "chatbot", "channel_type".
"channel_type": "wx", "model": "dify".
"modelo": "dify", "single_chat_pref".
"single_chat_prefix": [""],
"single_chat_reply_prefix":"",
"prefixo_de_chat_de_grupo": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
Seguimos2.2.1 SubseçãoInicie o aplicativo e escaneie o código para fazer login e, em seguida, envie uma mensagem para o bot do WeChat para testá-lo
As respostas do bot do WeChat são consistentes com as da página de teste da Dify. Parabéns por dar um passo adiante e colocar o aplicativo de orquestração de fluxo de trabalho em seu WeChat pessoal. Você pode importar mais documentação oficial da Dify para sua base de conhecimento e permitir que o bot do WeChat responda a mais perguntas relacionadas à Dify para você.
2.4 Conexão de agentes ao WeChat
2.4.1 Criação de aplicativos de agente
Vá para a página Studio, clique em Create Blank App (Criar aplicativo em branco), selecione Agent (Agente), defina o ícone e o nome do aplicativo e, por fim, clique em Create (Criar)
Após a criação bem-sucedida, entraremos na página de configuração do aplicativo Agent, onde selecionamos o modelo de diálogo e adicionamos ferramentas. Primeiro, adicionamos a ferramenta de desenho DALL-E. A primeira vez que a ferramenta é usada precisa ser autorizada. Em geral, definimos a chave da API da OpenAI e o URL básico da OpenAI para usar a ferramenta de desenho DALL-E.
Após a autorização bem-sucedida, adicionamos a ferramenta de pintura DALL-E 3
Em seguida, adicione o mecanismo de busca DuckDuckGo e a ferramenta de matemática para testes subsequentes
Inserimos a pergunta "Search for the number of stars of the open source project Dify, what is this number multiplied by 3.14" (Pesquise o número de estrelas do projeto de código aberto Dify, qual é esse número multiplicado por 3,14), nos certificamos de que o aplicativo pode chamar a ferramenta corretamente, clicamos na versão, atualizamos e acessamos a API por sua vez!
2.4.2 Geração de chaves de API do agente
Continuamos a nos referir a2.1.1 Subseção (4) Obtendo um assistente inteligenteaplicadoChave da APIjunto comEndereço do servidor de API
2.4.3 Acesso ao WeChat
Criamos um arquivo chamado config.json no diretório raiz do projeto com o seguinte conteúdo e também colocamos o arquivodify_api_baseconfigurar comoassistente inteligenteO endereço do servidor de API do aplicativo;dify_api_keyconfigurar comoassistente inteligenteChave de API para o aplicativo, observando que o aplicativo é oassistente inteligentetambém é necessário colocar o aplicativo do tipodify_app_typedefinido como agente Outras configurações permanecem inalteradas.
Cópia
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "agent", "channel_type".
"channel_type": "wx", "model": "dify".
"model": "dify", "single_chat_prefix".
"single_chat_prefix": [""],
"single_chat_reply_prefix":"",
"prefixo_de_chat_de_grupo": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
referência contínua2.2.1 SubseçãoInicie o aplicativo e escaneie o código para fazer login e, em seguida, envie uma mensagem para o bot do WeChat para testá-lo
Você pode ver que o bot do WeChat pode usar as ferramentas de pesquisa e desenho normalmente. Mais uma vez, parabéns por colocar o aplicativo Dify Agent no WeChat. E também me parabenize, pois posso dormir primeiro depois de escrever isso.
2.5 Conectando fluxos de trabalho ao WeChat
2.5.1 Criação de aplicativos de fluxo de trabalho
Primeiramente, você precisa fazer o download do arquivo DSL que eu pré-criei com antecedência.Clique aqui para fazer o download. Quando o download estiver concluído, vá para a página do estúdio, clique em Importar arquivo DSL, carregue o arquivo que você baixou antecipadamente e, por fim, clique em Criar.
Depois de criado, siga as etapas acima para testar. Clique em Run (Executar) e digite hello para garantir que esse fluxo de trabalho produza resultados corretamente.
Você pode desenvolver esse fluxo de trabalho, mas para oTipo de fluxo de trabalhoO aplicativo, que tem um nome de variável de entrada muito flexível, para acessar mais facilmente o robô do WeChat, Dify no engajamento do projeto WeChatTipo de fluxo de trabalhoaplicação específicaA variável de entrada é denominada<strong>consulta</strong>
(matemática) gêneroA variável de saída é denominada<strong>texto</strong>
.
Depois de testar sem problemas, siga as etapas acima para publicar o aplicativo, clicando em Publish, Update e Access API, nessa ordem.
2.5.2 Geração de chaves de API de fluxo de trabalho
Referimo-nos igualmente ao2.1.1 Subseção (4) Aquisição de fluxos de trabalhoaplicadoChave da APIjunto com Endereço do servidor de API .
2.5.3 Acesso ao WeChat
Criamos um arquivo chamado config.json no diretório raiz do projeto com o seguinte conteúdo e também colocamos o arquivodify_api_baseconfigurar comofluxo de trabalhoO endereço do servidor de API do aplicativo;dify_api_keyconfigurar comofluxo de trabalhoChave de API para o aplicativo, observando que o aplicativo é ofluxo de trabalhotambém é necessário colocar o aplicativo do tipodify_app_typedefinido como fluxo de trabalho Outras configurações permanecem inalteradas.
Cópia
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"channel_type": "wx", "model": "dify".
"model": "dify", "single_chat_pref".
"single_chat_prefix": [""],
"single_chat_reply_prefix":"",
"prefixo_de_chat_de_grupo": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
cf. mesma referência2.2.1 SubseçãoInicie o programa e escaneie o código para fazer login e, em seguida, envie uma mensagem para o bot do WeChat para testá-lo.
Até agora, dominamos completamente como criar todos os tipos de aplicativos Dify: assistente de bate-papo básico, assistente de bate-papo de fluxo de trabalho, assistente inteligente, fluxo de trabalho, e também aprendemos como publicar os aplicativos acima como APIs e acessar o WeChat.
A seguir, descreverei como acessar o aplicativo em outros canais do WeChat, como o número público, o aplicativo WeChat da empresa, o atendimento ao cliente do WeChat da empresa e assim por diante.
3. acesso ao número pessoal do WeChat da empresa (somente no ambiente Windows)
- existem risco de ter seu número lacrado Use o WeChat da empresaviolinoteste (maquinário etc.)
- Ao fazer login na versão antiga do Enterprise WeChat, pode aparecer que a versão do Enterprise WeChat é muito baixa, não é possível fazer login na situação, referênciaedição1525Tente mudar para outro micro-sinal corporativo e tente novamente.
3.1 Faça o download e instale o Enterprise WeChat
Certifique-se de que você tenha um computador com Windows e, em seguida, faça o download e instale a versão específica do Microsoft Enterprise nesse computador.Link oficial para download(matemática) gêneroLinks alternativos para download.
3.2 Criação do aplicativo Dify
Estivemos na frente do 2.1.1 e 2.3.2 e2.4.1junto com2.5.1As subseções descrevem a criação de 4 aplicativos Dify diferentes, Basic Chat Assistant, Workflow Chat Assistant, Intelligent Assistant e Workflow, respectivamente, e você pode criar qualquer um deles de acordo com os tutoriais acima.
3.3 Download e instalação da Dify no WeChat
solo 2.1.2(2) faça o download do código e instale as dependências, para posteriormente seguir as dependências do ntwork, a etapa Certifique-se de que você tenha a versão 3.8, 3.9 ou 3.10 do python instalada. .
3.4 Instalação das dependências do ntwork
Como a fonte de instalação do ntwork não é muito estável, você pode fazer o download do arquivo whl correspondente e usar o arquivo whl para instalar o ntwork off-line.
A primeira coisa que você precisa fazer é verificar sua versão do python, digite python na linha de comando para ver as informações da versão e, em seguida, no campontwork-whlpara localizar o arquivo whl correspondente, execute opip install xx.whl
Instale as dependências do ntwork, observe que "xx.whl" é substituído pelo arquivo whl Caminho real .
Por exemplo, minhas informações de versão do python são
"Python 3.8.5 (padrão, 3 de setembro de 2020, 21:29:08) [MSC v.1916 64 bits (AMD64)]"
Você pode ver que a versão do python é 3.8.5 e é AMD64 O arquivo whl correspondente é ntwork-0.1.3-cp38-cp38-win_amd64.whl Você precisa executar o seguinte comando para instalar
Cópia
pipinstallyour-path/ntwork-0.1.3-cp38-cp38-win_amd64.whl
3.5 Preenchimento do arquivo de configuração
Criamos um arquivo chamado config.json no diretório raiz do projeto Dify no WeChat. Abaixo está o arquivo de configuração com o aplicativo de assistente inteligente da Dify como exemplo. Preencha as informações de dedify_api_base, dedify_api_key, dedify_app_type do aplicativo que você acabou de criar corretamente. O tipo é trabalho braçal
Cópia
{
"dify_api_base": "https://api.dify.ai/v1",
"dify_api_key": "app-xxx",
"dify_app_type": "agent", "channel_type".
"channel_type": "wework", "model": "dify".
"model": "dify", "single_chat_prefix".
"single_chat_prefix": [""],
"single_chat_reply_prefix":"",
"prefixo_de_chat_de_grupo": ["@bot"],
"group_name_white_list": ["ALL_GROUP"]
}
3.6 Faça login no WeChat
Não se esqueça de escanear o código em seu computador para fazer login no Enterprise WeChat com antecedência.
3.7 Lançamento do robô pessoal do WeChat
Execute o seguinte comando para iniciar o robô
Cópia
cddify-on-wechat
pythonapp.py
Podemos ver que o terminal exibe a seguinte mensagem. Aguarde a conclusão da inicialização do programa wework E, finalmente, a startup foi um sucesso.
Cópia
[INFO][2024-04-30 21:16:04][wework_channel.py:185] - Aguardando login ------
[INFO][2024-04-30 21:16:05][wework_channel.py:190] - Informações de login:>>>>user_id:xxx>>>>>>>>name.
[INFO][2024-04-30 21:16:05][wework_channel.py:191] - Atraso silencioso de 60s, aguardando que o cliente atualize os dados. ------
[INFO][2024-04-30 21:17:05][wework_channel.py:224] - Inicialização do programa wework concluída --------
Agora enviamos uma mensagem para o bot e podemos ver que o acesso foi bem-sucedido!
4. Dify Access Public
A ser atualizado~
5. acesso ao aplicativo WeChat da empresa
A ser atualizado~
6. acesso ao serviço de atendimento ao cliente WeChat da empresa
A ser atualizado~
7. pós-escrito
Sou assistente social de animais, a energia é muito limitada, só posso trabalhar à noite e nos fins de semana para manter o projeto Dify no WeChat, o progresso do meu projeto de desenvolvimento pessoal é muito lento, espero que você possa participar desse projeto, mais relações públicas, para que a ecologia do Dify se torne melhor!