{"id":19674917,"url":"https://github.com/ahbiels/agent-medical","last_synced_at":"2026-05-07T06:31:00.637Z","repository":{"id":239206779,"uuid":"798789849","full_name":"Ahbiels/Agent-medical","owner":"Ahbiels","description":"Um agente virtual criado no Dialogflow CX - um serviço de criação de chatbot do google - que responde perguntas sobre Covid19 e Saúde mental com base em dados armazenados no Cloud Storage, e consumido pelo DataStore","archived":false,"fork":false,"pushed_at":"2024-05-10T16:53:51.000Z","size":3435,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-27T05:44:45.694Z","etag":null,"topics":["chatbot","cloudstorage","csv","datastore","dialogflow","dialogflow-cx","etl","faq","gcp","generative-ai","generator","pandas","python","shell-script"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ahbiels.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-10T13:29:43.000Z","updated_at":"2024-05-10T16:53:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"119820a7-b0e7-446b-92b0-683d22d065e2","html_url":"https://github.com/Ahbiels/Agent-medical","commit_stats":null,"previous_names":["ahbiels/agent-medical"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ahbiels/Agent-medical","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahbiels%2FAgent-medical","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahbiels%2FAgent-medical/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahbiels%2FAgent-medical/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahbiels%2FAgent-medical/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ahbiels","download_url":"https://codeload.github.com/Ahbiels/Agent-medical/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ahbiels%2FAgent-medical/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32725891,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-07T02:14:30.463Z","status":"ssl_error","status_checked_at":"2026-05-07T02:14:29.405Z","response_time":62,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatbot","cloudstorage","csv","datastore","dialogflow","dialogflow-cx","etl","faq","gcp","generative-ai","generator","pandas","python","shell-script"],"created_at":"2024-11-11T17:20:17.261Z","updated_at":"2026-05-07T06:31:00.622Z","avatar_url":"https://github.com/Ahbiels.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Criação de um Agente Virtual Médico\n\nO agente virtual desenvolvido no Dialogflow é projetado para fornecer respostas precisas e úteis sobre COVID-19 e saúde mental. Ele emprega um conjunto robusto de FAQs armazenadas no Google Cloud Storage e acessadas através do Google Cloud Data Storage. Essa integração garante que o agente possa acessar as informações mais atualizadas e fornecer respostas confiáveis aos usuários.\n\n### Ferramentas Utilizadas\n- **Generative Fallback**: Utilizado para permitir que o agente lide com qualquer tipo de entrada do usuário no início do diálogo.\n- *Generators*: Empregado para traduzir a fala do agente com base na entidade \"language\" fornecida pelo usuário.\n- **Data Store**: Configurado para automatizar as respostas FAQ com base nos arquivos .csv armazenados no Cloud Storage.\n\n### Pré-requisitos\n- Ter uma conta no Google Cloud\n- Ter o arquivo **agent_hospital-agent.zip**, que contém o agente virtual configurado (encontra-se nesse repositório)\n\n### Criando a Cloud Function\nPara criar a Cloud Function e enviar os arquivos .csv, execute o seguinte código no terminal (Observação: é necessário ter o gcloud instalado):\n\n```sh\n#!/bin/bash\n\n# Configurando o uso da GCP localmente\ngcloud auth login\ngcloud projects list\ngcloud config set project \u003cPROJECT_ID\u003e\ngcloud config list\n\n# Criando o cloud storage, habilitando o versionamento e copiando os arquivos para o storage\ngsutil mb -l us -c standard -b on --pap enforced gs://faq-covid-19-dialogflow\ngsutil versioning set on gs://faq-covid-19-dialogflow\n\ngsutil mb -l us -c standard -b on --pap enforced gs://faq-mental-health-dialogflow\ngsutil versioning set on gs://faq-mental-health-dialogflow\n\ngsutil cp ./files/files_gold/covid_19/* gs://faq-covid-19-dialogflow\ngsutil cp ./files/files_gold/mental-health/* gs://faq-mental-health-dialogflow\n```\n\n### Configurar o Agente Virtual\n- Primeiro, vamos acessar \u003ca href=\"https://dialogflow.cloud.google.com/cx/\"\u003eDialogflow CX\u003c/a\u003e\n  - Se solicitar para ativar a API do dialogflow, ative-a\n- Selecione o projeto atual (se não houver, crie um na \u003ca href=\"https://console.cloud.google.com/\"\u003eConsole da Google Cloud \u003c/a\u003e).\n- Clique em \"Create Agent\".\n- Selecione \"Build your own\".\n- Atribua um nome, defina a \"Location\" como **Global** e clique em \"Create\".\n- Após a criação, volte para o \u003ca href=\"https://dialogflow.cloud.google.com/cx/\"\u003eDialogflow CX\u003c/a\u003e, selecione o projeto e vá para os três pontos do agente virtual criado, clique em Restore.\n- Selecione \"Upload\" e carregue o arquivo zip agent_hospital-agent.zip.\n- Clique em \"Restore\".\n\n\u003cimg src=\"./docs/Images/restore.png\"\u003e\n\u003cimg src=\"./docs/Images/upload.png\"\u003e\n\nO agente virtual está configurado com sucesso.\n\n### Criando o Data Store\nApesar de termos configurado o Agente virtual, ele ainda não está conectado a nenhum Data Store.\n\nPara criar, siga os passos abaixo:\n\nPara criar, siga os passos abaixo:\n- Vá para o \u003ca href=\"https://dialogflow.cloud.google.com/cx/\"\u003eDialogflow CX\u003c/a\u003e\n- Abra o agente configurado.\n- Selecione um dos fluxos (para esse passo-a-passo, selecione o \"flow-covid19\").\n- Clicar no Start Page\n- Clique em \"Add State Handler\" e habilite o Data Store.\n\n\u003cimg src=\"./docs/Images/datastore.png\"\u003e\n\n- Agora, clique no \"+\" ao lado do Data Store.\n- Na seção Data Store, clique em **Create Vertex AI Search and Conversation App**.\n\n\u003cimg src=\"./docs/Images/vertexai.png\"\u003e\n\nVocê será redirecionado para o \u003ca href=\"https://console.cloud.google.com/gen-app-builder\"\u003eAgent builder\u003c/a\u003e\n- Se for solicitado para ativar a API, ative-a\n- Atribua o nome **faq-covid** em \"Company name\" e clique em \"CONTINUE\".\n- Clique em **CREATE DATA STORE**\n- Selecione Cloud Storage e depois em CONTINUE\n- Clique em \"BROWSE\" e selecione o Cloud Storage **faq-covid-19-dialogflow**\n- Selecione **CSV for structured FAQ data (only for chat)** e  clique em \"CONTINUE\".\n\n\u003cimg src=\"./docs/Images/import-data.png\"/\u003e\n\n- Deixe a Localização como global e atribua o nome **faq-covid**\n- Clique em \"CREATE\".\n\nApós a criação, selecione o Data Store criado e clique em \"CREATE\" para criar o aplicativo no Agent Builder.\n\nDepois de criado, você será direcionado para a seguinte tela:\n\n\u003cimg src=\"./docs/Images/apps.png\"/\u003e\n\nClique em \"New Data Store\" e repita o mesmo processo para criar um Data Store chamado faq-mentalhealth, usando a Cloud Storage **faq-mental-health-dialogflow**\n\n### Conectando o Data Store no Dialogflow\nVoltando para o \u003ca href=\"https://dialogflow.cloud.google.com/cx/\"\u003eDialogflow CX\u003c/a\u003e, recarregue a página para que o Data Store apareça.\n\n\u003e Observação: Talvez seja necessário habilitar o Data Store no \"Add State Handler\" novamente.\n\n- Clique no \"+\" ao lado do Data Store.\n- Na seção Data Store, vá para o campo \"FAQ documents\" e selecione o faq-covid.\n\n\u003cimg src=\"./docs/Images/faq.png\"\u003e\n\n### Traduzindo com Base no Input do Usuário\n\nAgora, para traduzir todas as respostas do chatbot com base na linguagem escolhida pelo usuário:\n- Na mesma tela, vá para \"Generators\".\n- Selecionar o **translate_choose_lenguage**\n- No campo Text, insira **$request.knowledge.answers[0]**\n  - O campo Text é especificado na configuração do Generator.\n  - O parâmetro **$request.knowledge.answers[0]** é a resposta do Agente com base no Data Store configurado.\n- No campo Language, insira **$session.params.lenguage**\n  - O campo Language também é especificado na configuração do Generator\n  - O Parametro **$session.params.lenguage** é a entidade configurada para receber a linguagem fornecida pelo usuário na intenção\n- No campo Output parameter, insira o nome **$request.generative.output**\n  - Este parâmetro é a resposta do Generator, e o nome é opcional.\n- Por fim, insira a resposta do Generator em \"Agent Says\".\n\n\u003cimg src=\"./docs/Images/generators.png\"\u003e\n\nClique em \"Save\" e repita o mesmo processo no fluxo **flow-healthmental**\n\n### Testando\n\u003e Observação: É necessário aguardar que a integração esteja completa e as permissões estejam configuradas corretamente para que o teste seja efetivo.\n\nClique em \"Test Agent\" para testar o Agente virtual criado.\n\nTeste na seguinte ordem:\n- \"Oi\"\n- \"Meu nome é Júlio\"\n- \"Quero Português\"\n- \"Vamos falar sobre o COVID-19\"\n- \"O que é o COVID-19?\"\n- \"Quais são os sintomas?\"\n- \"Agora vamos falar sobre saúde mental\"\n- \"Qual a importância da saúde mental?\"\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahbiels%2Fagent-medical","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fahbiels%2Fagent-medical","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fahbiels%2Fagent-medical/lists"}