Структурирование ответа
Поддержка в моделях:
- gpt-4o
- gpt-4o-mini
JSON — один из наиболее широко используемых в мире форматов для обмена данными между приложениями.
Структурированные выходные данные — это функция, которая гарантирует, что модель всегда будет генерировать ответы, соответствующие предоставленной вами схеме JSON , поэтому вам не нужно беспокоиться о том, что модель пропустит требуемый ключ или выдаст недопустимое значение перечисления.
Некоторые преимущества структурированных выходов включают в себя:
- Надежная безопасность типов: нет необходимости проверять или повторять неправильно отформатированные ответы.
- Явные отказы: отказы по модели безопасности теперь можно обнаружить программно
- Более простые промты: нет необходимости в четко сформулированных промтах для достижения единообразного форматирования.
Как отправить запрос через API
- Сгенерировать API_TOKEN
- Отправить запрос на
https://api.smartbuddy.ru/v1/chat/completions
(см. примеры ниже)
Пример запроса
import requests
import json
url = "https://api.smartbuddy.ru/v1/chat/completions"
payload = json.dumps({
"model": "openai/gpt-4o-mini",
"messages": [
{
"role": "system",
"content": "You are a helpful math tutor. Guide the user through the solution step by step."
},
{
"role": "user",
"content": "how can I solve 8x + 7 = -23"
}
],
"response_format": {
"type": "json_schema",
"json_schema": {
"name": "math_response",
"schema": {
"type": "object",
"properties": {
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"explanation": {
"type": "string"
},
"output": {
"type": "string"
}
},
"required": [
"explanation",
"output"
],
"additionalProperties": False
}
},
"final_answer": {
"type": "string"
}
},
"required": [
"steps",
"final_answer"
],
"additionalProperties": False
},
"strict": True
}
}
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'Authorization': 'Bearer API_TOKEN'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)