在 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 列表,你就能看到所有可用的模型名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值