Создание локальной многопользовательской системы с TinyLlama
Научитесь организовывать ИИ-агентов для разбиения задач без API.
Обзор
В этом руководстве мы рассматриваем, как организовать команду специализированных ИИ-агентов локально, используя эффективную архитектуру менеджера-агента на базе TinyLlama, сосредотачиваясь на структурированном разбиении задач, сотрудничестве между агентами и автономных циклах рассуждений без обращения к внешним API.
Настройка окружения
Чтобы настроить окружение, убедитесь, что у вас есть необходимые библиотеки:
!pip install transformers torch accelerate bitsandbytes -qОсновные компоненты
Структуры задачи и агента
Мы определяем структуры данных Task и Agent для управления задачами эффективно, присваивая каждой задаче определенные атрибуты:
@dataclass
class Task:
id: str
description: str
assigned_to: str = None
status: str = "pending"
result: Any = None
dependencies: List[str] = None
def __post_init__(self):
if self.dependencies is None:
self.dependencies = []Регистрация агентов
Мы регистрируем разнообразных агентов с их ролями и областью экспертизы:
AGENT_REGISTRY = {
"researcher": Agent(...),
"coder": Agent(...),
"writer": Agent(...),
"analyst": Agent(...)
}Класс LocalLLM
Этот класс управляет локальным извлечением модели.
class LocalLLM:
def __init__(self, model_name: str = "TinyLlama/TinyLlama-1.1B-Chat-v1.0"):
self.tokenizer = AutoTokenizer.from_pretrained(model_name)
# дополнительный кодКласс ManagerAgent
Менеджер-агент обрабатывает разбиение целей и выполнение задач.
class ManagerAgent:
def decompose_goal(self, goal: str) -> List[Task]:
# реализация кодаРабочий процесс выполнения
Мы объясняем, как задачи выполняются с учетом зависимостей. Менеджер-агент координирует весь процесс гладко:
def execute_goal(self, goal: str) -> Dict[str, Any]:
tasks = self.decompose_goal(goal)
# реализация методаЗаключение
Мы разработали и запустили полную локальную многопользовательскую систему оркестрации с минимальными зависимостями. Имплементация демонстрирует модульные и мощные аспекты локальных агентских паттернов.
Switch Language
Read this article in English