Skip to main content
Glama
run_orchestrator_demo.py2.91 kB
#!/usr/bin/env python3 """ Простой CLI-скрипт для демонстрации оркестратора: Evolution -> MCP tools -> Go engine -> summary/recs/risks. """ import asyncio import os import sys import json import structlog from agent_system.llm.providers.evolution_provider import EvolutionProvider from agent_system.agents.orchestrator import handle_user_query logger = structlog.get_logger(__name__) async def main(): # 1. Берём запрос пользователя if len(sys.argv) > 1: user_query = " ".join(sys.argv[1:]) else: user_query = input("Введите запрос для бизнес-агента: ").strip() if not user_query: print("Пустой запрос — нечего обрабатывать.") return # 2. Настраиваем EvolutionProvider api_key = os.getenv("EVOLUTION_API_KEY") if not api_key: print("ERROR: не задан EVOLUTION_API_KEY в окружении.") print("Пример (PowerShell): $env:EVOLUTION_API_KEY='xxx'") return evolution = EvolutionProvider( config={ "api_key": api_key, # можно переопределить base_url и модель при желании # "base_url": "https://api.cloud.ru/evolution", # "default_model": "evolution-llm-v1", } ) # 3. URL MCP-сервера mcp_server_url = os.getenv("MCP_SERVER_URL", "http://localhost:8000") print(f"Используем MCP сервер: {mcp_server_url}") # 4. Запускаем наш оркестратор try: a2a = await handle_user_query( text=user_query, evolution=evolution, mcp_server_url=mcp_server_url, agent_id="evolution-biz-agent-demo", ) except Exception as e: logger.error("handle_user_query failed", error=str(e)) print(f"\nОшибка при обработке запроса: {e}") return # 5. Печатаем результат print("\n=== SUMMARY ===") print(a2a.summary) print("\n=== RECOMMENDATIONS ===") if a2a.recommendations: for i, rec in enumerate(a2a.recommendations, 1): print(f"{i}. {rec}") else: print("— нет рекомендаций —") print("\n=== RISKS ===") if a2a.risks: for i, risk in enumerate(a2a.risks, 1): print(f"{i}. {risk}") else: print("— нет явных рисков —") print("\n=== RAW TOOL RESULTS (JSON) ===") # Если хочешь — можно печатать более компактно print( json.dumps( [tr.dict() for tr in a2a.tool_results], ensure_ascii=False, indent=2, ) ) if __name__ == "__main__": asyncio.run(main())

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Vovchansky6/mcp_OVS'

If you have feedback or need assistance with the MCP directory API, please join our Discord server