随着人工智能技术的发展,集成问答 API 已成为开发者常见的需求。然而,许多市场上的 API,如 OpenAI 的 Chat Completions API,由于需要传递历史上下文和处理 token 限制,集成起来相对复杂。为了解决这些问题,Ace Data Cloud 提供了一种优化的 AI 问答 API,简化了集成过程,支持多轮对话,并自动处理 token 限制,极大提升了开发效率。

本文将详细介绍如何集成 Ace Data Cloud 的 AI 问答 API。

环境准备/前置条件

在开始之前,请确保您已经完成以下步骤:

  1. 注册并登录 Ace Data Cloud
  2. 申请使用 AI 问答 API 服务。

详细步骤

申请 API 服务

访问 AI Q&A API 页面,点击“获取”按钮。如果您没有登录,将自动跳转至登录页面。首次申请将获得免费的 API 使用配额。

基本用法

基本用法非常简单,只需传递一个 question 字段和指定模型即可。例如,填入问题:“你叫什么名字?”如下图所示:

在请求头中设置:

  • accept: 返回结果的格式,这里填入 application/json
  • authorization: 调用 API 的密钥。

请求体中设置:

  • model: 模型选择,如 GPT 3.5 或 GPT 4。
  • question: 需要提问的内容。

测试成功后,您将收到如下 JSON 格式的响应:

{
  "answer": "我是一种由 OpenAI 开发的 AI 语言模型,没有个人名称。不过,你可以叫我 GPT 或只称呼我为聊天机器人。今天我能为你做些什么?"
}

如果不需要支持多轮对话,这个 API 可以大大简化您的集成工作。

多轮对话

若要实现多轮对话,需要在请求中添加一个参数 stateful,并将其值设置为 true。每次后续请求都需要携带该参数。第一请求设置 stateful 参数如下:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-3.5",
  "question": "你叫什么名字?",
  "stateful": true
}'

您将收到一个包含 id 的响应:

{
  "answer": "我是一种由 OpenAI 开发的 AI 语言模型,没有个人名称。你可以叫我 OpenAI 或 ChatGPT。今天我能为你做些什么?",
  "id": "7cdb293b-2267-4979-a1ec-48d9ad149916"
}

在第二次请求中,将 id 字段传入,继续进行对话:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-3.5",
  "stateful": true,
  "id": "7cdb293b-2267-4979-a1ec-48d9ad149916",
  "question": "我刚才问的是什么?"
}'

响应将基于上下文进行回答。

流式响应

该接口也支持流式响应,非常适合 Web 集成。若要实现流式响应,只需将请求头中的 accept 参数修改为 application/x-ndjson。以下是 Python 的示例代码:

import requests

url = "https://api.acedata.cloud/aichat/conversations"

headers = {
    "accept": "application/x-ndjson",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "model": "gpt-3.5",
    "stateful": True,
    "question": "你好"
}

response = requests.post(url, json=payload, headers=headers, stream=True)
for line in response.iter_lines():
    print(line.decode())

模型预设

您可以使用 preset 字段为模型设置预设内容,例如:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-3.5",
  "stateful": true,
  "question": "你能帮我什么?",
  "preset": "你是一位专业艺术家"
}'

图像识别

该 API 还支持通过传递图像链接进行图像识别,如下所示:

curl -X POST 'https://api.acedata.cloud/aichat/conversations' \
-H 'accept: application/json' \
-H 'authorization: Bearer {token}' \
-H 'content-type: application/json' \
-d '{
  "model": "gpt-4-vision",
  "question": "图片中有多少个苹果?",
  "references": ["https://cdn.acedata.cloud/ht05g0.png"]
}'

常见问题

  1. 如何处理 API 限制?
  2. Ace Data Cloud API 自动处理 token 限制,确保不超出限制。

  3. 如何提升问答质量?

  4. 可以使用更高级的模型如 gpt-4-browsing 来获取更准确的信息。

总结

通过 Ace Data Cloud 的 AI 问答 API,开发者可以轻松实现智能对话功能,无论是基本的问答还是复杂的多轮对话,均可高效集成。希望本文能帮助您快速上手并实现所需的功能。

如需了解更多信息,请访问 Ace Data Cloud

技术标签:#AI #API集成 #问答系统 #多轮对话 #AceDataCloud

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