# 如何使用编程方式调用 OpenAI ChatGPT API 接口 **Published by:** [quanxy](https://paragraph.com/@quanxy/) **Published on:** 2025-02-08 **URL:** https://paragraph.com/@quanxy/openai-chatgpt-api ## Content 本文详细介绍了如何通过编程调用 OpenAI 的 ChatGPT API 接口,帮助开发者快速搭建对话系统,实现邮件起草、代码编写、问答咨询、自然语言界面等多种功能。核心关键词包括 OpenAI、ChatGPT、API调用、编程、代理、模型、开发环境。前言近年来,ChatGPT 以其强大的对话能力和多种应用场景受到广泛关注。借助 ChatGPT 提供的一系列 API 接口,您可以实现:起草电子邮件或其他书面文档编写代码回答文档相关问题构建会话代理为软件提供自然语言界面充当各领域的导师语言翻译模拟视频游戏中的角色👉 野卡 | 一分钟注册,轻松订阅海外线上服务准备工作在开始调用 ChatGPT API 之前,请确保完成以下准备:注册 OpenAI 账号请先注册一个 OpenAI 账号,了解如何注册并试用 ChatGPT。搭建 Python 开发环境确保安装 Python (版本 >= 3.7.1)。获取开发 KEY登录 OpenAI 平台。点击 “Create new secret key”,输入任意 KEY 名称后生成。复制生成的 Secret Key。请注意,这个 Key 只会显示一次,如果未保存,需要重新生成。开发过程安装 OpenAI 库使用 pip 命令安装 openai 库: bash pip install openai编写示例脚本创建一个新的脚本文件 helloai.py,编写如下代码: python import os import openai填入你的 OpenAI API Keyopenai.api_key = "OPENAI_API_KEY"如在受限网络环境中使用,可设置代理(支持 http 代理和 socks 代理)openai.proxy = "http://127.0.0.1:1080"调用 gpt-3.5-turbo 模型,发送对话请求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 参数解析messages 参数用于传递当前对话的上下文信息。常用的角色包括:system:系统消息,用于为对话提供初始说明,包括助手简介、人格特质、遵循规则等。user:用户的提问或输入信息。assistant:ChatGPT 返回的回答,用于多轮对话时传递上下文。在多轮对话中,请将之前的对话记录(包括系统消息、用户提问和助手回答)一并传递,确保模型基于完整上下文生成准确回复。Token 概念OpenAI 的计费依据是对话和生成内容的 Token 数量。Token 是文本经过词法分析后的基本单元,合理控制 max_tokens 参数有助于防止消耗过快。您可以使用 OpenAI 官方工具查询 Token 数量。完整示例下面是一个命令行交互式输入的示例程序,启动后可以输入问题并获取实时回复。 通过以上示例,您可以轻松调用 OpenAI ChatGPT API 接口,构建多种自然语言交互应用。无论是邮件起草、代码编写还是构建对话系统,都能为您的开发提供强大支持。 👉 野卡 | 一分钟注册,轻松订阅海外线上服务 ## Publication Information - [quanxy](https://paragraph.com/@quanxy/): Publication homepage - [All Posts](https://paragraph.com/@quanxy/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@quanxy): Subscribe to updates