【记录】python使用openai接口

昨天给了我一个大模型相关的python项目,我试着跑了一下,发现一直有openaiConnectionError。很苦恼,网上的几乎所有方式都试了,没有效果。比如import os加代理proxy、改环境变量之类的

最后打算先写一个简单的小的测试一下,经过gpt4o修改,终于能跑了~~(小代码能跑了,大的还没试)

import os
import openai
import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

# 设置代理环境变量
os.environ["http_proxy"] = "http://127.0.0.1:7890"
os.environ["https_proxy"] = "http://127.0.0.1:7890"

# 如果需要,可以直接设置代理在 openai 请求中
proxy_url = "http://127.0.0.1:7890"
proxies = {
    "http": proxy_url,
    "https": proxy_url,
}

# 设置 OpenAI API 密钥
openai.api_key = "你的key"

# 创建一个带有重试机制的会话
session = requests.Session()
retry = Retry(
    total=5,  # 总共重试次数
    backoff_factor=1,  # 每次重试间隔时间
    status_forcelist=[429, 500, 502, 503, 504],  # 重试的状态码
)
adapter = HTTPAdapter(max_retries=retry)
session.mount("http://", adapter)
session.mount("https://", adapter)

# 将会话应用于 OpenAI
openai.api_requestor._thread_context.session = session

# 发送请求
try:
    response = openai.ChatCompletion.create(
        model="gpt-3.5-turbo",
        messages=[
            {"role": "system", "content": "You are a weather bot."},
            {"role": "user", "content": "Create an array of weather temperatures for Shanghai"}
        ],
        temperature=0,
        max_tokens=256,
        top_p=1,
        frequency_penalty=0,
        presence_penalty=0,
        # proxies=proxies,  # 代理设置
    )
    print(response)
except openai.error.APIConnectionError as e:
    print(f"API connection error: {e}")
except Exception as e:
    print(f"An error occurred: {e}")

我感觉最重要的就是要带一个可以重试的会话。之前只有代理环境变量都不行。虚拟环境和普通的都可以运行

刚接触python,对python的理解很浅。如果能帮到也有一样问题的uu最好啦!

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值