gskaro-v1/.skaro/milestones/01-improvements/add-missing-tests/plan.md

79 lines
5.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# План реализации задачи
## Этап 1: Установка структуры проекта
**Цель:** Создать структуру каталогов проекта и базовые файлы в соответствии с архитектурой.
**Зависит от:** ничего не зависит
**Входные данные:** Архитектура документа, Конституция
**Выходные данные:** `src/`, `tests/`, конфигурационные файлы, входы
**Список готовности:**
- [ ] Структура каталогов соответствует архитектуре
- [ ] Входы созданы
- [ ] Конфигурационные файлы в месте
**Риски:** Ничего нет
## Этап 2: Установка LLM Console
**Цель:** Создать веб-интерфейс для работы с моделями языкового обучения машин (LLM) и добавить функциональность выбора модели, ввода запросов и просмотра результатов.
**Зависит от:** Этап 1
**Входные данные:** `internal/server/web/index.html`, `internal/server/handlers_llm.go`
**Выходные данные:** `src/internal/server/web/index.html`, `src/internal/server/handlers_llm_test.go`
**Список готовности:**
- [ ] Функционал выбора модели добавлен
- [ ] Функционал ввода запросов реализован
- [ ] Функционал просмотра результатов реализован
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы веб-интерфейса
## Этап 3: Установка LLM Models
**Цель:** Создать список доступных моделей языкового обучения машин и добавить функциональность выбора модели.
**Зависит от:** Этап 2
**Входные данные:** `internal/llm/models.go`, `internal/server/handlers_llm.go`
**Выходные данные:** `src/internal/llm/models.go`, `src/internal/server/handlers_llm_test.go`
**Список готовности:**
- [ ] Функционал выбора модели добавлен
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы списка моделей
## Этап 4: Установка LLM History
**Цель:** Добавить функциональность просмотра истории запросов и ответов модели.
**Зависит от:** Этап 2
**Входные данные:** `internal/llm/state.go`, `internal/server/handlers_llm.go`
**Выходные данные:** `src/internal/llm/state.go`, `src/internal/server/handlers_llm_test.go`
**Список готовности:**
- [ ] Функционал просмотра истории добавлен
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы с историей
## Этап 5: Установка LLM Streaming
**Цель:** Добавить функциональность получения результатов работы модели по частям.
**Зависит от:** Этап 2
**Входные данные:** `internal/llm/stream.go`, `internal/server/handlers_llm.go`
**Выходные данные:** `src/internal/llm/stream.go`, `src/internal/server/handlers_llm_test.go`
**Список готовности:**
- [ ] Функционал получения результатов по частям добавлен
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы стриминга ответов
## Этап 6: Установка Web Server
**Цель:** Добавить веб-сервер на Go, обеспечивающий доступ к LLM Console и другим функционалам.
**Зависит от:** Этапы 25
**Входные данные:** `internal/server/server.go`, `internal/server/web_static.go`
**Выходные данные:** `src/internal/server/server.go`, `src/internal/server/web_static.go`
**Список готовности:**
- [ ] Веб-сервер запускается и работает корректно
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы веб-сервера
## Этап 7: Установка Build Scripts
**Цель:** Добавить скрипты сборки и запуска проекта.
**Зависит от:** Этапы 16
**Входные данные:** `build.bat`, `init-gskaro.bat`, `start-gskaro.bat`
**Выходные данные:** `src/build.bat`, `src/init-gskaro.bat`, `src/start-gskaro.bat`
**Список готовности:**
- [ ] Скрипты сборки и запуска работают корректно
**Риски:** Возможно возникнет необходимость дополнительных тестов для обеспечения корректной работы скриптов сборки и запуска
## Проверка
- name: Unit tests
command: pytest src/internal/server/tests/
- name: Type check
command: mypy src/internal/server/
- name: Lint
command: ruff check src/internal/server/
## Версия
1.0.0