( API ) — YuazLLM 3B MoE
API 三种格式
同一个模型,三种调用方式:原子格式(网页服务在用的原生格式)、 OpenAI 兼容、Claude 兼容。三种都支持流式与非流式。
鉴权:公开免鉴权
限流:150 次/分钟
max_tokens:≤ 500
思考链:≤ 500 字(与回复分开)
上下文:1024 字 · 最多 8 轮
模型名:yuaz-llm-3b-moe
POST
https://ai.yuaz.club/api/ai/chat网页对话页正在使用的原生格式:只传本轮 message 与历史 history,超长由服务端自动剔除最旧轮次(最多保留最近 8 轮)。
请求体
{
"message": "你好",
"history": [
{ "role": "user", "content": "上一句" },
{ "role": "assistant", "content": "上一句的回复" }
],
"stream": false,
"max_new_tokens": 500,
"temperature": 0.7,
"top_k": 20,
"top_p": 0.9,
"repetition_penalty": 1.15,
"force_think": false
}
参数说明
max_new_tokens 回复字数上限,1–500(默认 500)
force_think 强制思考模式:true 时服务端在助手回合前预填思考标签,
让模型先输出思考过程;思考最多 500 字,与回复字数分开计算。
思考超过 500 字仍未作答时,服务端会自动截断思考链并继续生成答案。
history 最多保留最近 8 轮,超出自动丢弃最早的整轮。
响应(非流式)
{
"success": true,
"reply": "我是元晦(Yuaz LLM YuAn Hui),原子漫画社……",
"time": "8.2s",
"device": "Vulkan GPU (元晦 3B MoE SFT-v3)",
"thinking": "用户问我是谁,先简单介绍自己。",
"sources": [],
"prompt_tokens": 12,
"completion_tokens": 42,
"tools_used": 0,
"rounds": 1,
"context_truncated": false,
"dropped_rounds": 0
}
流式(stream: true)
event: think ← 思维链增量(前端可折叠展示)
data: {"delta":"我先想想…"}
event: sources ← 联网搜索命中时返回来源
data: {"items":[{"title":"原神_百度百科","url":"https://baike.baidu.com/…"}]}
event: meta ← 进度 / 上下文状态
data: {"status":"thinking","context_truncated":false,"dropped_rounds":0}
data: {"token":"我"}
data: {"token":"是"}
event: usage ← 本次 token 用量
data: {"prompt_tokens":12,"completion_tokens":8}
event: meta
data: {"tools_used":0,"rounds":1,"context_truncated":false,"dropped_rounds":0}
data: [DONE]
curl
curl -N -X POST https://ai.yuaz.club/api/ai/chat \
-H 'Content-Type: application/json' \
-d '{"message":"你好","stream":true}'
POST
https://ai.yuaz.club/v1/chat/completionsGET
https://ai.yuaz.club/v1/models兼容 OpenAI Chat Completions。把 SDK 的 base_url 指到 https://ai.yuaz.club/v1,api_key 随便填即可。
请求体
{
"model": "yuaz-llm-3b-moe",
"messages": [
{ "role": "system", "content": "你是一个友好的助手" },
{ "role": "user", "content": "你好" }
],
"max_tokens": 500,
"temperature": 0.7,
"stream": false
}
响应(非流式)
{
"id": "chatcmpl-xxxxxxxx",
"object": "chat.completion",
"created": 1789187000,
"model": "yuaz-llm-3b-moe",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "我是元晦……" },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 0, "completion_tokens": 0, "total_tokens": 0 }
}
流式(标准 SSE chunk)
data: {"id":"chatcmpl-xxx","object":"chat.completion.chunk","choices":[{"index":0,"delta":{"content":"我"},"finish_reason":null}]}
data: {"...":"...","choices":[{"index":0,"delta":{},"finish_reason":"stop"}]}
data: [DONE]
Python(openai SDK)
from openai import OpenAI
client = OpenAI(base_url="https://ai.yuaz.club/v1", api_key="not-needed")
resp = client.chat.completions.create(
model="yuaz-llm-3b-moe",
messages=[{"role": "user", "content": "你好"}],
)
print(resp.choices[0].message.content)
curl
curl -N https://ai.yuaz.club/v1/chat/completions \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer not-needed' \
-d '{"model":"yuaz-llm-3b-moe","messages":[{"role":"user","content":"你好"}],"stream":true}'
POST
https://ai.yuaz.club/v1/messages兼容 Anthropic Messages API(含 system 字段与内容块数组,以及助手预填续写)。
请求体
{
"model": "yuaz-llm-3b-moe",
"max_tokens": 500,
"system": "你是一个友好的助手",
"messages": [
{ "role": "user", "content": "你好" }
],
"stream": false
}
响应(非流式)
{
"id": "msg_xxxxxxxx",
"type": "message",
"role": "assistant",
"model": "yuaz-llm-3b-moe",
"content": [ { "type": "text", "text": "我是元晦……" } ],
"stop_reason": "end_turn",
"stop_sequence": null,
"usage": { "input_tokens": 0, "output_tokens": 0 }
}
流式(Anthropic 事件序列)
event: message_start
data: {"type":"message_start","message":{"id":"msg_xxx","role":"assistant","content":[]}}
event: content_block_start
data: {"type":"content_block_start","index":0,"content_block":{"type":"text","text":""}}
event: content_block_delta
data: {"type":"content_block_delta","index":0,"delta":{"type":"text_delta","text":"我"}}
event: content_block_stop
data: {"type":"content_block_stop","index":0}
event: message_delta
data: {"type":"message_delta","delta":{"stop_reason":"end_turn"},"usage":{"output_tokens":1}}
event: message_stop
data: {"type":"message_stop"}
Python(anthropic SDK)
from anthropic import Anthropic
client = Anthropic(base_url="https://ai.yuaz.club", api_key="not-needed")
msg = client.messages.create(
model="yuaz-llm-3b-moe",
max_tokens=500,
messages=[{"role": "user", "content": "你好"}],
)
print(msg.content[0].text)
curl
curl -N https://ai.yuaz.club/v1/messages \
-H 'Content-Type: application/json' \
-H 'anthropic-version: 2023-06-01' \
-H 'x-api-key: not-needed' \
-d '{"model":"yuaz-llm-3b-moe","max_tokens":500,"messages":[{"role":"user","content":"你好"}]}'
试一试
结果会显示在这里(非流式)。