Barabashka d341941f87 Улучшить валидацию входа workflow и вынести схемы ответов.
Подключена pydantic-валидация input_schema для сценария, а модели успешного и ошибочного результата запуска вынесены в отдельный модуль для более явных boundary-контрактов.
2026-04-21 17:21:35 +03:00
2026-04-21 13:40:36 +03:00

Prisma Platform MVP

Минимальный чат-агент на Agno + Ollama с рантаймом AgentOS.

В этом проекте AgentOS работает как HTTP API сервер (FastAPI + Uvicorn).

Требования

  • Python 3.11+
  • Запущенный Ollama endpoint (по умолчанию: http://localhost:11435)
  • Доступная модель в Ollama (по умолчанию: gemma4:31b)

Текущая структура

prisma_platform/
├── .env
├── .env.example
├── requirements.txt
├── scenarios/
│   ├── index.json
│   └── news_source_discovery/
│       └── v1.json
└── src/
    ├── __init__.py
    ├── agent_os.py
    ├── agent_runner.py
    ├── main.py
    ├── observability.py
    ├── scenario_store.py
    ├── stub_tools.py
    └── workflow_runner.py

Установка

python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env

Запуск

Интерактивный режим чата:

python -m src.main

Режим одного сообщения:

python -m src.main --message "Привет, что ты умеешь?"

Режим запуска сценария (идет загрузка сценария из scenarios/index.json):

python -m src.main --scenario-id news_source_discovery_v1 --workflow-input-json '{"url":"https://example.com/news"}'

Запуск AgentOS

Запуск сервера AgentOS:

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

Проверка, что сервер поднят:

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. Установите зависимости:
pip install -r requirements.txt
  1. Поднимите Phoenix (см. docker-service/docker-compose.yml) и включите трассировку в .env:
PHOENIX_TRACING_ENABLED=true
PHOENIX_COLLECTOR_ENDPOINT=http://localhost:6006
PHOENIX_PROJECT_NAME=prisma-platform
  1. Запустите приложение как обычно (python -m src.main или python -m src.agent_os).
S
Description
No description provided
Readme 92 KiB
Languages
Python 100%