Сервис рекомендаций по устранению технических проблем на основе метрик системы. Поддерживает два режима работы:
- С реальным LLM API (GigaChat)
- С моковым LLM сервером для тестирования
- Go 1.24+
- Docker (опционально)
- GitLab Runner (для CI/CD)
- Клонируйте репозиторий:
git clone git@gitlab.cti.ru:devops/recommendation-service.git
cd recommendation-service- Соберите и запустите сервис:
make runДля тестирования без реального API:
make build-mock-llm
make run-mock-llmСоздайте файл конфигурации config/dev.yaml:
api:
url: "https://api.example.com"
key: "your-api-key"Или используйте переменные окружения:
export API_KEY="your-api-key"
export GIGACHAT_API_PERS="your-scope" //только для Oauth сервиса Gigachatmake docker-buildAPI_KEY="<some key> "GIGACHAT_API_PERS="<some key>" make docker-runИли с кастомными параметрами:
docker run -p 8080:8080 -e API_KEY="your-key" -e GIGACHAT_API_PERS="your-scope" recommendation-service:latestmake testmake test-all| Команда | Описание |
|---|---|
make build |
Собрать бинарный файл |
make run |
Запустить сервер локально |
make test |
Запустить юнит-тесты |
make test-integration |
Запустить интеграционные тесты |
make docker-build |
Собрать Docker образ |
make docker-run |
Запустить в Docker |
make fmt |
Форматировать код |
make lint |
Запустить линтер |
make clean |
Очистить проект |
| Переменная | Описание | По умолчанию |
|---|---|---|
API_KEY |
Ключ для доступа к API | - |
GIGACHAT_API_PERS |
Scope для OAuth | - |
MAIN_PORT |
Порт основного сервера | 8080 |
MOCK_LLM_PORT |
Порт мокового LLM | 8081 |