Initial project blueprint

This commit is contained in:
2026-07-03 20:51:36 +03:00
commit 7d6cc1c83e
25 changed files with 1486 additions and 0 deletions
+78
View File
@@ -0,0 +1,78 @@
# Model Router
## Цель
Единый интерфейс к разным моделям:
- локальным;
- внешним;
- отключенным;
- vision;
- embedding.
## Слоты
```text
weak
strong
vision
embedding
reranker
```
## Provider types
```text
local
external
disabled
```
## Вызов
```json
{
"slot": "weak",
"messages": [],
"tools": [],
"response_format": "json_schema | text",
"task_context": {
"task_id": "task_1",
"node_id": "node_2"
}
}
```
## Ответ
```json
{
"slot": "weak",
"provider": "local",
"model": "qwen-coder-7b",
"status": "success",
"message": {},
"tool_calls": [],
"usage": {
"input_tokens": 100,
"output_tokens": 200,
"cost": 0
},
"error": null
}
```
## Fallback
Алгоритм:
```text
1. вызвать weak;
2. если результат валиден — продолжить;
3. если результат невалиден — retry weak;
4. если strong доступна — вызвать strong;
5. если strong disabled — вернуть partial result и ошибку качества;
6. если external выключен настройкой — не вызывать external.
```
Важно: external не запрещен в коде. Он включается/выключается настройкой.