【OpenAI API】API接口介绍

1.聊天(Chat)

给定一个提示,该模型将返回一个或多个预测的完成,并且还可以返回每个位置的替代标记的概率。

  • /v1/chat/completions

入参:

curl --location --request POST 'https://api.openai.com/v1/chat/completions' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "gpt-3.5-turbo",
    "messages": [
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "Hello!"
      }
    ]
  }'

出参:

{
    "id": "chatcmpl-123",
    "object": "chat.completion",
    "created": 1677652288,
    "choices": [
        {
            "index": 0,
            "message": {
                "role": "assistant",
                "content": "\n\nHello there, how may I assist you today?"
            },
            "finish_reason": "stop"
        }
    ],
    "usage": {
        "prompt_tokens": 9,
        "completion_tokens": 12,
        "total_tokens": 21
    }
}
2.自动补全(Completions)

给定一个提示,该模型将返回一个或多个预测的完成,并且还可以返回每个位置的替代标记的概率。

  • /v1/completions

入参

curl --location --request POST 'https://api.openai.com/v1/completions' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
    "model": "gpt-3.5-turbo-instruct",
    "prompt": "Say this is a test",
    "max_tokens": 7,
    "temperature": 0
  }'

出参

{
  "id": "cmpl-uqkvlQyYK7bGYrRHQ0eXlWi7",
  "object": "text_completion",
  "created": 1589478378,
  "model": "gpt-3.5-turbo-instruct",
  "system_fingerprint": "fp_44709d6fcb",
  "choices": [
    {
      "text": "\n\nThis is indeed a test",
      "index": 0,
      "logprobs": null,
      "finish_reason": "length"
    }
  ],
  "usage": {
    "prompt_tokens": 5,
    "completion_tokens": 7,
    "total_tokens": 12
  }
}
3.嵌入(Embeddings)

获取给定输入的矢量表示,机器学习模型和算法可以轻松使用该表示。

  • /v1/embeddings
    入参
curl --location --request POST 'https://api.openai.com/v1/embeddings' \
--header 'Authorization: Bearer ' \
--header 'Content-Type: application/json' \
--data-raw '{
  "model": "text-embedding-ada-002",
  "input": "The food was delicious and the waiter..."
}'

出参

{
  "object": "list",
  "data": [
    {
      "object": "embedding",
      "embedding": [
        0.0023064255,
        -0.009327292,
        .... (1536 floats total for ada-002)
        -0.0028842222
      ],
      "index": 0
    }
  ],
  "model": "text-embedding-ada-002",
  "usage": {
    "prompt_tokens": 8,
    "total_tokens": 8
  }
}

其他详细参数:

https://openai.apifox.cn/api-67883981

Python 调用 OpenAI API 接口通常需要通过 `requests` 库来发送 HTTP 请求,因为 OpenAIAPI 并不是 Python 内置的一部分。以下是基本步骤: 1. **安装依赖**:首先确保已经安装了 `requests` 和可能需要的其他库(如 `python-dotenv` 来处理环境变量)。 ```bash pip install requests python-dotenv ``` 2. **设置API密钥**:你需要从 OpenAI 官网获取 API 密钥并将其保存在一个安全的地方,通常会使用 `.env` 文件来管理环境变量。 3. **编写代码**:在 Python 中,你可以使用下面的代码模板来调用 API: ```python import os from dotenv import load_dotenv import requests # 加载环境变量 load_dotenv() # 如果你有.env文件 OPENAI_API_KEY = os.environ['OPENAI_API_KEY'] # 示例:发送一个文本生成请求 def call_openai_api(prompt): url = "https://api.openai.com/v1/engines/davinci-codex/completions" headers = { 'Content-Type': 'application/json', 'Authorization': f"Bearer {OPENAI_API_KEY}", } data = { 'prompt': prompt, 'max_tokens': 50, # 指定生成的字符数 'temperature': 0.7, # 温度值控制生成的随机性 'n': 1, # 只返回一个响应 } response = requests.post(url, json=data, headers=headers) response.raise_for_status() # 确保请求成功 return response.json() # 使用示例 prompt = "你好,我是来自" response = call_openai_api(prompt) print(response['choices'][0]['text']) ``` 请确保替换 `OPENAI_API_KEY` 为你实际的 API 密钥,并根据 OpenAI 文档调整 API 路径和参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值