API易(APIYI)平台致力于为开发者提供最便捷、最全面的 API 服务。今天,我们特别为您详细介绍如何通过 API易平台快速接入和使用 OpenAI 的 GPT 接口。OpenAI 的 GPT 接口是当前最先进的自然语言处理工具之一,能够帮助您实现从文本生成、对话管理到代码编写等多种功能。借助 API易平台,您可以轻松地将这些强大的 AI 功能集成到您的应用程序中。

OpenAI API 接口分类与功能详解

根据 OpenAI 官方 API 文档,以下是 OpenAI 主要的接口分类及其核心功能和参数:

聊天对话(Chat Completions)

主要功能:构建多轮对话应用程序,例如智能客服、虚拟助手等。

  • 核心模型:`gpt-4o-latest`,`o1-preview-2024-09-12`
  • 核心参数
    • `model`:必填,指定使用的模型,例如 `gpt-3.5-turbo`。
    • `messages`:必填,对话消息列表,用于提供上下文信息。每个消息包含 `role`(角色,可选值为 `system`、`user` 或 `assistant`)和 `content`(消息内容)。例如:
      [
        {"role": "system", "content": "你是一个乐于助人的助手。"},
        {"role": "user", "content": "你好!"}
      ]
    • `max_tokens`:可选,生成文本的最大 token 数。
    • `temperature`:可选,控制生成文本的随机性,取值范围为 0 到 2。值越高,模型输出的多样性越高,更倾向于探索不常见的词汇;值越低,模型输出越确定,更倾向于选择最常见的词汇。
    • `top_p`:可选,核采样(nucleus sampling),控制模型只考虑概率累积超过 top_p 的词汇,从而限制生成文本的范围。取值范围为 0 到 1。
    • `n`:可选,生成多个候选回复的数量。
    • `stop`:可选,指定生成文本的终止条件,可以是一个字符串或字符串列表。
    • `stream`:可选,是否流式传输回部分进度。如果设置为 `true`,则会以数据流的形式实时返回生成的内容,可以用于实时显示回复,提升用户体验。
    • `presence_penalty`:可选,惩罚模型生成上下文中已存在的词汇,取值范围为 -2.0 到 2.0。
    • `frequency_penalty`:可选,惩罚模型重复生成相同的词汇,取值范围为 -2.0 到 2.0。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    completion = openai.ChatCompletion.create(
      model="gpt-4o-latest",
      messages=[
            {"role": "system", "content": "你是一个乐于助人的助手。"},
            {"role": "user", "content": "你好!"}
        ]
    )
    
    print(completion.choices[0].message['content'])

文本补全(Completions)

主要功能:生成单次文本输出,如文章续写、代码补全等。

  • 核心参数
    • `model`:必填,指定使用的模型,例如 `text-davinci-003`。
    • `prompt`:必填,提示文本,作为生成内容的起点。
    • `max_tokens`:可选,生成文本的最大 token 数。
    • `temperature`:可选,控制生成文本的随机性,取值范围为 0 到 2。值越高,模型输出的多样性越高,更倾向于探索不常见的词汇;值越低,模型输出越确定,更倾向于选择最常见的词汇。
    • `top_p`:可选,核采样(nucleus sampling),控制模型只考虑概率累积超过 top_p 的词汇,从而限制生成文本的范围。取值范围为 0 到 1。
    • `n`:可选,生成多个候选文本的数量。
    • `stop`:可选,指定生成文本的终止条件,可以是一个字符串或字符串列表。
    • `stream`:可选,是否流式传输回部分进度。
    • `logprobs`:可选,返回最有可能的输出标记及其对数概率。
    • `echo`:可选,除了完成之外,还回显提示。
    • `best_of`:可选,在服务器端生成多个补全并返回最佳项。
    • `presence_penalty` 和 `frequency_penalty`:可选,分别惩罚模型生成上下文中已存在的词汇和重复生成相同的词汇,取值范围为 -2.0 到 2.0。
    • `suffix`:可选,插入的文本完成后的后缀(仅支持 `gpt-3.5-turbo-instruct`)。
    • `logit_bias`:可选,修改指定令牌在完成中出现的可能性。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    completion = openai.Completion.create(
      model="text-davinci-003",
      prompt="你好,世界!",
      max_tokens=10
    )
    
    print(completion.choices[0].text)

嵌入(Embeddings)

主要功能:将文本转换为向量表示,用于文本相似度比较、聚类、搜索等任务。推荐结合向量数据库(如 Pinecone、Weaviate)来实现高效的检索功能。

  • 核心参数
    • `model`:必填,指定使用的模型,例如 `text-embedding-ada-002`,`text-embedding-3-large`。
    • `input`:必填,输入文本或文本列表。
    • `user`:可选,用于标识请求的用户。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    embedding = openai.Embedding.create(
      model="text-embedding-ada-002",
      input="你好,世界!"
    )
    
    print(embedding.data[0].embedding)

微调(Fine-tuning)

