在 Windows 系统下,使用 PyCharm 开发工具,如何通过直接调用 API 的方式,利用你手头的 OpenAI 接口地址和 Key 来辅助代码编写

准备工作

你已经有一个可用的 API 地址(Base URL),例如 http://你的服务器地址:端口/v1 或 https://你的域名/v1

你已经有一个有效的 API Key(例如 sk-xxxxxx)

Windows 系统,已安装 PyCharm(Community 或 Professional 均可)

电脑能正常访问该 API 地址(如果是内网地址,确保网络连通)

📁 第一步:在 PyCharm 中创建新项目

打开 PyCharm,点击 New Project。

设置项目存放路径(例如 D:\MyOpenAIProject)。

关键:在 Base interpreter 处,选择 New environment using Virtualenv,PyCharm 会自动创建一个独立的虚拟环境(推荐,避免污染全局 Python)。

点击 Create。

📦 第二步:安装 OpenAI 官方 SDK

在 PyCharm 中打开终端(Terminal):

方法:点击底部工具栏的 Terminal 标签,或使用快捷键 Alt + F12。

在终端中输入以下命令并回车:

bash

pip install openai

等待安装完成。如果网速慢,可以使用国内镜像:

bash

pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple

🔑 第三步:配置 API Key 和 Base URL(三种方式任选)

因为你的接口地址是自定义的(非官方 OpenAI),所以需要在代码中同时设置 base_url 和 api_key。为了避免把敏感信息写死在代码里,推荐使用环境变量或 PyCharm 运行配置。

方式 A:在 PyCharm 运行配置中设置(最推荐,临时有效,方便调试)

在 PyCharm 顶部菜单栏,点击 Run → Edit Configurations。

点击左上角的 + 号,选择 Python。

在 Name 处输入一个名字,例如 OpenAITest。

在 Script path 中选择你将要运行的 Python 文件(可以先写个临时文件,如 test.py)。

在 Environment variables 区域,点击文件夹图标或直接输入:

text

