文本生成API

强大的文本生成接口,支持多种生成任务,从简单补全到复杂创作

核心API高度定制多场景应用

API概述

接口信息

POSThttps://api.n1n.ai/v1/completions
Content-Type:application/json
✍️

文本补全

自动完成句子和段落

📝

内容创作

生成文章、故事、诗歌

🔄

文本转换

翻译、改写、摘要

请求参数

参数名类型必需说明
modelstring模型ID,如:text-davinci-003
promptstring | array输入文本或文本数组
max_tokensinteger最大生成Token数(默认:16)
temperaturefloat控制随机性(0-2,默认:1)
top_pfloat核采样参数(0-1,默认:1)
ninteger生成结果数量(默认:1)
streamboolean是否流式输出(默认:false)
stopstring | array停止序列,遇到时停止生成
presence_penaltyfloat降低重复话题(-2.0到2.0)
frequency_penaltyfloat降低重复词汇(-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模型获得更好的性能