Initial SQL-only 1C adapter baseline
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# 1C Agent (отдельный подпроект)
|
||||
|
||||
## Быстрый запуск на test-docker
|
||||
|
||||
```powershell
|
||||
# 1) Подготовить переменные (без секретов)
|
||||
cd Z:\codex\LLM
|
||||
Copy-Item core\deploy\docker\1c-agent\1c-agent.env.example .\core\deploy\docker\1c-agent\\.env
|
||||
```
|
||||
|
||||
Редактируйте `.env`:
|
||||
- `ONEC_ADAPTER_URL` → URL REST-адаптера;
|
||||
- `ONEC_ADAPTER_TOKEN` → токен (если настроен).
|
||||
- при необходимости `ONEC_AGENT_PROVIDERS` (JSON).
|
||||
|
||||
```powershell
|
||||
$env:DOCKER_HOST = "ssh://test-docker"
|
||||
docker compose -f core\deploy\docker\1c-agent\compose.yaml --env-file core\deploy\docker\1c-agent\.env up -d --build
|
||||
```
|
||||
|
||||
Проверка:
|
||||
|
||||
```powershell
|
||||
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"
|
||||
curl http://docker-test.cin.su:8090/v1/health
|
||||
```
|
||||
|
||||
Если внешний хост не отвечает из вашей сети, проверьте локально в контейнере:
|
||||
|
||||
```powershell
|
||||
$env:DOCKER_HOST = "ssh://test-docker"
|
||||
docker exec onec-agent python -c "import urllib.request, json; print(json.loads(urllib.request.urlopen('http://127.0.0.1:8090/v1/health', timeout=5).read().decode()))"
|
||||
```
|
||||
|
||||
## Основные потоки
|
||||
|
||||
- `project` — единица бизнеса/сценария: имя, описание, политики, базовая настройка.
|
||||
- `chat` — конкретная сессия: выбранная модель, провайдер, параметры генерации, локальные параметры RAG.
|
||||
- `message` — отдельные сообщения внутри чата, используемые для контекста.
|
||||
|
||||
## Что лучше держать где
|
||||
|
||||
- Project-level:
|
||||
- название/описание;
|
||||
- долгоживущие политики доступа/ограничения;
|
||||
- общие настройки безопасности и базовые параметры.
|
||||
- Chat-level:
|
||||
- выбранный провайдер/модель;
|
||||
- `rag_profile`, `rag_limit`;
|
||||
- `temperature`, `max_tokens`;
|
||||
- системный prompt конкретной сессии.
|
||||
|
||||
## Взаимодействие с разными ИИ-провайдерами
|
||||
|
||||
Сервис уже умеет работать через `ONEC_AGENT_PROVIDERS` как через карту:
|
||||
|
||||
```json
|
||||
{
|
||||
"default": {
|
||||
"type": "openai-compatible",
|
||||
"base_url": "http://docker-gpu.cin.su:8000",
|
||||
"model": "qwen3-4b-instruct-2507"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Если нужно подключить другой ИИ протокол, добавляем новый `type` в `plugins/1c/agent/agent_server.py` в диспетчер `call_model(...)`.
|
||||
|
||||
## Проверка turn
|
||||
|
||||
```powershell
|
||||
curl -X POST "http://docker-test.cin.su:8090/v1/projects" `
|
||||
-H "Content-Type: application/json" `
|
||||
-d '{ "name":"demo-1c", "description":"Проверка пайплайна" }'
|
||||
|
||||
curl -X POST "http://docker-test.cin.su:8090/v1/projects/<project_id>/chats" `
|
||||
-H "Content-Type: application/json" `
|
||||
-d '{ "title":"Проверка" }'
|
||||
|
||||
curl -X POST "http://docker-test.cin.su:8090/v1/projects/<project_id>/chats/<chat_id>/turn" `
|
||||
-H "Content-Type: application/json" `
|
||||
-d '{ "message":"Какие реквизиты есть у справочника Номенклатура?", "use_rag": true }'
|
||||
```
|
||||
|
||||
## Статус/поддержка
|
||||
|
||||
- Проверить, что сервис запущен: `GET /v1/health`.
|
||||
- Проверить модели/провайдеры: `GET /v1/models`, `GET /v1/providers`.
|
||||
Reference in New Issue
Block a user