Поскольку Openai представила то, что все остальные называют агентами SDK, он признал, что использование существующих возможностей в соединенной моде «может быть сложным, часто требующим обширной итерационной итерационной и итерации и пользовательской логики оркестровки без достаточной видимости или встроенной поддержки». Короче говоря, использование агентов требовало немало программирования, и это не история, которую хочет продать любая поставщик искусственного интеллекта.
Чтобы вернуть повествование обратно к идее о том, что тратить деньги на ИИ в конечном итоге искоренит необходимость в дорогостоящем развитии программного обеспечения для человека, или, действительно, OpenAI внедряет структуру, позволяющую простую оркестровку.
Давайте сначала подведем сумму, в чем проблемы. Агентные задачи подразумевают как минимум два процесса, работающих индивидуально, причем одна задача начинает другое, а результаты в конце концов, отчитываемые к окончательному процессу отчетности — надеюсь, в аналогичное время. «Результаты» также должны быть в известном формате (например, предложение, файл, изображение, база данных), но это нелегко обобщать. Даже счастливый путь — это прекрасный баланс — дело и объяснение ошибок — еще одна проблема. Все это знакомые проблемы оркестровки. Но как отрасль, никто не верит, что оркестровка является «решенной» проблемой. Тяжелое использование LLM также добавляет необходимость управления использованием токенов; Жетоны являются новым черным золотом.
Чтобы начать путешествие по оркестровке, Openai добавила некоторые новые API на свою основную платформу. Примечательно, что он ввел базовый Ответы API Это очищает некоторые предположения, сделанные агентами чата.
В простейшем смысле это может захватить выход:
Из Openai Import Open Client = openai () response = client.responses.create (model = «gpt-4o», input = «Напишите историю перед сном с одним предложением. История о единороге. «) Печать (response.output_text)
Вы можете проанализировать изображения на этом уровне; и добавить один из инструментов ниже. Остерегайтесь: новые модели, вероятно, перестанут поддерживать существующие API завершения чата — многие новые функции поддерживают только новый API ответов.
Давайте посмотрим на эти новые инструменты. Веб -поиск Позволяет агенту ползти в Интернете для простых задач. Скрипт короткого Python ниже показывает, как модель предоставляется вариант использования этого инструмента:
от Openai import openai client = openai () response = client.responses.create (model = «gpt-4o», инструменты =[{«type»: «web_search_preview»}]input = «Какая новость Kubernetes появилась сегодня?» ) print (response.output_text) 12345678910 от Openai import openAiClient = openai () response = client.responses.create (model = «gpt-4o», инструменты =[{«type»: «web_search_preview»}]input = «Что появилось сегодня новостей Kubernetes?»)
Рецепция также будет содержать ссылки на любые цитируемые статьи. Эти запросы могут быть определены временем или местоположением. Вы также можете взвесить стоимость, качество и задержку.
Поиск файлов фактически является размещенным векторным магазином. Вы указываете, что поиск файлов является доступным инструментом, и определить ваш векторный магазин:
от Openai import openai client = openai () response = client.responses.create (model = «gpt-4o-mini», input = «Что такое глубокое исследование от Openai?», Инструменты =[{
«type»: «file_search»,
«vector_store_ids»: [«<vector_store_id>»]
}]) print (response) 123456789101112 из Openai import openaiClient = openai () response = client.responses.create (model = «gpt-4o-mini», input = «Что такое глубокое исследование от Openai?», Инструменты = =[{ «type»: «file_search», «vector_store_ids»: [«<vector_store_id>»] }]) print (ответ)
При необходимости агент будет использовать его. Ответ будет привести к документам, используемым в ответе. Вы можете ограничить ответы на использование токена управляющего токена и задержку. Существуют ограничения на общий размер файла, поиск файлов и размер векторного хранилища. Типы документов, доступных для поиска (по типу файла), кажутся обширными.
А Использование компьютера Инструмент интересен:
«Использование компьютера работает в непрерывном цикле. Он отправляет действия компьютера, такие как клик (x, y) или тип (текст), который ваш код выполняет в компьютерной или среде браузера, а затем возвращает скриншоты результатов обратно в модель».
Похоже, он притворяется селенам, инструментом, который мы использовали для тестирования веб -интерфейсов с помощью сценариев. Очевидно, что это признает, что мы еще не в Аис, разговариваем только с другим миром АИС. Но это, по крайней мере, дань идее, что не все является веб -сайтом.
Пробуйте агентов
Я использую примеры Python (это определенно продукт Python-Pryst, но DOCS также показывает эквивалентный сценарий JavaScript). Мы запустили Python несколько раз в моих сообщениях, но в моем новом MacBook я просто проверю, что у меня установлен Python:
Результатом было то, что Python@3.13 3.13.2 уже установлен и обновлен.
Мой PIP также там (как PIP3).
Итак, теперь я могу установить пакеты OpenAI:
Ах, я помню это. Нам нужен виртуальный:
Затем я активирую виртуальное:
И мы готовы продолжить.
Теперь, конечно, вам нужно будет использовать и установить openai_api_key. Я создал себе новый ключ на странице своей учетной записи и установил OPANAI_API_KEY (не волнуйтесь, это намного дольше, чем это):
И вы должны убедиться, что у вас есть черное золото — я имею в виду токены. Я представил некоторые из способов избежать оплаты OpenAI, используя местные модели, но для этого поста я предполагаю, что вы платите токены.
Как и традиционно, давайте просто начнем с проверки, что вышеупомянутые основы действуют с помощью простого запроса со следующим haiku.py:
Из агента импорта агентов, агента бегуна = агент (name = «Assistant», инструкции = «Вы — полезный помощник») result = runner.run_sync (агент «, напишите хайку о рекурсии в расчете»). Runner.run_sync (агент, «Напишите хайку о рекурсии в программировании.») Print (result.final_output)
И мы получаем хороший ответ:
(Хороший традиционный хайку должен упомянуть о проходящих сезонах, но это не почему мы здесь.) Обычно я также проверяю свой баланс — но это не было нарушено.
Гнездо агентов
Как вы видите, мы уже использовали агента. Не то чтобы это вмешалось в любом случае, но мы придем к этому.
OpenAI упростил процесс оркестровки с некоторыми простыми терминами. А передавать это введение в асинхронный мир, где что -то должно ждать чего -то другого. Давайте разберемся с их примером, который я бегу как Hola.py:
Из агента импорта агентов, импорт бегуна Asyncio spanish_agent = агент (name = «Испанский агент», инструкции = «Вы говорите только по -испански».,) english_agent = агент (имя = «английский агент», инструкции = «Вы говорите только по -английски»,) Torge_agent = агент (name = «Агент сортировки», инструкции = «передача соответствующему агенту на основе языка запроса.[spanish_agent, english_agent],) async def main (): result = await runner.run (triage_agent, input = «hola, ¿cómo estás?») print (result.final_output), если __name__ == «__main__»: asyncio.run (main ()) 12345678910111213141516171819202122232425 от агента импорта агентов, бегунпорт asyncio spanish_agent = агент (имя = «Испанский агент», инструкции = «Вы говорите только по -испански». Инструкции = «передача соответствующему агенту на основе языка запроса.», HADSOFFS =[spanish_agent, english_agent],) async def main (): result = await runner.run (triage_agent, input = «hola, ¿cómo estás?») print (result.final_output), если __name__ == «__main__»: asyncio.run (main ())
Это отображает две основные вещи. Прежде всего, настройка роли для агентов на простом английском языке, к которым мы привыкли, но также настраиваем взаимодействие между агентами. Агент передачи ведет список доступных агентов для ответа.
Теперь это означает, что мой немецкий запрос не получит правильного ответа. Так что, если мы изменим запрос внутри Hola.py:
… async defmain (): result = await runner.run (triage_agent, input = «Как дела?») … 1234567 … async def main (): result = waw wartner.run (triage_agent, input = «Как дела?») …) …) …) …) …) …) …) …) …) …) …) …) …) …) …) …) …
И запустите наше гнездо агентов:
Таким образом, в то время как у Openai не было проблем с переводом немецкого языка, у агента сортировки не было соответствующего языкового агента, чтобы передать, поэтому он сделал работу и ответил на английском языке. Наши немецкие клиенты вряд ли будут слишком расстроены, но мы можем улучшить.
Поэтому, если мы наконец добавим немецкого агента и поместим его в список передачи в Hola.py:
… grancer_agent = агент (name = «Немецкий агент», инструкции = «Вы говорите только по -немецки»,) triage_agent = агент (name = «Agent», инструкции = «передача соответствующего агента на основе языка запроса.», Hearoffs =[spanish_agent, english_agent, german_agent],) … 123456789101112 … granmer_agent = агент (name = «Немецкий агент», инструкции = «Вы говорите только по -немецки»,) triage_agent = агент (name = «Agent Triage», инструкции = «передача соответствующего агента на основе языка запроса.».[spanish_agent, english_agent, german_agent],) …
Мы можем попробовать этот немецкий запрос снова:
На этот раз вызывается правильный агент и отвечает. Наши немецкие клиенты теперь счастливее — Ausgezeichnet! Не забывайте, что мой терминал Warp также дает вам время для этих ответов.
Заключение
Сначала мы посмотрели на цикл ответа, который может включать в себя дальнейшие звонки инструментов. Если ответ имеет передачу, мы установили агента новому агенту и возвращаемся к началу.
Ниже есть варианты ведения журнала, но, как обычно, OpenAI дает довольно высокий уровень API на этом этапе, что должно поощрять эксперименты без необходимости участия в оркестровке.
В то время как я представил здесь агентов, в более поздних постах я посмотрю на дальнейшие части SDK.
Через Сахин Ахмед
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Дэвид был лондонским профессиональным разработчиком программного обеспечения в Oracle Corp. и British Telecom, а также консультантом, помогающим командам работать более гибким образом. Он написал книгу по дизайну пользовательского интерфейса и с тех пор пишет технические статьи …. Подробнее от Дэвида Истмана