NectarAI 调用示例(离线版)

以下代码仅展示调用方式与返回格式,不含任何可用 API-Key
请将 YOUR_API_KEY 替换成从控制台获取的密钥后再测试。

1. 基础信息

2. 聊天完成 POST /api/v1/chat/completions

① 请求体(非流式)

{   "model": "NectarAI/Nectar-7B",
  "messages": [
    {"role": "user", "content": "什么是人工智能?"}
  ],
  "temperature": 0.7,
  "stream": false
}

② PHP 调用示例

<?php
$host = 'https://open.ai.zjb522.cn';
$apiKey = 'YOUR_API_KEY'; // 换成你的密钥

$payload = [
  'model' => 'NectarAI/Nectar-7B',
  'messages' => [
    ['role' => 'user', 'content' => '什么是人工智能?']
  ],
  'temperature' => 0.7,
  'stream' => false
];

$ch = curl_init($host.'/api/v1/chat/completions');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Authorization: Bearer '.$apiKey
  ],
  CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE),
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_SSL_VERIFYPEER => true,
  CURLOPT_TIMEOUT => 30
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

$data = json_decode($response, true);
if (isset($data['error'])) {
  echo '调用失败:' . $data['error']['message'];
} else {
  echo $data['choices'][0]['message']['content'] ?? '';
}
?>

③ Python 调用示例

import requests
import json

url = 'https://open.ai.zjb522.cn/api/v1/chat/completions'
headers = {
  'Content-Type': 'application/json',
  'Authorization': 'Bearer YOUR_API_KEY'
}
payload = {
  'model': 'NectarAI/Nectar-7B',
  'messages': [{'role': 'user', 'content': '什么是人工智能?'}],
  'temperature': 0.7,
  'stream': False
}

resp = requests.post(url, headers=headers, json=payload, timeout=30)
resp.raise_for_status() # 非 200 会抛异常
data = resp.json()
print(data['choices'][0]['message']['content'])

④ cURL 一键命令

# 复制后把 YOUR_API_KEY 换成真实 key 即可执行
curl -sS 'https://open.ai.zjb522.cn/api/v1/chat/completions' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -d '{     "model": "NectarAI/Nectar-7B",     "messages": [{"role": "user", "content": "什么是人工智能?"}],     "temperature": 0.7,     "stream": false   }'

⑤ 返回体示例(200)

{   "id": "chatcmpl-6942875402500",
  "object": "chat.completion",
  "created": 1704067200,
  "model": "NectarAI/Nectar-7B",
  "choices": [{
    "index": 0,
    "message": {
      "role": "assistant",
      "content": "北京今天晴,气温 22~30 ℃,南风 2 级……"
    },
    "finish_reason": "stop"
  }],
  "usage": {
    "prompt_tokens": 22,
    "completion_tokens": 38,
    "total_tokens": 60
  }
}

3. 流式响应(SSE)

"stream": true 后,返回标准 text/event-stream,每段格式:

data: { "choices":[{ "delta":{"content":"xxx"} }] }

结束标志:

data: [DONE]

4. 计费标准

模型单价(CNY/1k tokens)最大 tokens
NectarAI/Nectar-7B ¥0.01 4 096

计费公式:cost = total_tokens × 0.01 / 1000
余额不足返回 HTTP 402 insufficient_funds

5. 错误码速查

HTTPcode说明
401invalid_api_keyAPI-Key 无效或账号被禁用
402insufficient_funds余额不足
400missing_messages缺少 messages 字段
405method_not_allowedHTTP 方法不被允许
502upstream_error服务器错误

6. 常见问答