admin管理员组

文章数量:1631702

前提条件:

1. 能够科学上网

2. 在openai官网注册了账号

1. 获取Access Key

  1. 登录openai官网,查看Access key,地址:openai查看accesskey
  2. 创建好后复制AccessKey,将其保存(如果后面再想查看这个key,会发现key的信息被隐藏掉了,所以创建好后就及时保存)
  3. 准备工作已完成,下面提供两个文档:
    1. 聊天API简介:https://platform.openai/docs/guides/gpt/chat-completions-api
    2. 详细API参考文档:https://platform.openai/docs/guides/gpt/chat-completions-api

2. 使用Python调用GPT

  1. 安装openai的包:
    pip install openai
  2.  运行下列代码:
    import openai
    openai.api_key = "引号内换成你自己的AccessKey"
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "user", "content": "Where was it played?"}
        ]
    )
    print(response['choices'][0]['message']['content'])
  3. 运行结果如下:
  4. 在首次运行可能会遇到:
    openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host=‘api.openai’, port=443)

    这是因为环境内的urllib3版本是1.26.14版本,urllib3在1.26版本时增加了对HTTPS代理与HTTPS服务器联系的支持,需要将urllib3的版本降低到1.26以下即可,如:

    //卸载原有的urllib3
    pip uninstall urllib3
    //安装指定版本
    pip install urllib3==1.25.11
    //查看安装好的urllib3的版本
    pip list

    更换好版本之后如果还报错请仔细检查是否有科学上网

3. 请求和相应解析

请求参数:

请求参数有很多,其中必须的两个是model和message,其中官网的解释如下:

model:即选用的模型,官网提供的模型有gpt-4, gpt-3.5-turbo,babbage-002, davinci-002,text-davinci-003, text-davinci-002, davinci, curie, babbage, ada等,后面的这些是较早推出的版本,性能和效果不如前面的,所以如果不知道选什么模型就直接选择gpt-3.5-turbo。

messages:消息主题,其类型为列表,列表中每个元素为k-v键值对,其中,role和content是必要的。content即想要向gtp发送的内容主体,role分为四个,system,user,assistant和function,其中user即用户,表示这个消息是由用户发送的;assistant为gpt,表示这个消息是由gpt返回的。

其他参数参考:https://platform.openai/docs/api-reference/chat/create

返回参数:

{
  "id": "chatcmpl-123",
  "object": "chatpletion",
  "created": 1677652288,
  "model": "gpt-3.5-turbo-0613",
  "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
  }
}

本文标签: APIchatGPT