API ассистентов и ветки OpenAI
Управляемые агенты OpenAI: инфраструктура не требуется, но возникает зависимость от поставщика и отсутствует важная часть наблюдаемости
«API ассистентов и ветки OpenAI» — бесплатный урок AI Agents на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Agents, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Agents содержит 4 уроков всего.
Части этого урока еще не переведены и отображаются на английском.
Что это такое?
OpenAI Assistants API — это управляемый продукт для создания агентов. Вы определяете ассистента (модель + инструкции + инструменты), а пользователи взаимодействуют с ним через «ветки» (беседы). OpenAI обрабатывает состояние, RAG, интерпретатор кода и хранение файлов.
Два главных преимущества
- Встроенный file_search — управляемый RAG, не нужно запускать векторную БД
- Встроенный code_interpreter — изолированное выполнение Python
Если Вам нужны эти возможности без самостоятельной реализации, Assistants позволит быстро их получить.
Creating an Assistant
from openai import OpenAI
client = OpenAI()
assistant = client.beta.assistants.create(
name='Support Bot',
instructions='You help customers with orders.',
model='gpt-4o-mini',
tools=[{'type': 'file_search'}, {'type': 'code_interpreter'}]
)Threads = Conversations
thread = client.beta.threads.create()
client.beta.threads.messages.create(
thread_id=thread.id,
role='user',
content='Where is my order?'
)
run = client.beta.threads.runs.create(
thread_id=thread.id,
assistant_id=assistant.id
)Опрос до завершения
Запуски выполняются асинхронно. Опрос выполняется до завершения:
import time
while run.status not in ('completed', 'failed', 'requires_action'):
time.sleep(1)
run = client.beta.threads.runs.retrieve(thread_id=thread.id, run_id=run.id)Вызов функций
Используется тот же подход, что и для инструментов chat.completions. Когда run.status == 'requires_action', вызовите инструменты и отправьте результаты:
if run.status == 'requires_action':
tool_outputs = []
for tc in run.required_action.submit_tool_outputs.tool_calls:
result = dispatch(tc)
tool_outputs.append({'tool_call_id': tc.id, 'output': json.dumps(result)})
client.beta.threads.runs.submit_tool_outputs(thread_id=thread.id, run_id=run.id, tool_outputs=tool_outputs)File Search (Vector Store)
vector_store = client.beta.vector_stores.create(name='docs')
client.beta.vector_stores.file_batches.upload_and_poll(
vector_store_id=vector_store.id,
files=[open('handbook.pdf', 'rb')]
)
assistant = client.beta.assistants.update(assistant.id, tool_resources={'file_search': {'vector_store_ids': [vector_store.id]}})Интерпретатор кода
Добавьте code_interpreter, и Assistant получит изолированную среду Python. Это особенно удобно для задач обработки данных:
{'type': 'code_interpreter'}Streaming
with client.beta.threads.runs.stream(thread_id=thread.id, assistant_id=assistant.id) as stream:
for event in stream:
print(event)Компромиссы
- + Не требуется инфраструктура для векторных хранилищ и изолированной среды
- + Управляемые память и состояние потока
- + Встроенные цитаты из file_search
- - Зависимость от поставщика
- - Меньше контроля над стратегией поиска
- - Задержка выше, чем у прямого chat.completions
- - Более ограниченные возможности наблюдаемости
План развития
OpenAI объявила Responses API преемником Assistants. Некоторые команды откладывают переход на Assistants, пока возможности Responses не устоятся.
Используйте для прототипов
Нужно запустить бота для вопросов по документам всего за 50 строк? С Assistants трудно конкурировать по скорости разработки. Для промышленной эксплуатации со строгими соглашениями об уровне обслуживания и индивидуальным поиском лучше создать решение самостоятельно.
Стоимость
Assistants взимает плату за:
- Обычную стоимость токенов
- file_search: хранение за каждый ГБ в день
- code_interpreter: за каждый сеанс
При небольшом объёме это недорого, но при интенсивном использовании расходы могут быстро вырасти.
Для чего лучше всего подходит Assistants
Для какого сценария использования Assistants API подходит лучше всего?
Итоги
Assistants — управляемый продукт для создания агентов. В него входят file_search, code_interpreter и потоки. Отличный выбор для прототипов, но менее подходящий для промышленной эксплуатации в больших масштабах. Следите за развитием Responses API.
Часто задаваемые вопросы
Урок «API ассистентов и ветки OpenAI» бесплатный?
Да — полный текст урока «API ассистентов и ветки OpenAI» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Agents, подпишись на CoddyKit PRO. Курс AI Agents содержит 4 уроков всего.
Чему я научусь в уроке «API ассистентов и ветки OpenAI»?
Управляемые агенты OpenAI: инфраструктура не требуется, но возникает зависимость от поставщика и отсутствует важная часть наблюдаемости Ты практикуешь AI Agents с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать AI Agents?
Предыдущий опыт не требуется. AI Agents на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «API ассистентов и ветки OpenAI»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке AI Agents?
Да. Каждый урок AI Agents включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- LangGraph и CrewAI и AutoGen
- Letta (ранее MemGPT) для долгоживущих агентов
- API ассистентов и ветки OpenAI
- Выбор подходящей платформы для каждого сценария