本文详细介绍了如何通过编程调用 OpenAI 的 ChatGPT API 接口,帮助开发者快速搭建对话系统,实现邮件起草、代码编写、问答咨询、自然语言界面等多种功能。核心关键词包括 OpenAI、ChatGPT、API调用、编程、代理、模型、开发环境。
近年来,ChatGPT 以其强大的对话能力和多种应用场景受到广泛关注。借助 ChatGPT 提供的一系列 API 接口,您可以实现:
起草电子邮件或其他书面文档
编写代码
回答文档相关问题
构建会话代理
为软件提供自然语言界面
充当各领域的导师
语言翻译
模拟视频游戏中的角色
在开始调用 ChatGPT API 之前,请确保完成以下准备:
注册 OpenAI 账号请先注册一个 OpenAI 账号,了解如何注册并试用 ChatGPT。
搭建 Python 开发环境确保安装 Python (版本 >= 3.7.1)。
登录 OpenAI 平台。
点击 “Create new secret key”,输入任意 KEY 名称后生成。
复制生成的 Secret Key。请注意,这个 Key 只会显示一次,如果未保存,需要重新生成。
使用 pip 命令安装 openai 库:
bash pip install openai
创建一个新的脚本文件 helloai.py,编写如下代码:
python import os import openai
openai.api_key = "OPENAI_API_KEY"
completion = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": "Hello!"} ] )
print(completion.choices[0].message)
print(completion)
运行脚本命令:
bash python ./helloai.py
运行后将返回类似如下的输出:
plaintext Hello there, how may I assist you today? { "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 } }
由于 OpenAI 服务器在部分区域可能存在网络连接限制,直接调用时可能遇到连接错误。常见错误提示如下:
plaintext raise error.APIConnectionError( openai.error.APIConnectionError: Error communicating with OpenAI: HTTPSConnectionPool(host='api.openai.com', port=443): Max retries exceeded with url:/v1/chat/completions (Caused by NewConnectionError(...))
解决方案有两种:
使用全局科学上网工具。
配置 HTTP 或 SOCKS 代理,例如:
python openai.proxy = "http://127.0.0.1:1080"
调用 API 时,可以通过 model 参数指定使用的对话生成模型。目前可用模型包括:
gpt-4 系列
gpt-3.5-turbo 系列
其中,gpt-3.5-turbo 是功能强大且专为聊天优化的模型,适用于大多数应用场景。选择合适的模型有助于提升响应效率和准确性。
messages 参数用于传递当前对话的上下文信息。常用的角色包括:
system:系统消息,用于为对话提供初始说明,包括助手简介、人格特质、遵循规则等。
user:用户的提问或输入信息。
assistant:ChatGPT 返回的回答,用于多轮对话时传递上下文。
在多轮对话中,请将之前的对话记录(包括系统消息、用户提问和助手回答)一并传递,确保模型基于完整上下文生成准确回复。
OpenAI 的计费依据是对话和生成内容的 Token 数量。Token 是文本经过词法分析后的基本单元,合理控制 max_tokens 参数有助于防止消耗过快。您可以使用 OpenAI 官方工具查询 Token 数量。
下面是一个命令行交互式输入的示例程序,启动后可以输入问题并获取实时回复。
通过以上示例,您可以轻松调用 OpenAI ChatGPT API 接口,构建多种自然语言交互应用。无论是邮件起草、代码编写还是构建对话系统,都能为您的开发提供强大支持。
