对话补全接口
约 1294 字大约 4 分钟
2025-04-25
对话
接口地址:https://c4ai.ccccltd.cn/api/compatible/v1/chat/completions
请求方式:POST
请求数据类型:application/json
接口描述: 根据输入的上下文,生成对话。
请求示例:
{
"model": "jiaorong-instruct",
"messages": [
{
"role": "user",
"content": "你是谁"
}
],
"stream": true
}流式响应示例
{
"object": "chat.completion.chunk",
"created": 1744814638,
"model": "jiaorong-instruct",
"choices": [
{
"index": 0,
"delta": {
"content": "我是",
"reasoning_content": null
},
"finish_reason": null
}
],
"system_fingerprint": "",
"usage": {
"prompt_tokens": 112,
"completion_tokens": 3,
"total_tokens": 115
}
}非流式响应示例
{
"object": "chat.completion",
"created": 1744814442,
"model": "jiaorong-instruct",
"choices": [
{
"index": 0,
"message": {
"role": "assistant",
"content": "我是中交AI中心研发的交通建设行业大模型“jiaorong-instruct”,专为交通、基础设施及工程建设领域提供专业、安全、可靠的技术支持与行业知识服务。"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 112,
"completion_tokens": 58,
"total_tokens": 170
},
"system_fingerprint": ""
}Python
from openai import OpenAI
client = OpenAI(api_key="", base_url="https://c4ai.ccccltd.cn/api/compatible/v1", default_headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
})
stream = client.chat.completions.create(
model="jiaorong-instruct",
messages=[
{
"role": "user",
"content": "你是谁?",
}
],
stream=True,
)
for event in stream:
print(event)Java
maven依赖
<dependency>
<groupId>org.springframework.ai</groupId>
<artifactId>spring-ai-openai-spring-boot-starter</artifactId>
<verseion>{请获取最新版本}</version>
</dependency>配置
spring:
ai:
openai:
base-url: https://c4ai.ccccltd.cn/api/compatible/v1
api-key: sk-****************************************controller
@RestController()
@RequestMapping("/api/v1/openai/")
public class ChatController implements IAiService {
@Resource
private OpenAiChatClient chatClient;
/**
* 生成对话(非流式)
* @param message 对话输入
* @return 模型输出
*/
@RequestMapping(value = "generate", method = RequestMethod.GET)
@Override
public ChatResponse generate(@RequestParam("message") String message) {
return chatClient.call(new Prompt(
message,
OpenAiChatOptions.builder()
.withModel("jiaorong-instruct")
.build()
));
}
}请求参数
| 参数名称 | 参数说明 | 请求类型 | 是否必须 | 数据类型 |
|---|---|---|---|---|
| completeRequest | CompleteRequest | body | true | CompleteRequest |
| model | 使用的模型的标识符,参考/models接口 | true | string | |
| messages | 对话的消息列表,不能为空 | true | array | |
| role | false | string | ||
| content | false | string | ||
| stream | 如果设置为 True,将会以 SSE(server-sent events)的形式以流式发送消息增量。消息流以 data: [DONE] 结尾。 | false | boolean | |
| temperature | 采样温度,介于 0 和 2 之间。更高的值,如 0.8,会使输出更随机,而更低的值,如 0.2,会使其更加集中和确定。 | false | number(double) | |
| stop | 在遇到这些词时,API 将停止生成更多的 token | false | string | |
| max_tokens | 介于 1 到 8192 间的整数,限制一次请求中模型生成 completion 的最大 token 数。输入 token 和输出 token 的总长度受模型的上下文长度的限制。 | false | integer(int32) | |
| top_p | 作为调节采样温度的替代方案,模型会考虑前 top_p 概率的 token 的结果。所以 0.1 就意味着只有包括在最高 10% 概率中的 token 会被考虑。 | false | number(double) | |
| frequency_penalty | 介于 -2.0 和 2.0 之间的数字。如果该值为正,那么新 token 会根据其在已有文本中的出现频率受到相应的惩罚,降低模型重复相同内容的可能性。 | false | number(double) | |
| tools | 大模型可用的工具列表 | false | list | |
| type | "function" | false | string | |
| function | false | object | ||
| name | 函数名称,支持a-z, A-Z, 0-9, 下划线和横杠, 最长64字符。 | false | string | |
| description | 描述函数的功能,模型用于理解如何调用该函数。 | false | string | |
| parameters | 函数接受的参数,json格式 | false | object | |
| strict | 是否严格基于json schema生成参数 | false | boolean | |
| enable_thinking | 是否开启深度思考(需要模型支持) | false | boolean | |
| thinking_budget | 生成深度思考的最大token数 | false | integer(int32) | |
| response_format | 大模型可用的工具列表 | false | list | |
| type | 可用参数:"text","json_schema","json_object" | false | string | |
| json_schema | 使用json_schema时,指定具体schema | false | object | |
| name | false | string | ||
| description | false | string | ||
| schema | false | object | ||
| strict | false | boolean |
响应状态
| 状态码 | 说明 | schema |
|---|---|---|
| 200 | OK |
对话(多模态)
使用图片理解接口,需要使用多模态的模型,如:jiaorong-qwen2.5-vl-72b-instruct
POST https://c4ai.ccccltd.cn/api/compatible/v1/chat/completions
请求参数说明:同上
Body 请求参数示例
{
"max_tokens": 0,
"top_p": 0,
"frequency_penalty": 0,
"enable_thinking": true,
"model": "string",
"messages": [
{
"tool_call_id": "string",
"reasoning_content": "string",
"role": "string",
"content": [
{
"image_url": {
"url": null // url 参数可以传url,或者base64; 传base64需要加前缀。如data:image/png;base64
},
"type": "string",
"text": "string"
}
]
}
],
"stream": true,
"temperature": 0,
"stop": "string",
"tools": [
{
"type": "string",
"function": {
"name": "string",
"description": "string",
"parameters": {},
"strict": true
}
}
]
}headers 参数:同上
响应参数说明:同上
Restful 请求使用案例
请求参数:
{
"model": "jiaorong-qwen2.5-vl-72b-instruct",
"stream": false,
"messages": [
{
"role": "user",
"content": [
{
"type": "image_url",
"image_url": {
"url": "https://t8.baidu.com/it/u=2330843266,1047035760&fm=217&app=126&size=re3,2&q=75&n=0&g=4n&f=PNG&fmt=auto&maxorilen2heic=2000000?s=31F6E832E081E9011C5D98F4030080B1"
}
},
{
"type": "text",
"text": "这是什么"
}
]
}
]
}返回值:
{
"choices": [
{
"message": {
"content": "这是华为(Huawei)的标志。华为是一家全球知名的科技公司,主要业务包括通信设备、信息技术解决方案、智能手机和其他消费电子产品等。华为的标志由一个红色的花瓣图案和“HUAWEI”四个字母组成,其中花瓣图案象征着公司的创新精神和对技术的追求。华为在全球范围内拥有广泛的影响力,特别是在通信技术和5G领域。",
"role": "assistant"
},
"finish_reason": "stop",
"index": 0,
"logprobs": null
}
],
"object": "chat.completion",
"usage": {
"prompt_tokens": 47,
"completion_tokens": 80,
"total_tokens": 127,
"prompt_tokens_details": {
"cached_tokens": 0
}
},
"created": 1751869737,
"system_fingerprint": null,
"model": "jiaorong-qwen2.5-vl-72b-instruct",
"id": "chatcmpl-20b64b14-2b0c-9b05-9d52-0326a94676f4"
}