<НА ГЛАВНУЮ

Создание локальной многопользовательской системы с 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

Switch to English