Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] chatgpt-api版使用代理不生效且无法设置endpoint #307

Closed
devhaozi opened this issue Mar 8, 2023 · 11 comments
Closed

[BUG] chatgpt-api版使用代理不生效且无法设置endpoint #307

devhaozi opened this issue Mar 8, 2023 · 11 comments
Labels
bug Something isn't working

Comments

@devhaozi
Copy link

devhaozi commented Mar 8, 2023

提交 issue 前,请先确认:

  • [√] 我已看过 FAQ,此问题不在列表中
  • [√] 我已看过其他 issue,他们不能解决我的问题
  • [√] 我认为这不是 Mirai 或者 OpenAI 的 BUG

表现
chatgpt-api版使用代理不生效且无法设置endpoint

运行环境:

  • 操作系统:Windows
  • Docker: 无
  • 项目版本:2.2.1

复现步骤
描述你是如何触发这个 BUG 的

  1. 通过[[openai.accounts]]设置proxy,不生效。
  2. 通过[openai]设置browserless_endpoint,不生效。

预期行为
使用代理或自定义的endpoint连接API

截图
image

其他内容

@devhaozi devhaozi added the bug Something isn't working label Mar 8, 2023
@lss233
Copy link
Owner

lss233 commented Mar 9, 2023

你需要配置代理,API 无 endpoint 设置

@devhaozi
Copy link
Author

devhaozi commented Mar 9, 2023

你需要配置代理,API 无 endpoint 设置

配置代理对api版本似乎无效,网页版倒是可以用。

@lss233
Copy link
Owner

lss233 commented Mar 9, 2023

提供一下配置文件我看看。

@devhaozi
Copy link
Author

devhaozi commented Mar 9, 2023

提供一下配置文件我看看。

[mirai]
qq = 48517222

# 以下设置如果不了解,可以不用理会
api_key = "1234567890"
http_url = "http://localhost:8080"
ws_url = "http://localhost:8080"

[openai]
# OpenAI 相关设置
# browserless_endpoint = "https://apps.openai.com/"

# # 第 1 个账号信息
[[openai.accounts]]
mode = 'browserless'
proxy="http://127.0.0.1:10809"
api_key="sk-TNqwOH6uIyUh40wW0yLCTxxxxxxxxxxxxxx"
title_pattern="qq-{session_id}"
auto_remove_old_conversations = true

# # 第 2 个账号信息
[[openai.accounts]]
mode = 'browserless'
proxy="http://127.0.0.1:10809"
api_key="sk-70EqQEcGFeDtlKXUQDmxxxxxxxxxxx"
title_pattern="qq-{session_id}"
auto_remove_old_conversations = true

[baiducloud]
#是否启动百度云内容安全审核
check = true
#百度云API_KEY 24位英文数字字符串
baidu_api_key = "ALTAK0VO7Qhhxxxxxxxxx"
#百度云SECRET_KEY 32位的英文数字字符串
baidu_secret_key ="fb2c534e387046c594xxxxxxxxxxxx"
#不合规消息自定义返回
illgalmessage = "[内容审核] 请珍惜机器人,当前返回内容不合规"

@lss233
Copy link
Owner

lss233 commented Mar 9, 2023

你这写错了。
要这样写:

# 使用 api key 登录
# 当你设置了 API Key 之后
# 你就可以使用 OpenAI 中收费的 ChatGPT API、AI 画图等功能
# 优点:
# 1. 响应快
# 缺点:
# 1. 烧钱
[[openai.accounts]]
# 你的 API key,可以在这里看: https://platform.openai.com/account/api-keys
api_key="sk-xxxxx"
# 如果你在国内,需要配置代理
proxy="http://127.0.0.1:1080" `

@devhaozi
Copy link
Author

devhaozi commented Mar 9, 2023

你这写错了。 要这样写:

# 使用 api key 登录
# 当你设置了 API Key 之后
# 你就可以使用 OpenAI 中收费的 ChatGPT API、AI 画图等功能
# 优点:
# 1. 响应快
# 缺点:
# 1. 烧钱
[[openai.accounts]]
# 你的 API key,可以在这里看: https://platform.openai.com/account/api-keys
api_key="sk-xxxxx"
# 如果你在国内,需要配置代理
proxy="http://127.0.0.1:1080" `

更换测试了,也没有效果。代理软件内也未记录到api请求的日志

@lss233
Copy link
Owner

lss233 commented Mar 15, 2023

已确认问题,下版本修复

@lss233
Copy link
Owner

lss233 commented Mar 15, 2023

v2.2.4 已修复此问题

@lss233 lss233 closed this as completed Mar 15, 2023
@lss233
Copy link
Owner

lss233 commented Mar 17, 2023

请问是否可以介绍一下此BUG发生的原因及具体的解决方法? 我认为这也许与我遇到的另一个难题(与您的此项目无关)相关,尝试了网上的多种方法没有解决。 希望能在此得到解决思路。

Can't connect to HTTPS URL because the SSL module is not available.
你的 Python 没有开启 SSL 模块的支持,所以不能访问 HTTPS 的网页。

@Pony-John
Copy link

请问是否可以介绍一下此BUG发生的原因及具体的解决方法?
我认为这也许与我遇到的另一个难题(与您的此项目无关)相关,尝试了网上的多种方法没有解决。
希望能在此得到解决思路。

表现
OpenAI-API调用的最小示例test.py没有经过代理。
test.py代码如下:

import openai

openai.api_key = "sk-xxxxxxxxxxxxxxxxxxxxxxx" #此处已正确填写OpenAI-key

response = openai.ChatCompletion.create(
    model="gpt-3.5-turbo", 
    messages=[{"role": "system", "content": "You are a helpful assistant."},
              {"role": "user", "content": "tell me a story"}
            ]
    )

print(response)

返回结果:

Error communicating with OpenAI: 
HTTPSConnectionPool(host='api.openai.com', port=443): 
Max retries exceeded with url: /v1/chat/completions 
(Caused by SSLError(\"Can't connect to HTTPS URL because the SSL module is not available.\"))

运行环境
腾讯云-轻量应用服务器,
操作系统:centOS 7.6,
Python:3.11.2,
urlib3==1.25.11,
openai==0.27.2,

代理情况
已经安装Clash并打开全局代理
Firefox浏览器可以正常访问Google、OpenAI等网站
curl api.openai.com可以收到回复

预期行为
test.py返回OpenAI-API的json数据。

@Pony-John
Copy link

请问是否可以介绍一下此BUG发生的原因及具体的解决方法? 我认为这也许与我遇到的另一个难题(与您的此项目无关)相关,尝试了网上的多种方法没有解决。 希望能在此得到解决思路。

Can't connect to HTTPS URL because the SSL module is not available. 你的 Python 没有开启 SSL 模块的支持,所以不能访问 HTTPS 的网页。

感谢大佬提供的思路,问题已经解决。是服务器预装的openssl版本过低,不适配当前python3.11.2导致的。重新安装了3.0.1版本的openssl并重新编译安装python3.11.2,错误就消失了。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants