Files
prisma/README.md
T
Barabashka 9068b7fe07 Удалить CLI entrypoint и оставить HTTP-only запуск через AgentOS.
Убран неиспользуемый run_agent/main.py и обновлен README, чтобы запуск и документация соответствовали текущей FastAPI архитектуре.
2026-04-21 17:42:50 +03:00

133 lines
3.6 KiB
Markdown
Raw 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.
# Prisma Platform MVP
Минимальный чат-агент на Agno + Ollama с рантаймом AgentOS.
В этом проекте AgentOS работает как HTTP API сервер (FastAPI + Uvicorn).
## Требования
- Python 3.10+
- Запущенный Ollama endpoint (по умолчанию: `http://localhost:11435`)
- Доступная модель в Ollama (по умолчанию: `gemma4:31b`)
## Текущая структура
```text
prisma_platform/
├── .env
├── .env.example
├── requirements.txt
├── scenarios/
│ ├── index.json
│ └── news_source_discovery/
│ └── v1.json
└── src/
├── __init__.py
├── api_routes.py
├── agent_os.py
├── agent_runner.py
├── main.py
├── observability.py
├── scenario_store.py
├── schemas.py
├── stub_tools.py
└── workflow_runner.py
```
## Установка
```bash
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
```
## Запуск
Запуск сервера AgentOS:
```bash
python -m src.agent_os
```
По умолчанию AgentOS работает на `http://127.0.0.1:7777`.
Документация API доступна по адресам:
- `http://127.0.0.1:7777/docs`
- `http://127.0.0.1:7777/redoc`
Верхний слой сервиса реализован как кастомные FastAPI роуты (`src/api_routes.py`), подключенные через `AgentOS(base_app=...)`.
### Запуск сценария через HTTP
- `POST http://127.0.0.1:7777/api/runs`
- Тело запроса (JSON):
```json
{
"scenario_id": "news_source_discovery_v1",
"input": {
"url": "https://example.com/news"
}
}
```
Пример запроса:
```bash
curl -X POST "http://127.0.0.1:7777/api/runs" \
-H "Content-Type: application/json" \
-d '{
"scenario_id": "news_source_discovery_v1",
"input": {
"url": "https://example.com/news"
}
}'
```
Endpoint возвращает структурированный ответ со статусом `success` или `failed`.
Проверка, что сервер поднят:
```bash
curl -s "http://127.0.0.1:7777/docs" | grep -n "Swagger UI"
```
## Переменные окружения
Основные переменные:
- `AGENT_ID` (по умолчанию: `prisma-agent`)
- `OLLAMA_MODEL_ID` (по умолчанию: `gemma4:31b`)
- `OLLAMA_HOST` (по умолчанию: `http://localhost:11435`)
- `OLLAMA_TEMPERATURE` (по умолчанию: `0`)
- `AGENT_MARKDOWN` (по умолчанию: `false`)
- `AGENT_DEBUG_MODE` (по умолчанию: `true`)
- `AGENT_INSTRUCTIONS` (по умолчанию: `You are a helpful assistant. Answer briefly and clearly.`)
- `AGENT_OS_HOST` (по умолчанию: `127.0.0.1`)
- `AGENT_OS_PORT` (по умолчанию: `7777`)
- `PHOENIX_TRACING_ENABLED` (по умолчанию: `false`)
- `PHOENIX_COLLECTOR_ENDPOINT` (по умолчанию: `http://localhost:6006`)
- `PHOENIX_PROJECT_NAME` (по умолчанию: `prisma-platform`)
## Phoenix трассировка (локально)
1. Установите зависимости:
```bash
pip install -r requirements.txt
```
2. Поднимите Phoenix (см. `docker-service/docker-compose.yml`) и включите трассировку в `.env`:
```dotenv
PHOENIX_TRACING_ENABLED=true
PHOENIX_COLLECTOR_ENDPOINT=http://localhost:6006
PHOENIX_PROJECT_NAME=prisma-platform
```
3. Запустите приложение как обычно (`python -m src.agent_os`).