文本生成
功能描述
文本生成支持基于用户输入的文本提示 Prompt ,生成符合语境、逻辑连贯的续写内容,或直接创作全新文本。无论是长文创作,还是特定风格的内容生成,均能通过简洁的 API 调用实现,且兼容 OpenAI 风格接口,降低开发者接入成本。
功能特点:
- 多场景适配:支持文案创作、代码生成、内容摘要等多类场景
- 风格可控:可通过参数精准控制生成内容的随机性、长度、语气风格
- 无缝集成:兼容主流开发框架
LangChain、LlamaIndex等),支持函数调用、工具链扩展 - 高效响应:支持流式输出
Stream,减少等待时间,提升交互体验
模力方舟集成了多种高性能文本生成模型,您可以在 AI 模型广场 中了解其特性并体验效果,也可以通过 基础文本生成示例 快速上手。
快速上手:基础文本生成示例
示例一:通过 curl 快速使用大模型能力
一些框架、插件封装度较高,curl 可清晰了解请求路径、参数的原始情况:
- Bash
- JavaScript
curl https://api.moark.com/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的访问令牌" \
-d '{
"model": "Qwen2.5-72B-Instruct",
"stream": false,
"messages": [
{
"role": "system",
"content": "你是聪明的助手"
},
{
"role": "user",
"content": "老鼠生病了可以吃老鼠药治好吗?"
}
]
}'
async function query(data) {
const response = await fetch('https://api.moark.com/v1/chat/completions', {
headers: {
Authorization: 'Bearer xxxxx',
'Content-Type': 'application/json',
},
method: 'POST',
body: JSON.stringify(data),
});
const result = await response.json();
return result;
}
query({
"messages": [
{
"role": "system",
"content": "你是聪明的助手"
},
{
"role": "user",
"content": "老鼠生病了可以吃老鼠药治好吗?"
}
],
"model": "Qwen2.5-72B-Instruct",
"stream": false,
"max_tokens": 512,
"temperature": 0.7,
"top_p": 0.7,
"frequency_penalty": 1
}).then((response) => {
console.log(JSON.stringify(response));
});
AI 模型响应:
{
"id": "chat-476266af435142d2bb7d342ea54694f2",
"object": "chat.completion",
"created": 1731401912,
"model": "Qwen2.5-72B-Instruct",
"choices": [{
"index": 0,
"message": {
"role": "assistant",
"content": "不可以。老鼠药是用于杀死老鼠的毒药,而不是治疗老鼠的疾病。如果老鼠生病了,应该寻求兽医的帮助。",
"tool_calls": []
},
"logprobs": null,
"finish_reason": "stop",
"stop_reason": null
}],
"usage": {
"prompt_tokens": 27,
"total_tokens": 57,
"completion_tokens": 30
},
"prompt_logprobs": null
}
示例二:使用 OpenAI 客户端调用模力方舟模型 API
模力方舟的 Serverless API 兼容开发者喜爱且社区流行的 OpenAI 风格 API。
所有支持 OpenAI API 的工具都可以直接使用模力方舟的 Serverless API 工作。
- 获取访问凭证:登录模力方舟控制台,在 工作台 -> 访问令牌 中创建访问令牌。
- 安装客户端:以 OpenAI 客户端为例,首先安装依赖:
pip install openai -i https://mirrors.cloud.tencent.com/pypi/simple
如果您有 javascript 经验可使用 OpenAI nodejs 客户端
通过简单接口调用,生成指定内容:
from openai import OpenAI
import json
base_url = "https://api.moark.com/v1"
model_name = "Qwen2.5-72B-Instruct"
# https://moark.com/dashboard/settings/tokens 获取您的访问令牌
GITEE_AI_API_KEY = "您的访问令牌"
client = OpenAI(base_url=base_url, api_key=GITEE_AI_API_KEY)
completion = client.chat.completions.create(
model=model_name, # 指定模型名称 例如 Qwen2.5-72B-Instruct,可访问 https://moark.com/serverless-api 查看
stream=True,
temperature=0.7,
top_p=0.95,
frequency_penalty=1.05,
messages=[
{"role": "system", "content": "你是一个有用的助手。"},
{"role": "user", "content": "写一个 python 简明教程"}
]
)
for chunk in completion:
print(chunk.choices[0].delta.content, end="")
除了纯文本,您还可以让模型以 JSON 格式返回结构化数据 —— 此功能称为 结构化输出 ,在模力方舟中可通过 guided_json 参数实现。
流式响应
对于长文本生成,启用流式响应 stream=True 可实时获取结果,减少等待时间:
from openai import OpenAI
# 初始化客户端
client = OpenAI(
base_url="https://api.moark.com/v1",
api_key="您的访问令牌"
)
stream = client.chat.completions.create(
model="Qwen2.5-72B-Instruct",# 替换成指定模型名称
messages=[
{"role": "user", "content": "写一段关于人工智能发展历程的短文"}
],
stream=True, # 启用流式输出
temperature=0.6
)
for chunk in stream:
if chunk.choices[0].delta.content:
print(chunk.choices[0].delta.content, end="")
更多示例代码您可参考 模力方舟示例代码仓库 。
核心参数说明
- tool_choice: 支持
auto由模型自动选择工具,也支持强制选择工具,写法如下:
"tool_choice": {"type": "function", "function": {"name": "function_name"}},
-
guided_json:让模型以指定的 JSON Schema 响应。不建议与
tools、guided_json同时传入。JSON Schema 更多信息可参阅:JSON Schema
-
guided_choice: 让模型选择提供的字符串列表之一,不建议与
tools、guided_json同时传入。
例如判断用户输入正负面性可传入:
"guided_choice": ["正面", "负面", "中性"]
其他参数详见 接口文档
模型选择
通过 API 生成内容时,一个关键选择是您想要使用的模型,即上述代码示例中的 model 参数。您可以在 模型广场 找到可用模型的完整列表。选择文本生成模型时,需要考虑以下几个因素:
任务场景适配
- 通用文本创作:如文案撰写、故事续写,优先选语言理解与生成能力均衡的模型,适配日常多样化表达需求
- 专业领域任务:代码生成、数学推理等场景,需聚焦模型在对应领域的专项能力,像代码逻辑推导、公式运算精度
- 长文本处理:万字级文档生成,关注模型上下文窗口(如 32K、128K 等),确保完整承接信息逻辑