tgoop.com/neuraldeep/1174
Last Update:
Всем привет!
Как обещал, раскрываю 5 пункт! 🚀
Создание мультиагентной системы на базе Llama 3.1-8b: Интеллектуальный супервизор задач
Ключевые особенности на мой взгляд
Использование vLLM
Применение lm-format-enforcer для структурированного вывода
Многопоточная обработка на NVIDIA RTX 4090 в 10 потоков
📊 Архитектура системы:
Супервизор (на базе Llama 3.1 8b)
RAG Agent разработки NDT (для работы с базой знаний)
SQL Agent (для запросов к БД)
ResponseGenerator Agent (для генерации ответов)
🤔 Почему lm-format-enforcer, а не function calling?
Я попробовал lm-format-enforcer, и мне понравилось, как я могу контролировать детерминированность структурированного вывода, что критично для сложных многоагентных систем.
Как это работает?
Внутри кода запуска модели происходит фильтрация путем создания маски разрешенных токенов на основе текущего состояния парсера и применения этой маски к выходным логитам языковой модели, обнуляя вероятности недопустимых токенов перед выбором следующего токена.
📝 Пример схемы для запроса:
schema = {
"type": "object",
"properties": {
"agent": {"type": "string", "enum": ["RAG", "SQL", "ResponseGenerator"]},
"task": {
"type": "object",
"properties": {
"query": {"type": "string"},
"additional_info": {"type": "string"}
},
"required": ["query"]
}
},
"required": ["agent", "task"]
}
Эта схема определяет структуру ответа модели, гарантируя, что она выберет подходящего агента и сформулирует задачу в нужном формате.
Пример использования lm-format-enforcer:
request_data = {
"messages": messages,
"model": "llama-3.1-8b-instruct",
"max_tokens": 1000,
"temperature": 0.0,
"guided_json": json.dumps(schema),
"guided_decoding_backend": "lm-format-enforcer"
}
Запрос:
Когда была последняя продажа проекта компании 'Супервизор'?
Ответ от модели:
{
"task": {
"query": "Последняя продажа проекта компании 'Супервизор'"
},
"agent": "SQL"
}
Модель в режиме агента смогла правильно классифицировать агента и далее запуститься пайплан работы SQL агента который сгенерирует SQL запрос
SELECT * FROM sales WHERE company_name = 'Супервизор'
и вернет данные в responce generator
[
0:"2023-05-15"
1:"2023-08-22"
]
Преимущества подхода:
Точный контроль над форматом вывода
Снижение вероятности галлюцинаций
Улучшенная интеграция между агентами
Масштабируемость на сложные сценарии
Что дальше?
- Усложнение агентской сети
- Работа над сборкой датасета для агентов
- Дальнейшая оптимизация производительности
BY Neural Deep

Share with your friend now:
tgoop.com/neuraldeep/1174