Этот проект представляет собой веб-сервис, который использует внешний AI-сервис для генерации контента SMS-сообщений. Сервис написан на языке Go и использует следующие библиотеки:
github.com/prometheus/client_golang/prometheus: для сбора и публикации метрик Prometheusgithub.com/prometheus/client_golang/prometheus/promauto: для автоматического создания метрик Prometheusgithub.com/prometheus/client_golang/prometheus/promhttp: для публикации метрик Prometheus через HTTP
Сервис предоставляет следующие возможности:
-
Генерация контента SMS-сообщений: Сервис принимает запрос с текстом-подсказкой (prompt) и использует внешний AI-сервис для генерации соответствующего контента SMS-сообщения. Результат возвращается в формате JSON.
-
Сбор метрик Prometheus: Сервис публикует метрики Prometheus, включая общее количество запросов к AI-сервису, на порту 8082.
-
Логирование: Сервис ведет логи в файл
ai_sms_service.logи выводит их также в консоль.
-
Установите необходимые зависимости:
go get -u github.com/prometheus/client_golang/prometheus go get -u github.com/prometheus/client_golang/prometheus/promauto go get -u github.com/prometheus/client_golang/prometheus/promhttp -
Запустите сервис:
go run main.go setup.go -
Сервис будет доступен по адресу
http://localhost:8080. Вы можете отправить запрос на генерацию контента SMS-сообщения, используя параметрpromptв URL-адресе, например:http://localhost:8080/getAiSmsContent?prompt=Напишите короткое поздравление с Новым годом -
Метрики Prometheus будут доступны по адресу
http://localhost:8082/metrics.
Сервис использует следующие переменные окружения:
HTTP_PROXYиHTTPS_PROXY: Если эти переменные установлены, сервис будет использовать указанный прокси-сервер для вызова внешнего AI-сервиса.
Возможные направления развития проекта:
- Добавление возможности настройки параметров вызова AI-сервиса (например, температура, топ-k, топ-p и т.д.).
- Интеграция с другими AI-сервисами, помимо Replicate.
- Улучшение обработки ошибок и логирования.
- Добавление возможности сохранения истории запросов и ответов.
- Разработка пользовательского интерфейса для взаимодействия с сервисом.