Skip to content

ru How to Use Separate Components

dilyararimovna edited this page May 9, 2023 · 1 revision

Как использовать отдельные компоненты

Если вы хотите использовать некоторые компоненты отдельно, вы можете поднять контейнеры docker с интересующими компонентами. Если компоненты используются в основном дистрибутиве, вы можете использовать прокси-контейнеры — на наших серверах мы поднимаем компоненты основного дистрибутива, чтобы они были доступны для все пользователи.

Итак, если вы хотите использовать компонент, доступный в качестве прокси-контейнера, вы можете поднять этот контейнер container-name используя следующую команду:

docker-compose -f docker-compose.yml -f assistant_dists/dream/docker-compose.override.yml -f assistant_dists/dream/dev.yml -f assistant_dists/dream/proxy.yml up --build container-name

Если вы хотите поднять контейнер локально (на вашем компьютере), используйте следующую команду:

docker-compose -f docker-compose.yml -f assistant_dists/dream/docker-compose.override.yml -f assistant_dists/dream/dev.yml up --build container-name

После этого вы можете найти папку (найти в assistant_dists/dream/docker-compose.override.yml) и тестовый файл python для этого компонента в качестве ссылки, как обращаться с ним.

Пример

Давайте покажем, как использовать компонент Entity Detection. Я просматриваю файл assistant_dists/dream/pipeline_conf.json, чтобы найти компонент entity_detection в конвейере и соответствующее имя контейнера entity-detection.

Итак, я поднимаю контейнер entity-detection с помощью прокси:

docker-compose -f docker-compose.yml -f assistant_dists/dream/docker-compose.override.yml -f assistant_dists/dream/dev.yml -f assistant_dists/dream/proxy.yml up --build entity-detection

Затем я просматриваю assistant_dists/dream/docker-compose.override.yml и найдите соответствующую папку annotators/entity_detection/. Я смотрю в папку и нахожу тестовый файл python аннотаторы/entity_detection/test_entity_detection.py. Способ отправки запросов на entity-detection следующий:

import requests


requests.post("http://0.0.0.0:8103/respond", json={"sentences": [["what is the capital of russia?"]]})

Порт 8103 доступен за пределами контейнера из-за сопоставления порта в assistant_dists/dream/dev.yml.