跳到主要内容

文本补全

功能描述

文本补全专注于基于用户提供的现有文本片段 Prompt ,生成逻辑连贯、风格统一的续写内容,实现对已有文本的无缝扩展、完善或补充。无论是句子续写、段落扩展、格式填充还是内容润色,均能通过简洁的 API 调用实现,且兼容 OpenAI 风格接口,降低开发者接入成本。

功能特点

  • 上下文感知:精准理解输入文本的语义、逻辑和风格,确保补全内容与原文一脉相承
  • 多场景适配:支持句子补全、段落续写、文档扩充、格式填充(如表格内容补全)、内容润色等场景
  • 风格统一:可通过参数控制补全内容与原文风格的一致性,包括语气、正式度、专业领域词汇等
  • 无缝集成:兼容主流开发框架(LangChainLlamaIndex 等),支持与文本生成功能协同使用
  • 高效响应:支持流式输出 Stream,实时获取补全结果,提升交互体验

模力方舟集成了多种高性能文本补全模型,您可以在 AI 模型广场 中了解其特性并体验效果,您也可以通过 基础文本补全示例 快速上手。

快速上手:基础文本补全示例

示例一:通过 curl 快速使用文本补全能力

使用 curl 可清晰了解文本补全请求的路径、参数的原始情况:

curl https://moark.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer 您的访问令牌" \
-d '{
"model": "Qwen2.5-72B-Instruct",
"prompt": "人工智能是一门研究如何使计算机能够",
"stream": false,
"max_tokens": 100,
"temperature": 0.7
}'

AI 模型响应:

