Ретрансляция Assistants API
2024.1.4 Данная ретрансляция уже поддерживает Assistants API
Примечание
- Поддерживается
Code InterpreterиFunction calling
- Поддерживается
- Пока не поддерживается
Knowledge Retrieval
- Пока не поддерживается
- Тарификация включает не только токены, но и стоимость потоков сеансов
- Аккаунт может быть отключен по непредвиденным причинам, поэтому невозможно гарантировать постоянную доступность
assistants idthread idrun id
- Аккаунт может быть отключен по непредвиденным причинам, поэтому невозможно гарантировать постоянную доступность
Справочная документация
1. Создание нового Assistant
shell
curl "https://api.openai-hk.com/v1/assistants" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"instructions": "You are a personal math tutor. Write and run code to answer math questions.",
"name": "Math Tutor",
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4"
}'curl "https://api.openai-hk.com/v1/assistants" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"instructions": "You are a personal math tutor. Write and run code to answer math questions.",
"name": "Math Tutor",
"tools": [{"type": "code_interpreter"}],
"model": "gpt-4"
}'Тело ответа
json
{
"id": "asst_AXBqN2YyydsTQcdhxNN22Sy5", //это будет использоваться на этапе run
"object": "assistant",
"created_at": 1704298806,
"name": "Math Tutor",
"description": null,
"model": "gpt-4",
"instructions": "You are a personal math tutor. Write and run code to answer math questions.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}{
"id": "asst_AXBqN2YyydsTQcdhxNN22Sy5", //это будет использоваться на этапе run
"object": "assistant",
"created_at": 1704298806,
"name": "Math Tutor",
"description": null,
"model": "gpt-4",
"instructions": "You are a personal math tutor. Write and run code to answer math questions.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}2. Создание потока (сеанса)
Обязательно использовать post
shell
curl https://api.openai-hk.com/v1/threads \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d ''curl https://api.openai-hk.com/v1/threads \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d ''Ответ
json
{
"id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f", //будет использоваться на всех последующих этапах
"object": "thread",
"created_at": 1704298816,
"metadata": {}
}{
"id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f", //будет использоваться на всех последующих этапах
"object": "thread",
"created_at": 1704298816,
"metadata": {}
}3. Добавление сообщения в сеанс
shell
curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"role": "user",
"content": "y=-5x^2+7x+89 顶点是多少?"
}'curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"role": "user",
"content": "y=-5x^2+7x+89 顶点是多少?"
}'Тело ответа
json
{
"id": "msg_baXqZT49fuB7nSp2uDaDcxay",
"object": "thread.message",
"created_at": 1704301942,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "y=-5x^2+7x+89 顶点是多少?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": null,
"run_id": null,
"metadata": {}
}{
"id": "msg_baXqZT49fuB7nSp2uDaDcxay",
"object": "thread.message",
"created_at": 1704301942,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "y=-5x^2+7x+89 顶点是多少?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": null,
"run_id": null,
"metadata": {}
}4. Запуск
assistant_id из шага 2 используется здесь
shell
curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/runs \
-H "Authorization: Bearer hk-你的key" \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"instructions": "Please address the user as Jane Doe. The user has a premium account."
}'curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/runs \
-H "Authorization: Bearer hk-你的key" \
-H "Content-Type: application/json" \
-H "OpenAI-Beta: assistants=v1" \
-d '{
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"instructions": "Please address the user as Jane Doe. The user has a premium account."
}'Ответ
json
{
"id": "run_8eBTGBWCmUEZICJyu7wEtUCt",
"object": "thread.run",
"created_at": 1704301949,
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"status": "queued",
"started_at": null,
"expires_at": 1704302549,
"cancelled_at": null,
"failed_at": null,
"completed_at": null,
"last_error": null,
"model": "gpt-4",
"instructions": "Please address the user as Jane Doe. The user has a premium account.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}{
"id": "run_8eBTGBWCmUEZICJyu7wEtUCt",
"object": "thread.run",
"created_at": 1704301949,
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"status": "queued",
"started_at": null,
"expires_at": 1704302549,
"cancelled_at": null,
"failed_at": null,
"completed_at": null,
"last_error": null,
"model": "gpt-4",
"instructions": "Please address the user as Jane Doe. The user has a premium account.",
"tools": [
{
"type": "code_interpreter"
}
],
"file_ids": [],
"metadata": {}
}5. Проверка статуса
shell
curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/runs/run_8eBTGBWCmUEZICJyu7wEtUCt \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1"curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/runs/run_8eBTGBWCmUEZICJyu7wEtUCt \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1"6. Получение результата
shell
curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1"curl https://api.openai-hk.com/v1/threads/thread_PRhqIIzk5g2IKjTdo7jsLd5f/messages \
-H "Content-Type: application/json" \
-H "Authorization: Bearer hk-你的key" \
-H "OpenAI-Beta: assistants=v1"Содержание результата:
json
{
"object": "list",
"data": [
{
"id": "msg_oNRxXuvkaMpbkcEIpOmgvpVO",
"object": "thread.message",
"created_at": 1704299111,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "这个二次函数的顶点纵坐标为约 89.8。因此,这个二次函数的顶点为 (2/5, 89.8)。",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata":
},
{
"id": "msg_Ho2FvaWxhdiPQwxXSFTZEYc2",
"object": "thread.message",
"created_at": 1704299107,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "这个二次函数的顶点横坐标为 2/5。接下来,我们可以将 x = 2/5 代入原方程,求得纵坐标。",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata": {}
},
{
"id": "msg_wWIkXbSbb2ClY4y6TGgOu183",
"object": "thread.message",
"created_at": 1704299100,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "您想要找到这个二次函数的顶点吗?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata": {}
},
{
"id": "msg_j0c12LisQjAIDjZYQGTrgqtu",
"object": "thread.message",
"created_at": 1704298850,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "y=-5x^2+4x+89 定点是多少?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": null,
"run_id": null,
"metadata": {}
}
],
"first_id": "msg_oNRxXuvkaMpbkcEIpOmgvpVO",
"last_id": "msg_j0c12LisQjAIDjZYQGTrgqtu",
"has_more": false
}{
"object": "list",
"data": [
{
"id": "msg_oNRxXuvkaMpbkcEIpOmgvpVO",
"object": "thread.message",
"created_at": 1704299111,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "这个二次函数的顶点纵坐标为约 89.8。因此,这个二次函数的顶点为 (2/5, 89.8)。",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata":
},
{
"id": "msg_Ho2FvaWxhdiPQwxXSFTZEYc2",
"object": "thread.message",
"created_at": 1704299107,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "这个二次函数的顶点横坐标为 2/5。接下来,我们可以将 x = 2/5 代入原方程,求得纵坐标。",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata": {}
},
{
"id": "msg_wWIkXbSbb2ClY4y6TGgOu183",
"object": "thread.message",
"created_at": 1704299100,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "assistant",
"content": [
{
"type": "text",
"text": {
"value": "您想要找到这个二次函数的顶点吗?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": "asst_AXBqN2YyydsTQcdhxNN22Sy5",
"run_id": "run_lIpFnVSVSWmlBmdtL0I2p3Mx",
"metadata": {}
},
{
"id": "msg_j0c12LisQjAIDjZYQGTrgqtu",
"object": "thread.message",
"created_at": 1704298850,
"thread_id": "thread_PRhqIIzk5g2IKjTdo7jsLd5f",
"role": "user",
"content": [
{
"type": "text",
"text": {
"value": "y=-5x^2+4x+89 定点是多少?",
"annotations": []
}
}
],
"file_ids": [],
"assistant_id": null,
"run_id": null,
"metadata": {}
}
],
"first_id": "msg_oNRxXuvkaMpbkcEIpOmgvpVO",
"last_id": "msg_j0c12LisQjAIDjZYQGTrgqtu",
"has_more": false
}
OpenAi-HK