POST
/
api
/
project
/
{projectId}
/
integration
/
api
/
v1
/
threads
/
{thread_id}
/
runs
curl --request POST \
  --url https://app.pathors.com/api/project/{projectId}/integration/api/v1/threads/{thread_id}/runs

Assistants API

Pathors 提供 OpenAI 兼容的 Assistants API 端点,用于构建助手体验。此接口遵循 OpenAI Assistants API 规范的子集。

支持的功能

目前,Assistants API 支持以下操作:

  • 获取助手信息(您的项目作为助手)
  • 创建对话线程
  • 向线程添加消息
  • 在线程上运行助手
  • 一次性创建线程并运行助手

注意:部分 OpenAI Assistants API 功能尚未支持,包括流式响应和结构化工具输出。

基础 URL

/api/project/{projectId}/integration/api

认证

所有 Assistants API 请求都需要使用 API 密钥进行认证。

Authorization: Bearer {your-api-key}

可用端点

助手

方法端点描述
GET/v1/assistants/{assistant_id}获取助手
GET/v1/assistants列出助手

对话线程

方法端点描述
POST/v1/threads创建对话线程
GET/v1/threads/{thread_id}获取对话线程

消息

方法端点描述
POST/v1/threads/{thread_id}/messages创建消息
GET/v1/threads/{thread_id}/messages列出消息
GET/v1/threads/{thread_id}/messages/{message_id}获取特定消息

运行

方法端点描述
POST/v1/threads/{thread_id}/runs创建运行
GET/v1/threads/{thread_id}/runs/{run_id}获取运行状态
POST/v1/threads/runs一次性创建线程并运行

使用示例

基本对话流程

from openai import OpenAI
import time

# 使用 Pathors API URL 初始化客户端
client = OpenAI(
    api_key="your-api-key",
    base_url="https://app.pathors.com/api/project/your-project-id/integration/api"
)

# 获取助手(使用项目 ID 作为助手 ID)
assistant = client.beta.assistants.retrieve(assistant_id="your-project-id")

# 一步创建线程并开始运行(推荐方式)
run = client.beta.threads.create_and_run(
    assistant_id="your-project-id",
    thread={
        "messages": [
            {
                "role": "user",
                "content": "你好,能帮我解答一个问题吗?"
            }
        ]
    }
)

# 轮询直到完成
while run.status in ["queued", "in_progress"]:
    time.sleep(1)
    run = client.beta.threads.runs.retrieve(
        thread_id=run.thread_id,
        run_id=run.id
    )
    print(f"运行状态: {run.status}")

# 完成后列出所有消息
messages = client.beta.threads.messages.list(thread_id=run.thread_id)
for msg in messages.data:
    print(f"[{msg.role}]: {msg.content[0].text.value}")

# 继续对话
client.beta.threads.messages.create(
    thread_id=run.thread_id,
    role="user",
    content="我想了解更多关于这个主题的信息。"
)

# 在同一线程上再次运行助手
new_run = client.beta.threads.runs.create(
    thread_id=run.thread_id,
    assistant_id="your-project-id"
)

# 轮询直到完成
while new_run.status in ["queued", "in_progress"]:
    time.sleep(1)
    new_run = client.beta.threads.runs.retrieve(
        thread_id=run.thread_id,
        run_id=new_run.id
    )

# 获取最新消息
updated_messages = client.beta.threads.messages.list(
    thread_id=run.thread_id,
    order="desc",
    limit=1
)
print(f"[{updated_messages.data[0].role}]: {updated_messages.data[0].content[0].text.value}")

错误响应

状态码描述
400无效的请求体
401无效的认证
500内部服务器错误

设置指南

  1. 在您的 Pathors 项目设置中启用 API 集成
  2. 在您项目的集成设置中生成 API 密钥
  3. 在您的请求中使用 API 密钥作为 Authorization 头部