1. 功能需求
我们大多数情况下都是使用网页聊天对话来使用AI、简单直观,但是在需要自动化、定制化访问AI时,比如让它给我们处理复杂的数据报告,使用API的方式要灵活的多,功能也更加强大。虽然现在国内有能比肩OpenAI 的大模型Deepseek,也有功能很强大的其他人工智能服务提供商比如阿里云、腾讯云、火山引擎(豆包)等,但是OpenAI 作为人工智能的领导者还是有很多优势和特点,包括另外一个国外人工智能新贵Anthropic Claude在编程方面也很有特色,而且可能不一定每个人都喜欢用Deepseek,所以还是需要用到这些国外AI大模型的API,然而OpenAI的API 在2024 年 7 月 9 日起封锁了来自中国的访问。既然不能直接访问,那我们就绕道而行,通过设置代理服务器的方式访问。方法很简单,你先找一个可以正常访问这些国外网站的代理服务器,然后将服务器地址添加到程序里,如果有科`学上~网软件,里面可以看到本地代理地址。具体Python代码如下:
2. OpenAI API代理服务器设置
from openai import OpenAI #导入OpenAI库,使用前请先用pip安装
import httpx #代理库,Python内置
# 设置你的API密钥
api_key = "你的OpenAI API密钥" #去OpenAI官网申请及查看
# 设置代理配置
proxies = "http://127.0.0.1:10809" #这是示例,你需要改成你自己的代理服务器地址和端口
# 创建一个带有代理的httpx客户端
http_client = httpx.Client(proxies=proxies)
# 使用自定义http_client创建OpenAI客户端
client = OpenAI(
api_key=api_key,
http_client=http_client
)
# 发起API调用
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "你好,OpenAI!"}]
)
# 打印响应消息
print(response.choices[0].message.content)
运行程序后连接成功,收到OpenAI API的响应消息:
3. Anthropic Claude API代理服务器设置
如果是使用Anthropic Claude的API,过程也是类似的,代码示范如下:
import anthropic #导入Anthropic Claude库,需要先安装
import httpx
# 设置你的API密钥
api_key = "你的-anthropic-api-key"
# 设置代理配置(HTTP和HTTPS共用)
proxies = "http://127.0.0.1:10809" #这是示例,你需要改成你自己的代理服务器地址和端口
# 创建一个带有代理的httpx客户端
http_client = httpx.Client(proxies=proxies)
# 创建Claude客户端,使用自定义http_client
client = anthropic.Anthropic(
api_key=api_key,
http_client=http_client
)
# 发起API调用
response = client.messages.create(
model="claude-3-7-sonnet-20250219",
max_tokens=1000,
messages=[
{"role": "user", "content": "你好,Claude!"}
]
)
# 打印响应消息
print(response.content[0].text)