Использование SOWA AI Agent#

Последовательность выполнения#

Данное руководство описывает способы взаимодействия с SOWA AI Agent — ассистентом для генерации конфигураций Platform V SOWA и ответов на вопросы по документации.

Примечание. Процесc установки и настройки SOWA AI Agent описан в инструкции по установке.

Содержание#

Использование через HTTP API#

SOWA AI Agent предоставляет HTTP API на основе Gradio API для программного взаимодействия с ассистентом.

Параметры запроса:

Параметр

Тип

Описание

message

string

Текстовый запрос пользователю

Параметр

Тип

Описание

message

str

Текстовый запрос пользователю

Ответ передается в формате SSE-потока. Каждая строка потока содержит частичный ответ, который по мере поступления формируется в финальный ответ ассистента.

Вариант 1. Последовательный запрос#

Сначала создайте вызов, затем подпишитесь на поток ответа.

Создание вызова:

curl -X POST http://localhost:<порт>/gradio_api/call/v2/ask \
  -s -H "Content-Type: application/json" \
  -d '{"message": "Настрой прокси-сервис с валидацией JSON"}'

В ответ возвращается JSON с event_id — идентификатором созданного вызова.

Получение SSE-потока по event_id:

curl -N http://localhost:<порт>/gradio_api/call/ask/$EVENT_ID

Вариант 2. Запрос с подпиской на ответ#

Создание вызова и получение ответа в одной команде:

curl -X POST http://localhost:<порт>/gradio_api/call/v2/ask -s -H "Content-Type: application/json" \
  -d '{"message": "Настрой прокси-сервис с валидацией JSON"}' \
  | awk -F'"' '{ print $4}' \
  | read EVENT_ID; curl -N http://localhost:<порт>/gradio_api/call/ask/$EVENT_ID

Использование через MCP#

SOWA AI Agent поддерживает протокол Model Context Protocol (MCP), что позволяет подключать внешних MCP-клиентов для взаимодействия с агентом.

Подключение#

При запуске приложения MCP-сервер включается автоматически. Подключение осуществляется по адресу:

http://<IP адрес>/gradio_api/mcp/

Доступный инструмент#

MCP-сервер экспонирует один инструмент:

api_chat — задать вопрос агенту#

Параметр

Тип

Обязательный

Описание

message

string

да

Текст запроса пользователю

Возвращает:

Поле

Тип

Описание

response

string

Ответ ассистента

message

str

Текст запроса пользователю

Возвращает:

Поле

Тип

Описание

response

str

Ответ ассистента

Пример вызова#
from mcp import ClientSession, StdioServerParameters
import asyncio

async def main():
    async with ClientSession(server_params) as session:
        await session.initialize()
        result = await session.call_tool(
            "api_chat",
            {"message": "Настрой прокси-сервис с SSL/TLS для подключения к апстриму"}
        )
        print(result)

asyncio.run(main())

Примеры типовых запросов#

Ниже приведены примеры запросов, которые можно передать агенту через HTTP API или MCP.

Генерация конфигурации#

Запрос

Описание

Настрой прокси-сервис с валидацией JSON

Генерация конфигурации HTTP-прокси с валидацией JSON-тела запроса

Настрой прокси-сервис с валидацией XML

Генерация конфигурации HTTP-прокси с валидацией XML-тела запроса

Настрой прокси-сервис с SSL/TLS для подключения к апстриму

Настройка безопасного подключения к бэкенду

Создай конфигурацию для контроля размера загружаемых файлов

Ограничение размера файлов в прокси-сервисе

Создай конфигурацию прокси-сервиса для антивирусной проверки файлов

Интеграция антивирусной проверки

Создай конфигурацию прокси-сервиса с контролем частоты запросов

Rate-limiting для прокси

Создай конфигурацию для чтения из Kafka

Настройка сервиса-читателя Kafka

Создай конфигурацию для записи в Kafka

Настройка сервиса-записывателя Kafka

Создай конфигурацию с сервисом-заглушкой

Настройка stub-сервиса

Создай конфигурацию с сервисом для проксирования WebSocket

Настройка WebSocket-прокси

Создай профиль на основе OpenAPI схемы <содержимое схемы>

Генерация профиля из OpenAPI-спецификации

Вопросы по документации#

Запрос

Описание

Расскажи, как настроить mTLS

Настройка взаимной аутентификации по сертификатам

Расскажи, как интегрировать Hashicorp Vault

Работа с системой управления секретами

Расскажи, как настроить отправку логов в Kafka

Конфигурирование логирования в Kafka

Расскажи, какие настройки позволяют обеспечить безопасное взаимодействие

Общие рекомендации по безопасности

Результат#

SOWA AI Agent осуществляет генерацию конфигураций Platform V SOWA и отвечает на вопросы по документации.