Assistants API: создание умных ассистентов
Разбираем Assistants API как stateful-эволюцию Chat Completions: Thread, Run, Message, встроенные инструменты Code Interpreter и File Search, жизненный цикл запуска.
Создайте Customer Support ассистента с инструкцией отвечать только по теме возвратов. Откройте Thread, отправьте 3 сообщения подряд и убедитесь, что контекст сохраняется между запросами.
Скопируйте и адаптируйте под свой контекст. Текст в треугольных скобках — то, что нужно заменить.
assistant = client.beta.assistants.create(
name="Support Agent",
instructions=(
"You are a customer support agent. "
"Only answer questions about returns and refunds. "
"Be concise and polite."
),
model="gpt-4o",
)
thread = client.beta.threads.create()
def ask(question: str) -> str:
client.beta.threads.messages.create(
thread_id=thread.id, role="user", content=question
)
run = client.beta.threads.runs.create_and_poll(
thread_id=thread.id, assistant_id=assistant.id
)
msgs = client.beta.threads.messages.list(thread_id=thread.id)
return msgs.data[0].content[0].text.value