WiseDiag 大模型
1. 接入配置 (Configuration)
在调用接口前,请配置以下基础信息。具体的API Key 将单独提供。
- Model Name (模型名称):
wisediag-large-latest - Base URL (基础地址):
https://openapi.wisediag.com - 上下文窗口 (Context Window):
128k tokens(输入 + 输出共享,即prompt_tokens + completion_tokens不能超过此上限) - 推荐输出长度 (
max_tokens):8192,可满足绝大多数业务场景
2. 接口说明 (Endpoint)
- 请求路径:
/v1/chat/completions - 请求方式:
POST - Content-Type:
application/json - API 版本: 当前为
v1。路径中的/v1/即代表接口版本号。当有新版本发布时,将以/v2/等形式提供新端点,旧版本在过渡期内将继续可用,届时会通过公告提前通知废弃计划。
3. 请求参数 (Request Parameters)
| 参数名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | - | 固定值为 wisediag-large-latest |
| messages | list | 是 | - | 对话上下文列表,包含 role (user/system/assistant) 和 content。接口本身不维护对话状态,多轮对话需由调用方自行累积历史消息(详见第 6 节) |
| stream | boolean | 否 | false | 是否开启流式传输。推荐设置为 true 以获得更好的实时响应体验 |
| temperature | float | 否 | 0.6 | 采样温度。控制输出的随机性,建议保持默认 0.6 |
| top_p | float | 否 | 0.95 | 核采样概率。建议保持默认 0.95 |
| max_tokens | integer | 否 | 81920 | 生成内容的最大 Token 数。推荐设置为 8192,可满足绝大多数业务场景;模型上下文窗口为 128k,且输入 + 输出共享该上限 |
| extra_body | object | 否 | - | 扩展控制参数。当前支持 enable_thinking 用于关闭/开启深度思考(详见第 7 节) |
重要建议:本模型已针对医疗推理任务做过专门调优,请仅传入上表列出的参数,其余采样字段沿用服务端默认即可。自行调整惩罚类、重复度类等高级采样参数会导致输出质量显著下降(典型表现:JSON 结构崩坏、内容重复、语义割裂)。
4. 调用示例 (Code Examples)
方式一:Python (推荐)
该接口完全兼容 OpenAI Python SDK (v1.0+)。请确保已安装库:pip install openai。
注意: 该模型返回包含 reasoning_content(推理过程)和标准 content。以下代码展示了如何同时获取这两部分内容。
from openai import OpenAI
import os
# 配置客户端
client = OpenAI(
api_key="YOUR_API_KEY", # 请替换为实际提供的 Key
base_url="https://openapi.wisediag.com/v1",
)
def chat_with_wisediag(prompt):
messages = [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": prompt}
]
try:
response = client.chat.completions.create(
model="wisediag-large-latest",
messages=messages,
max_tokens=8192,
temperature=0.6,
top_p=0.95,
stream=True, # 开启流式输出
# 如需关闭深度思考,使用:extra_body={"enable_thinking": False}
)
print("--- 正在生成回答 ---")
full_reasoning = ""
full_content = ""
for chunk in response:
# 处理 Usage 信息(通常在最后一个 chunk)
if hasattr(chunk, "usage") and chunk.usage:
print(f"\n[Token Usage] Prompt: {chunk.usage.prompt_tokens}, Completion: {chunk.usage.completion_tokens}")
break
delta = chunk.choices[0].delta
# 获取推理过程 (Reasoning Content)
reasoning_piece = getattr(delta, "reasoning_content", None)
if reasoning_piece:
print(reasoning_piece, end="", flush=True)
full_reasoning += reasoning_piece
# 获取最终回复内容 (Content)
content_piece = getattr(delta, "content", None)
if content_piece:
print(content_piece, end="", flush=True)
full_content += content_piece
return full_content
except Exception as e:
print(f"请求发生错误: {e}")
return None
if __name__ == "__main__":
chat_with_wisediag("你好,请介绍一下你自己。")方式二:cURL (命令行)
适用于快速测试接口连通性。
curl --location 'https://openapi.wisediag.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"model": "wisediag-large-latest",
"messages": [
{"role": "user", "content": "你好"}
],
"max_tokens": 8192,
"temperature": 0.6,
"top_p": 0.95,
"stream": true
}'5. 响应字段说明 (Response Handling)
该模型在流式模式下(stream: true)会返回特殊字段。
delta.reasoning_content: 模型的思维链/推理过程内容。在最终答案生成前,模型可能会先输出这段推理文本。delta.content: 标准的回复内容。usage: 在流式结束时,最后一个数据包会包含 Token 消耗统计(包括prompt_tokens和completion_tokens),可用于计费和用量统计。
6. 多轮对话 (Multi-turn Conversations)
本接口为无状态接口,服务端不会保存任何对话历史。每次请求都是独立的,如需实现多轮对话,调用方需要自行在客户端维护 messages 数组,将历史对话按顺序传入。
实现方式
每轮对话后,将模型返回的 assistant 回复追加到 messages 列表中,再将用户的新问题追加为新的 user 消息,一并发送给接口。
from openai import OpenAI
client = OpenAI(
api_key="YOUR_API_KEY",
base_url="https://openapi.wisediag.com/v1",
)
conversation_history = [
{"role": "system", "content": "You are a helpful assistant."}
]
def chat(user_input):
conversation_history.append({"role": "user", "content": user_input})
response = client.chat.completions.create(
model="wisediag-large-latest",
messages=conversation_history,
stream=False,
)
assistant_reply = response.choices[0].message.content
conversation_history.append({"role": "assistant", "content": assistant_reply})
return assistant_reply
# 第一轮
print(chat("帮我解释一下什么是血常规检查?"))
# 第二轮(模型能理解"它"指的是上文的"血常规检查")
print(chat("它一般包含哪些指标?"))注意事项
- Token 累积: 每轮对话的
messages会包含全部历史,Token 消耗会随轮次增长。建议在历史过长时做截断或摘要,控制在上下文窗口内。 - 上下文窗口: 模型的上下文窗口有限,当历史消息总 Token 数超出限制时,请裁剪早期消息。
7. 功能边界说明 (Feature Scope)
推荐问题(追问)
当前接口不会在响应中主动返回"推荐问题"或"追问建议"。如需实现此功能,开发者可在 system 提示词中引导模型在回复末尾生成推荐问题,再自行解析提取。
深度思考 (Reasoning Content)
相关章节:第 5 节「响应字段说明」中的
reasoning_content字段。
模型在生成最终回答前,可能会先输出一段推理过程(通过 reasoning_content 字段返回)。请注意:
- 输出顺序: 流式模式下,
reasoning_content会在content之前输出。当推理完成后,才会开始返回最终回答内容。 - 额外耗时: 深度思考阶段会增加首个
contentToken 的等待时间(通常数秒到十余秒),这属于正常行为,并非接口性能问题。 - 可能为空: 部分简单问题可能不触发深度思考,此时
reasoning_content不会出现在响应中。
关闭深度思考
默认开启深度思考。对于严格结构化输出(如要求返回固定 JSON 格式)或追求低延迟的场景,可主动关闭:
response = client.chat.completions.create(
model="wisediag-large-latest",
messages=messages,
stream=True,
extra_body={"enable_thinking": False}, # 关闭深度思考
)cURL 等价写法:
curl --location 'https://openapi.wisediag.com/v1/chat/completions' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"model": "wisediag-large-latest",
"messages": [{"role": "user", "content": "你好"}],
"stream": true,
"enable_thinking": false
}'关闭后,响应中将不会出现 reasoning_content 字段,模型会直接输出 content,首 Token 延迟显著降低。