主要功能:使用自定义数据集训练模型,使其更适应特定应用场景。(关于微调可参见我的另一篇文章:OpenAI新贵Reinforcement Fine Tuning来袭,但API Fine Tuning更懂你! – API易-帮助中心

  • 流程
    • 文件上传:上传训练数据文件。
      `POST /files`:上传文件。
    • 创建 Fine-tune 任务:创建 Fine-tune 任务。
      `POST /fine-tunes`:创建 Fine-tune 任务。
    • 监控训练进度:获取 Fine-tune 任务的状态。
      `GET /fine-tunes/{fine_tune_id}`:获取 Fine-tune 任务的状态。
    • 取消任务:取消正在进行的 Fine-tune 任务。
      `DELETE /fine-tunes/{fine_tune_id}`:取消 Fine-tune 任务。
      `POST /fine-tunes/{fine_tune_id}/cancel`:取消正在进行的 Fine-tune 任务。
    • 删除文件:删除不再需要的文件。
      `DELETE /files/{file_id}`:删除文件。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    # 上传文件
    with open("training_data.jsonl", "rb") as file:
        upload_response = openai.File.create(file=file, purpose="fine-tune")
    
    file_id = upload_response.id
    
    # 创建 Fine-tune 任务
    fine_tune_response = openai.FineTune.create(training_file=file_id, model="davinci")
    
    fine_tune_id = fine_tune_response.id
    
    # 获取 Fine-tune 任务状态
    status_response = openai.FineTune.retrieve(fine_tune_id)
    
    print(status_response.status)

音频处理(Audio)

主要功能:包括语音转文本(Speech-to-Text)、翻译音频内容和其他音频处理任务。

  • 核心参数(以 whisper-1 模型为例):
    • `file`:必填,上传的音频文件。
    • `model`:必填,指定使用的模型,例如 `whisper-1`。
    • `language`:可选,指定音频的语言。
    • `response_format`:可选,返回格式(如 JSON、SRT、VTT 等)。
    • `temperature`:可选,控制生成文本的随机性,取值范围为 0 到 1。
    • `word_timestamps`:可选,是否返回每个单词的时间戳。
    • `prompt`:可选,提供初始文本以帮助模型更好地理解音频内容。
    • `user`:可选,用于标识请求的用户。
  • 相关接口
    • `POST /audio/transcriptions`:语音转文本。
    • `POST /audio/translations`:翻译音频内容到其他语言。
    • `POST /audio/speech`:文本转语音。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    # 语音转文本
    transcription = openai.Audio.transcribe(
      model="whisper-1",
      file=open("audio.mp3", "rb"),
      language="zh"
    )
    
    print(transcription.text)

编辑(Edits)

主要功能:根据给定的提示和指令编辑文本。虽然不如 Completions 和 Chat Completions 常用,但在某些场景下非常有用。

  • 核心参数
    • `model`:必填,指定使用的模型,例如 `text-davinci-edit-001`。
    • `input`:必填,要编辑的文本。
    • `instruction`:必填,编辑指令。
    • `n`:可选,生成多个编辑版本的数量。
    • `temperature`:可选,控制生成文本的随机性,取值范围为 0 到 1。
    • `top_p`:可选,核采样(nucleus sampling),控制模型只考虑概率累积超过 top_p 的词汇,从而限制生成文本的范围。取值范围为 0 到 1。
    • `user`:可选,用于标识请求的用户。
  • 使用示例 (Python):
    import openai
    
    openai.api_key = "YOUR_API_KEY"
    
    edit = openai.Edit.create(
      model="text-davinci-edit-001",
      input="你好,世界!",
      instruction="将问候语改为英文"
    )
    
    print(edit.choices[0].text)

API易的产品优势

API易平台目前已全面支持 OpenAI 的主要接口,并持续更新以提供更全面的接入服务。无论您是希望构建一个智能客服系统,还是开发一款创新的应用程序,API易平台都能为您提供所需的技术支持。

  • 简化接入流程:无需复杂的配置,只需几分钟即可完成 API 的接入和测试。
  • 丰富的文档支持:详细的 API 文档和示例代码,帮助您快速上手。
  • 一站式管理:在一个平台上管理多个 API,方便快捷。
  • 技术支持:专业的技术团队随时为您提供帮助,解决遇到的问题。
  • 更稳定的连接:API易平台提供更稳定的连接,确保您的应用始终顺畅运行。
  • 更便捷的密钥管理:安全、便捷的密钥管理功能,保护您的 API 密钥。
  • 更完善的监控:实时监控 API 调用情况,帮助您优化性能和降低成本。

如何开始接入 OpenAI API

如果您还没有注册 API易平台,现在就行动吧!访问 API易平台官网,按照指引完成注册,并获取您的 API 密钥。接下来,您可以选择感兴趣的 OpenAI API 接口,阅读相关文档,开始构建您的应用。

注册 API易平台,即赠 10,0000 Tokens

附录

 

类似文章