文本生成API
强大的文本生成接口,支持多种生成任务,从简单补全到复杂创作
核心API高度定制多场景应用
API概述
接口信息
POSThttps://api.n1n.ai/v1/completions
Content-Type:application/json
✍️
文本补全
自动完成句子和段落
📝
内容创作
生成文章、故事、诗歌
🔄
文本转换
翻译、改写、摘要
请求参数
| 参数名 | 类型 | 必需 | 说明 |
|---|---|---|---|
| model | string | 是 | 模型ID,如:text-davinci-003 |
| prompt | string | array | 是 | 输入文本或文本数组 |
| max_tokens | integer | 否 | 最大生成Token数(默认:16) |
| temperature | float | 否 | 控制随机性(0-2,默认:1) |
| top_p | float | 否 | 核采样参数(0-1,默认:1) |
| n | integer | 否 | 生成结果数量(默认:1) |
| stream | boolean | 否 | 是否流式输出(默认:false) |
| stop | string | array | 否 | 停止序列,遇到时停止生成 |
| presence_penalty | float | 否 | 降低重复话题(-2.0到2.0) |
| frequency_penalty | float | 否 | 降低重复词汇(-2.0到2.0) |
代码示例
基础文本生成
Python
import requests
response = requests.post(
"https://api.n1n.ai/v1/completions",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"model": "text-davinci-003",
"prompt": "写一首关于春天的诗:",
"max_tokens": 100,
"temperature": 0.8
}
)
result = response.json()
print(result['choices'][0]['text'])批量生成多个结果
JavaScript
const response = await fetch('https://api.n1n.ai/v1/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'text-davinci-003',
prompt: '给产品起个名字:智能家居控制系统',
max_tokens: 20,
temperature: 0.9,
n: 5, // 生成5个不同的结果
stop: ['\n']
})
});
const data = await response.json();
// 输出所有生成的名字
data.choices.forEach((choice, index) => {
console.log(`选项${index + 1}: ${choice.text.trim()}`);
});使用停止序列控制输出
// 生成问答对,遇到"问:"时停止
const generateQA = async () => {
const response = await fetch('https://api.n1n.ai/v1/completions', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'text-davinci-003',
prompt: '问:什么是人工智能?\n答:',
max_tokens: 200,
temperature: 0.7,
stop: ['问:', '\n\n'] // 遇到这些序列时停止
})
});
const data = await response.json();
return data.choices[0].text;
};参数详解
Temperature参数
控制输出的随机性和创造性,值越高越随机,越低越确定。
低温度 (0-0.3)
精确、一致、保守
适合:事实查询、代码生成
中温度 (0.4-0.7)
平衡、自然、流畅
适合:对话、翻译
高温度 (0.8-2.0)
创造、多样、意外
适合:创意写作、头脑风暴
Top_p参数(核采样)
控制采样的累积概率阈值,与temperature配合使用。
top_p = 0.1只考虑前10%最可能的词
top_p = 0.5考虑前50%的词汇
top_p = 1.0考虑所有词汇
惩罚参数
Presence Penalty
惩罚已出现的主题,鼓励谈论新话题。
- • 正值:避免重复话题
- • 负值:聚焦相同话题
- • 范围:-2.0 到 2.0
Frequency Penalty
根据词频惩罚,减少重复用词。
- • 正值:减少重复词汇
- • 负值:允许更多重复
- • 范围:-2.0 到 2.0
应用场景
📝 内容创作
{
"prompt": "写一篇关于可持续发展的文章开头:",
"max_tokens": 200,
"temperature": 0.8
}适合生成博客、文章、创意内容
💼 商业文案
{
"prompt": "产品:智能手表\n特点:健康监测\n文案:",
"max_tokens": 50,
"temperature": 0.7
}生成营销文案、产品描述
🎯 数据提取
{
"prompt": "从以下文本提取关键词:...",
"max_tokens": 30,
"temperature": 0.3
}信息提取、摘要生成
🔄 文本转换
{
"prompt": "将以下内容改写得更专业:...",
"max_tokens": 150,
"temperature": 0.5
}风格转换、语气调整
最佳实践
清晰的提示词
提供明确的指令和上下文,使用分隔符区分不同部分
合理设置参数
根据任务类型调整temperature和max_tokens
使用停止序列
定义合适的停止条件,避免生成过多无关内容
错误处理
实现重试机制和错误处理逻辑
注意事项
- • Text Generation API正在逐步迁移到Chat Completion API
- • 某些新模型可能不支持completions端点
- • max_tokens包含在总Token限制内
- • 批量请求(n>1)会消耗更多Token
- • 建议使用Chat模型获得更好的性能