Использование Docker образа агента SOWA#
Сборка образа#
Параметры сборки образа#
Параметр |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
ARG |
|
Путь к базовому образу |
|
ARG |
|
Порт HTTP-сервера |
Для сборки образа с нестандартным базовым образом необходимо выполнить следующую операцию:
docker build --build-arg BASE_IMAGE=<base_image_path> . --rm --no-cache=true --tag <image_name>:<image_tag>
где:
<base_image_path>— адрес базового образа ОС;<image_name>— имя собираемого образа;<image_tag>— версия собираемого образа;
Важно
В качестве базового образа следует указывать образы с правильно настроенными репозиториями, иначе зависимости не смогут установиться.
Использование образа#
Запуск контейнера#
docker run -it -p <host_port>:7860 <image_name>:<image_tag>
После запуска в консоли контейнера провеить доступность можно с помощью следующей команды:
curl 127.0.0.1:7860
Запуск в фоне#
docker run -d -p <host_port>:7860 \
-e OPENAI_API_KEY="<api_key>" \
-e OPENAI_MODEL="<model_name>" \
-e EMBEDDING_MODEL="<embedding_model>" \
-e INTERNAL_API_BASE_URL="<llm_gateway_url>" \
<image_name>:<image_tag>
Использование в Kubernetes#
apiVersion: apps/v1
kind: Deployment
metadata:
name: sowa-ai-agent
spec:
replicas: 1
selector:
matchLabels:
app: sowa-ai-agent
template:
metadata:
labels:
app: sowa-ai-agent
spec:
containers:
- name: agent
image: <image_name>:<image_tag>
ports:
- containerPort: 7860
env:
- name: OPENAI_API_KEY
valueFrom:
secretKeyRef:
name: sowa-ai-secrets
key: apikey
- name: OPENAI_MODEL
value: "deepseek-ai/DeepSeek-V4-Flash"
- name: EMBEDDING_MODEL
value: "Qodo/Qodo-Embed-1-1.5B"
- name: EMBEDDING_SCOPE
value: "GIGACHAT_API_CORP"
- name: INTERNAL_API_BASE_URL
value: "https://llm-gateway.example.com/openai/v1"
readinessProbe:
httpGet:
path: /gradio_api/
port: 7860
initialDelaySeconds: 10
periodSeconds: 30
Описание необходимых переменных окружения приведено в разделе Настройка окружения.