1. 查看网络是否联通
通过代理访问一个 HTTPS 网站来验证代理服务器是否工作正常
curl -x socks5h://127.0.0.1:1080 https://www.google.com
2. curl 访问openai的api
curl -x socks5h://127.0.0.1:1080 -s https://api.openai.com/v1/models/gpt-3.5-turbo
-H "Authorization: Bearer $OPENAI_API_KEY"
结果:
{
"id": "gpt-3.5-turbo",
"object": "model",
"created": 1677610602,
"owned_by": "openai"
}
再次访问:
curl -k -x socks5h://127.0.0.1:1080 -X POST https://api.openai.com/v1/chat/completions ^
-H "Content-Type: application/json" ^
-H "Authorization: Bearer $OPENAI_API_KEY" ^
-d "{
\"model\":\"gpt-3.5-turbo\",\"messages\":[{
\"role\":\"user\",\"content\":\"Translate the following English text to French: 'Hello, world!'\"}],\"max_tokens\":100}"
其中:
- -x http://proxy.example.com:8080:指定代理服务器及其端口。
- -X POST:指定请求方法为 POST。
- https://api.openai.com/v1/chat/completions:目标 API 的 URL。
- -H “Content-Type: application/json”:指定请求头,表明发送的数据类型为 JSON。
- -H “Authorization: Bearer YOUR_API_KEY”:指定请求头,包含你的 API 密钥。
- -d “{“model”:“gpt-3.5-turbo”,“messages”:[{“role”:“user”,“content”:“Translate the following English text to French: ‘Hello, world!’”}],“max_tokens”:100}”:发送的数据,包含一个 JSON 对象。
特别注意:在 Windows 命令行中,双引号内的双引号需要用反斜杠转义。
3. python访问OpenAI的api
python 访问代码:
import openai
import os
import httpx
import time
# 设置你的 OpenAI API 密钥
openai.api_key = os.getenv("OPENAI_API_KEY")
# 设置代理服务器
proxy_url = 'socks5://127.0.0.1:1080'
# 创建一个 HTTPX 客户端并配置代理
client = httpx.Client(proxies={
"http://": proxy_url,
"https://": proxy_url,
})
# 自定义发送请求的函数
def list_models(max_retries=10, retry_delay=5):
url = "https://api.openai.com/v1/models"
headers = {
"Authorization": f"Bearer {
openai.api_key}"
}
for attempt in