OPENAI_API_KEY=你的真实Key;OPENAI_BASE_URL=你的API地址(例如http://127.0.0.1:8080/v1)

注意:

多个变量用分号 ; 隔开

地址一般以 /v1 结尾(除非接口特殊)

点击 OK 保存。

方式 B:在代码中直接写死(仅测试用,切勿提交到 Git)

在 Python 文件里直接赋值:

python

API_KEY = "sk-xxxxxx"

BASE_URL = "http://你的地址/v1"

方式 C:使用 .env 文件(更规范)

在项目根目录创建 .env 文件,内容:

text

OPENAI_API_KEY=sk-xxxxxx

OPENAI_BASE_URL=http://你的地址/v1

安装 python-dotenv 库:pip install python-dotenv

在代码中加载:

python

from dotenv import load_dotenv

load_dotenv()

✍️ 第四步:编写调用代码(生成代码示例)

在 PyCharm 中新建一个 Python 文件,例如 code_assistant.py,输入以下内容:

python

import os

from openai import OpenAI

如果使用方式A(环境变量),则无需额外处理,直接读取

如果使用方式B,则手动赋值覆盖

如果使用方式C,需要 load_dotenv()

读取环境变量

api_key = os.getenv("OPENAI_API_KEY")

base_url = os.getenv("OPENAI_BASE_URL")

如果上面读取不到,可以在这里手动指定(仅测试用)

if not api_key:

api_key = "sk-xxxxxx"

if not base_url:

base_url = "http://你的地址/v1"

初始化 OpenAI 客户端

client = OpenAI(

api_key=api_key,

base_url=base_url

)

定义一个函数,让 AI 帮你写代码

def ask_for_code(prompt):

try:

response = client.chat.completions.create(

model="gpt-4o", # 替换成你接口实际支持的模型名,比如 gpt-3.5-turbo

messages=[

{"role": "system", "content": "你是一个经验丰富的编程助手,只输出代码和必要的注释,不要多余的解释。"},

{"role": "user", "content": prompt}

],

temperature=0.2,

max_tokens=1000

)

return response.choices[0].message.content

except Exception as e:

return f"调用失败:{e}"

if name == "main ":

示例:让 AI 写一个快速排序的 Python 函数

user_prompt = "用 Python 写一个快速排序函数,输入列表,返回排序后的新列表。"

print("正在请求 AI 生成代码...\n")

code = ask_for_code(user_prompt)

print("生成的代码如下:\n")

print(code)

注意:model 参数必须填写你接口实际支持的模型名称(例如 gpt-3.5-turbo、gpt-4 或你自定义的模型名)。如果不确定,可以问接口提供方,或者尝试常用的名字。

▶️ 第五步:运行代码

确保你已经按照 方式A 配置好了运行环境变量,或者在代码中直接赋值了 key 和 base_url。

右键点击编辑器中的代码,选择 Run 'code_assistant'。

观察 PyCharm 下方的 Run 窗口输出。如果一切正常,你会看到 AI 返回的快速排序代码。

🔍 第六步:验证和调试

如果报错连接错误:检查 base_url 是否正确,地址前是否有 http:// 或 https://,末尾是否包含 /v1。可以在浏览器中访问 你的地址/v1/models 看看是否有返回(可能需要带上 Authorization Header)。

如果报错 401 Unauthorized:API Key 错误或无效。

如果报错 404 Not Found:base_url 路径不对,或者模型名称错误。

如果报错 SSL 证书问题:如果是自签名证书,可以在初始化 client 时加上 http_client=httpx.Client(verify=False),但仅限测试环境。

💡 进阶用法:让 AI 帮你修改当前编辑的代码

你可以在 PyCharm 中结合 选中代码 + 调用 API 的方式实现类似 Copilot 的效果。例如写一个函数,读取当前选中的文本,发给 AI 让它优化或解释。

更简单的方法是:你只需要把上面的 ask_for_code 函数稍作修改,然后把你的问题(比如"解释下面这段代码的作用")和代码片段一起发给 AI,就能得到回答。

📌 总结

在 Windows + PyCharm 中使用自定义 OpenAI 接口的完整流程:

创建项目 + 虚拟环境

安装 openai 库

通过 PyCharm 运行配置设置环境变量 OPENAI_API_KEY 和 OPENAI_BASE_URL

编写代码,使用 OpenAI(api_key=..., base_url=...) 初始化客户端

调用 client.chat.completions.create,指定模型和消息

运行并获取 AI 生成的代码

这样你就可以在 PyCharm 里直接利用手头的 API 来辅助编写代码了。如果遇到具体报错,欢迎继续追问。

!!!注意:

正在请求 AI 生成代码...

生成的代码如下:

调用失败:Error code: 404 - {'detail': 'Not Found'}

Process finished with exit code 0

解决方法:

第一步:确认正确的 BASE_URL

OpenAI SDK 默认会在你给的 base_url 后面追加 /chat/completions 这样的路径。

如果你的接口地址是像 http://your-server:8080 这样的根路径,那么 SDK 实际请求的地址会变成 http://your-server:8080/chat/completions,但标准 OpenAI 兼容接口通常期望的是 http://your-server:8080/v1/chat/completions。

✅ 正确的 base_url 写法

正确(推荐):http://你的地址/v1 (结尾包含 /v1)

不正确:http://你的地址 (缺少 /v1)

不正确:http://你的地址/ (末尾斜杠也不够)

请检查你的 BASE_URL 是否以 /v1 结尾,如果不是,请加上。例如:

python

BASE_URL = "http://192.168.1.100:8000/v1"

如果你不确定接口的正确路径,可以尝试用浏览器或 curl 访问:http://你的地址/v1/models 看看是否有返回(通常需要带 API Key Header)。

🔍 第二步:确认正确的模型名称

即使 base_url 正确,如果 model 名称填错了,服务器也会返回 404 或 400 错误(有些实现会返回 404)。

你需要向接口提供方问清楚可用的模型名称,常见的例如:

gpt-3.5-turbo

gpt-4

gpt-4o

deepseek-chat

llama3-70b

或者自定义的名字

测试模型列表的方法(可选):写一段简单的 Python 代码,调用 /models 接口:

python

import requests

BASE_URL = "http://你的地址/v1" # 注意 /v1

API_KEY = "你的key"

headers = {

"Authorization": f"Bearer {API_KEY}"

}

response = requests.get(f"{BASE_URL}/models", headers=headers)

print(response.status_code)

print(response.json())

如果返回 200 且包含 data 列表,你就能看到所有可用的模型名。

相关推荐
从零开始学习人工智能2 小时前
Windows 下 Docker + WSL2 + NVIDIA GPU 完整配置指南(2026 最新实测)
windows·docker·容器
伴野星辰2 小时前
Pycharm打包教程:电脑(windows / macos)+ 手机(安卓 / IOS)全流程
macos·智能手机·pycharm
航Hang*2 小时前
Windows Server 配置与管理——第11章:配置虚拟专用网络服务器
运维·服务器·windows
CodeCaptain3 小时前
【七】Web 端初始化配置的详细步骤
windows·ubuntu·ai·openclaw
玖釉-3 小时前
深入解析 meshoptimizer:基于 meshopt_spatialClusterPoints 的空间聚类与 Mesh Shader 前置优化
c++·windows·图形渲染·聚类
摇滚侠3 小时前
VsCode 前端开发快捷语法,Emmet 快捷语法整理,markdown 表格格式
ide·vscode·编辑器
阿梦Anmory4 小时前
如何使用 SCP 从 Windows 传输文件到 Ubuntu 服务器
服务器·windows·ubuntu
x***r1514 小时前
Lively Wallpaper 安装教程:动态壁纸设置+自定义路径(64位)
windows
一个人旅程~4 小时前
老电脑硬盘安装系统后容量不够怎么办?如何用压缩技术对C盘进行压缩?步骤和风险防范
windows·经验分享·电脑