From 8c5d7f9a52218f4557ac2ede55329f8b8aaaa089 Mon Sep 17 00:00:00 2001 From: "Dilyara Zharikova (Baymurzina)" Date: Thu, 2 Nov 2023 17:22:52 +0300 Subject: [PATCH] feat: show up google api skill (#52) * feat: show up google api skill * fix: do not use envvars to send in google api skill * fix: timeout for google api skill * fix: do not wait for google api --- .../dream/docker-compose.override.yml | 1 - .../docker-compose.override.yml | 1 - .../dream_robot/docker-compose.override.yml | 1 - .../google_api/docker-compose.override.yml | 1 - .../multiskill_ai_assistant/dev.yml | 6 ++++++ .../docker-compose.override.yml | 15 +++++++++++++ .../pipeline_conf.json | 21 +++++++++++++++++++ skills/dff_google_api_skill/Dockerfile | 4 +--- .../dff_google_api_skill/scenario/response.py | 4 +--- .../dff-google-api-skill/environment.yml | 1 - .../dff-google-api-skill/service.yml | 1 - 11 files changed, 44 insertions(+), 12 deletions(-) diff --git a/assistant_dists/dream/docker-compose.override.yml b/assistant_dists/dream/docker-compose.override.yml index 7e094d5554..64db2893ed 100644 --- a/assistant_dists/dream/docker-compose.override.yml +++ b/assistant_dists/dream/docker-compose.override.yml @@ -373,7 +373,6 @@ services: args: SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill - ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY context: . dockerfile: ./skills/dff_google_api_skill/Dockerfile deploy: diff --git a/assistant_dists/dream_persona_openai_prompted/docker-compose.override.yml b/assistant_dists/dream_persona_openai_prompted/docker-compose.override.yml index 3ac51dbf06..d9be0d5fb2 100644 --- a/assistant_dists/dream_persona_openai_prompted/docker-compose.override.yml +++ b/assistant_dists/dream_persona_openai_prompted/docker-compose.override.yml @@ -141,7 +141,6 @@ services: args: SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill - ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY context: . dockerfile: ./skills/dff_google_api_skill/Dockerfile deploy: diff --git a/assistant_dists/dream_robot/docker-compose.override.yml b/assistant_dists/dream_robot/docker-compose.override.yml index 06dabd4d52..ad9602e543 100644 --- a/assistant_dists/dream_robot/docker-compose.override.yml +++ b/assistant_dists/dream_robot/docker-compose.override.yml @@ -259,7 +259,6 @@ services: args: SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill - ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY context: . dockerfile: ./skills/dff_google_api_skill/Dockerfile deploy: diff --git a/assistant_dists/google_api/docker-compose.override.yml b/assistant_dists/google_api/docker-compose.override.yml index 2f40a4da08..0ec3a0aeed 100644 --- a/assistant_dists/google_api/docker-compose.override.yml +++ b/assistant_dists/google_api/docker-compose.override.yml @@ -77,7 +77,6 @@ services: args: SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill - ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY context: . dockerfile: ./skills/dff_google_api_skill/Dockerfile deploy: diff --git a/assistant_dists/multiskill_ai_assistant/dev.yml b/assistant_dists/multiskill_ai_assistant/dev.yml index f995e50647..b53b3996d4 100644 --- a/assistant_dists/multiskill_ai_assistant/dev.yml +++ b/assistant_dists/multiskill_ai_assistant/dev.yml @@ -73,5 +73,11 @@ services: - "./common:/src/common" ports: - 8157:8157 + dff-google-api-skill: + volumes: + - "./skills/dff_google_api_skill:/src" + - "./common:/src/common" + ports: + - 8162:8162 version: "3.7" diff --git a/assistant_dists/multiskill_ai_assistant/docker-compose.override.yml b/assistant_dists/multiskill_ai_assistant/docker-compose.override.yml index 5d78bde940..b13fec1685 100644 --- a/assistant_dists/multiskill_ai_assistant/docker-compose.override.yml +++ b/assistant_dists/multiskill_ai_assistant/docker-compose.override.yml @@ -240,4 +240,19 @@ services: reservations: memory: 128M + dff-google-api-skill: + env_file: [ .env,.env_secret ] + build: + args: + SERVICE_PORT: 8162 + SERVICE_NAME: dff_google_api_skill + context: . + dockerfile: ./skills/dff_google_api_skill/Dockerfile + deploy: + resources: + limits: + memory: 128M + reservations: + memory: 128M + version: '3.7' diff --git a/assistant_dists/multiskill_ai_assistant/pipeline_conf.json b/assistant_dists/multiskill_ai_assistant/pipeline_conf.json index 1da6342045..05b2c5542a 100644 --- a/assistant_dists/multiskill_ai_assistant/pipeline_conf.json +++ b/assistant_dists/multiskill_ai_assistant/pipeline_conf.json @@ -96,6 +96,27 @@ } }, "skills": { + "dff_google_api_skill": { + "connector": { + "protocol": "http", + "timeout": 120.0, + "url": "http://dff-google-api-skill:8162/respond" + }, + "dialog_formatter": { + "name": "state_formatters.dp_formatters:dff_prompted_skill_formatter", + "skill_name": "dff_google_api_skill" + }, + "response_formatter": "state_formatters.dp_formatters:skill_with_attributes_formatter_service", + "previous_services": [ + "skill_selectors" + ], + "state_manager_method": "add_hypothesis", + "is_enabled": true, + "source": { + "component": "components/VJ7c3sLqEi.yml", + "service": "skills/dff_google_api_skill/service_configs/dff-google-api-skill" + } + }, "dff_dream_persona_prompted_skill": { "connector": { "protocol": "http", diff --git a/skills/dff_google_api_skill/Dockerfile b/skills/dff_google_api_skill/Dockerfile index 130654ae92..5c12da810f 100644 --- a/skills/dff_google_api_skill/Dockerfile +++ b/skills/dff_google_api_skill/Dockerfile @@ -13,8 +13,6 @@ ARG SERVICE_NAME ENV SERVICE_NAME ${SERVICE_NAME} ARG SERVICE_PORT ENV SERVICE_PORT ${SERVICE_PORT} -ARG ENVVARS_TO_SEND -ENV ENVVARS_TO_SEND ${ENVVARS_TO_SEND} COPY skills/dff_google_api_skill/requirements.txt . RUN pip install -r requirements.txt @@ -22,4 +20,4 @@ RUN pip install -r requirements.txt COPY skills/dff_google_api_skill/ ./ COPY ./common/ ./common/ -CMD gunicorn --workers=1 server:app -b 0.0.0.0:${SERVICE_PORT} +CMD gunicorn --workers=1 server:app -b 0.0.0.0:${SERVICE_PORT} --timeout 240 diff --git a/skills/dff_google_api_skill/scenario/response.py b/skills/dff_google_api_skill/scenario/response.py index a286c3c538..d49d929b31 100644 --- a/skills/dff_google_api_skill/scenario/response.py +++ b/skills/dff_google_api_skill/scenario/response.py @@ -15,9 +15,7 @@ logging.basicConfig(format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO) logger = logging.getLogger(__name__) -ENVVARS_TO_SEND = getenv("ENVVARS_TO_SEND", None) -ENVVARS_TO_SEND = [] if ENVVARS_TO_SEND is None else ENVVARS_TO_SEND.split(",") -sending_variables = {f"{var}": getenv(var, None) for var in ENVVARS_TO_SEND} +sending_variables = {f"{var}": getenv(var, None) for var in ["OPENAI_API_KEY", "GOOGLE_CSE_ID", "GOOGLE_API_KEY"]} # check if at least one of the env variables is not None if len(sending_variables.keys()) > 0 and all([var_value is None for var_value in sending_variables.values()]): raise NotImplementedError( diff --git a/skills/dff_google_api_skill/service_configs/dff-google-api-skill/environment.yml b/skills/dff_google_api_skill/service_configs/dff-google-api-skill/environment.yml index 568af2dd16..df1279edc1 100644 --- a/skills/dff_google_api_skill/service_configs/dff-google-api-skill/environment.yml +++ b/skills/dff_google_api_skill/service_configs/dff-google-api-skill/environment.yml @@ -1,3 +1,2 @@ SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill -ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY diff --git a/skills/dff_google_api_skill/service_configs/dff-google-api-skill/service.yml b/skills/dff_google_api_skill/service_configs/dff-google-api-skill/service.yml index 3ae3bf1453..b784be622c 100644 --- a/skills/dff_google_api_skill/service_configs/dff-google-api-skill/service.yml +++ b/skills/dff_google_api_skill/service_configs/dff-google-api-skill/service.yml @@ -9,7 +9,6 @@ compose: args: SERVICE_PORT: 8162 SERVICE_NAME: dff_google_api_skill - ENVVARS_TO_SEND: OPENAI_API_KEY,GOOGLE_CSE_ID,GOOGLE_API_KEY context: . dockerfile: ./skills/dff_google_api_skill/Dockerfile command: gunicorn --workers=1 server:app -b 0.0.0.0:8162 --reload