/
Vladimir_Py
/
cp_generator
Обзор
Документация
Войти
/
Vladimir_Py
/
cp_generator
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/agents/agent_data_load.py
49 строк
2 KB
Test Bot
добавлено описание агентного пайплайна
29 апр 2026, 00:29
29 апр 2026, 00:29
6590fdb
Код
Авторство
О чём код?
import json import logging import os from pathlib import Path logger = logging.getLogger(__name__) def load_agent_data(agent_name: str, config, category: str = None, prompts_dir: str = "prompts", examples_dir: str = "examples") -> dict[str, str]: """ Загружает конфигурацию, системный промпт и примеры для агента. """ logger.debug(f"Начало загрузки данных для агента: {agent_name}, категория: {category}") agent_info = config[agent_name] role = agent_info.get('role', '') goal = agent_info.get('goal', '') prompt_file = agent_info.get('prompt_file', '') prompts_dir = Path(__file__).parent.absolute() / prompts_dir examples_dir = Path(__file__).parent.absolute() / examples_dir backstory = "" try: prompts_fullpath = prompts_dir / prompt_file if os.path.exists(prompts_fullpath): with open(prompts_fullpath, 'r', encoding='utf-8') as f: backstory = f.read() else: logger.warning(f"Файл промпта '{prompts_fullpath}' не найден. Используется пустой backstory.") if category: examples_path = examples_dir / category examples_fullpath = examples_path / Path(f"{agent_name}_example.md") if os.path.exists(examples_fullpath): with open(examples_fullpath, 'r', encoding='utf-8') as f: examples_text = f.read() backstory += f"\n\n### ЭТАЛОННЫЕ ПРИМЕРЫ ДЛЯ КАТЕГОРИИ '{category.upper()}':\n{examples_text}" logger.info(f"Успешно подгружены примеры для категории {category} (Агент: {agent_name}).") else: logger.warning(f"Файл примеров '{examples_fullpath}' для категории '{category}' не найдены. Работаем без примеров.") except Exception as e: logger.error(f"Ошибка при загрузке данных для агента {agent_name}: {e}") return { "role": role, "goal": goal, "backstory": backstory }