json
{
"id": "cmpl-6d4f8a9b9c7e6f5d4c3b2a1",
"object": "text_completion",
"created": 1731402000,
"model": "Qwen2.5-72B-Instruct",
"choices": [
{
"text": "像人类一样思考、学习和执行各种智能任务的学科。它融合了计算机科学、数学、心理学、语言学等多个领域的知识,旨在构建具有智能行为的系统。这些系统能够感知环境、处理信息、进行推理决策,并通过经验不断改进自身性能,广泛应用于图像识别、自然语言处理、机器人技术等诸多领域。",
"index": 0,
"logprobs": null,
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 15,
"completion_tokens": 120,
"total_tokens": 135
}
}

示例二:使用 OpenAI 客户端调用文本补全 API

模力方舟的 Serverless API 兼容开发者喜爱且社区流行的 OpenAI 风格 API。

所有支持 OpenAI API 的工具都可以直接使用模力方舟的 Serverless API 工作。

  1. 获取访问凭证:登录模力方舟控制台,在 工作台 -> 访问令牌 中创建访问令牌。
  2. 安装客户端:以 OpenAI 客户端为例,首先安装依赖:
pip install openai -i https://mirrors.cloud.tencent.com/pypi/simple

如果您有 javascript 经验可使用 OpenAI nodejs 客户端

通过简单接口调用,生成指定内容:

python
from openai import OpenAI

client = OpenAI(
base_url="https://moark.com/v1",
api_key="您的访问令牌"
)

response = client.completions.create(
model="Qwen2.5-72B-Instruct",
prompt="春天来了,公园里的花儿",
max_tokens=50,
temperature=0.8
)
print(response.choices[0].text)

流式响应

对于较长文本的补全,启用流式响应 stream=True 可实时获取补全内容,提升用户体验:

python
from openai import OpenAI

client = OpenAI(
base_url="https://moark.com/v1",
api_key="您的访问令牌"
)

stream = client.completions.create(
model="Qwen2.5-72B-Instruct",
prompt="在遥远的未来,人类已经能够",
stream=True,
max_tokens=200,
temperature=0.9
)

for chunk in stream:
if chunk.choices[0].text:
print(chunk.choices[0].text, end="")

可能的输出:

在遥远的未来,人类已经能够自由穿梭于星际之间,在不同的星球上建立起繁荣的殖民地。他们破解了宇宙的诸多奥秘,掌握了先进的能源技术,能够利用恒星的能量为文明提供源源不断的动力。同时,人类与其他外星文明建立了友好的交流与合作关系,共同探索宇宙的未知领域,推动着整个银河系的文明进步...

参数说明

参数说明详见 接口文档

模型选择

选择合适的模型进行文本补全,需结合补全场景的特点和模型的特性,以下是关键考虑因素:

任务场景适配

  • 短句 / 短语补全:如搜索建议、句子填空,可选择轻量级模型(如 Qwen3-4B、Qwen3-8B ),兼顾速度与成本
  • 长文本片段补全:如文章续写、段落扩展,需选择上下文窗口较大(如 128K )且长文本理解能力强的模型(如 kimi-k2-instruct )
  • 专业领域补全:如学术论文片段补全、专业报告续写,优先选择在对应领域训练的模型(如 ERNIE-4.5-Turbo 擅长中文专业领域,DeepSeek-R1 擅长推理)

功能特性需求

  • 风格一致性:若需严格保持与输入文本一致的风格(如古文补全、特定作者文风模仿),可选择对风格感知敏感的模型(如 Qwen2.5-72B-Instruct )
  • 事实准确性:对于需要准确事实支撑的补全(如技术文档补全),关注模型的事实性表现

选型实践建议

  • 快速验证:先用小参数模型(如 Qwen3-4B )测试补全逻辑和提示词效果,降低试错成本
  • 效果优化:根据补全质量反馈(如连贯性、相关性),切换至更优模型。例如短句补全效果不佳时,可尝试 Qwen2.5-32B-Instruct

综合以上因素,从模力方舟模型广场中选择最匹配您文本补全场景的模型,可获得更高效、更高质量的补全结果。

提示工程

在文本补全中,提示词(prompt)的设计尤为重要,直接影响补全内容与原始文本的连贯性和相关性。好的提示词能够引导模型生成符合预期的补全结果。

明确补全边界与方向

在 prompt 中清晰暗示补全的方向和范围,有助于模型生成更贴合需求的内容。

示例:

  • 不佳的 prompt:"电脑的用途"(更偏向生成全新内容)
  • 较好的 prompt:"电脑的用途广泛,例如在工作中,它可以帮助我们"(明确是对 “工作中用途” 的补全)

保持风格一致性

若希望补全内容与输入文本风格一致(如正式 / 非正式、专业 / 通俗、特定文体),可在 prompt 中体现或通过 instructions 参数指定。

示例:通过 instructions 设定风格

python
from openai import OpenAI

client = OpenAI(
base_url="https://moark.com/v1",
api_key="您的访问令牌"
)

client.completions.create(
model="Qwen2.5-72B-Instruct",
prompt="余尝闻,世间至美之物,莫过于",
instructions="用文言文风格续写,语言典雅,意境优美",
max_tokens=100
)

可能的输出:

余尝闻,世间至美之物,莫过于山川之巍峨,江河之浩渺。朝观日出东海,霞光万丈;暮赏月落西山,清辉千里。春有百花争艳,秋有硕果飘香,此等自然之景,非人工所能雕琢,足令人心旷神怡,流连忘返。

利用上下文提示

对于长文本片段的补全,确保提供足够的上下文信息,帮助模型理解文本的主题、逻辑和风格。 示例:

python
from openai import OpenAI

client = OpenAI(
base_url="https://moark.com/v1",
api_key="您的访问令牌"
)

prompt = """
以下是一篇关于环境保护的文章片段,请继续补全:

"随着工业化进程的加速,环境问题日益凸显。空气污染、水污染、土壤污染等不仅威胁着生态平衡,也对人类的健康造成了严重影响。为了应对这些挑战,我们每个人都有责任行动起来,"
"""

client.completions.create(
model="Qwen2.5-72B-Instruct",
prompt=prompt,
max_tokens=150
)

少样本补全示例

通过在 prompt 中提供 “输入片段 + 补全示例”,可以引导模型快速掌握特定补全模式。 示例:邮件回复片段补全

python
prompt = """
请按照以下示例的风格,补全邮件回复片段:

示例1:
输入片段:"请问下周一会议的时间可以调整吗?"
补全内容:"您好,下周一会议的时间可以调整,请问您方便周一下午2点或者周三上午10点吗?期待您的回复。"

示例2:
输入片段:"关于项目延期的问题,我想和您讨论一下解决方案。"
补全内容:"您好,关于项目延期的问题,我很乐意和您一起讨论解决方案。我今天下午和明天全天都有空,您看什么时间方便?"

需要补全的片段:"能否提供一下上个月的财务报表?"
补全内容:
"""

from openai import OpenAI

client = OpenAI(
base_url="https://moark.com/v1",
api_key="您的访问令牌"
)

client.completions.create(
model="Qwen2.5-72B-Instruct",
prompt=prompt,
max_tokens=50
)

可能的输出:

"您好,上个月的财务报表我已经准备好,稍后会发送到您的邮箱。如果您有任何疑问,随时可以和我联系。" 通过以上提示工程技巧,可以有效提升文本补全的质量和准确性,使补全内容更好地满足实际需求。