文本补全
功能描述
文本补全专注于基于用户提供的现有文本片段 Prompt ,生成逻辑连贯、风格统一的续写内容,实现对已有文本的无缝扩展、完善或补充。无论是句子续写、段落扩展、格式填充还是内容润色,均能通过简洁的 API 调用实现,且兼容 OpenAI 风格接口,降低开发者接入成本。
功能特点:
- 上下文感知:精准理解输入文本的语义、逻辑和风格,确保补全内容与原文一脉相承
- 多场景适配:支持句子补全、段落续写、文档扩充、格式填充(如表格内容补全)、内容润色等场景
- 风格统一:可通过参数控制补全内容与原文风格的一致性,包括语气、正式度、专业领域词汇等
- 无缝集成:兼容主流开发框架(
LangChain、LlamaIndex等),支持与文本生成功能协同使用 - 高效响应:支持流式输出
Stream,实时获取补全结果,提升交互体验
模力方舟集成了多种高性能文本补全模型,您可以在 AI 模型广场 中了解其特性并体验效果,您也可以通过 基础文本补全示例 快速上手。
快速上手:基础文本补全示例
示例一:通过 curl 快速使用文本补全能力
使用 curl 可清晰了解文本补全请求的路径、参数的原始情况:
curl https://ai.gitee.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 工作。
- 获取访问凭证:登录模力方舟控制台,在 工作台 -> 访问令牌 中创建访 问令牌。
- 安装客户端:以 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://ai.gitee.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://ai.gitee.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="")
可能的输出:
在遥远的未来,人类已经能够自由穿梭于星际之间,在不同的星球上建立起繁荣的殖民地。他们破解了宇宙的诸多奥秘,掌握了先进的能源技术,能够利用恒星的能量为文明提供源源不断的动力。同时,人类与其他外星文明建立了友好的交流与合作关系,共同探索宇宙的未知领域,推动着整个银河系的文明进步...