小佬初来,尝试公益站,有点疑惑,

2026-04-11 12:571阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐
问题描述:

用了one API, 这个显示公益站api KEY是管用的把?
image1714×245 29.1 KB
然后在自己的python上调用,
image504×350 9.69 KB
image479×350 17.1 KB
image801×149 8.65 KB
跑起来就500,是哪里出了问题呢
def test_ai_connection(self, config: AIConfig) → tuple[bool, str]:
try:
if config.ai_type == “ollama”:
resp = requests.get(f"{config.base_url}/api/tags", timeout=5)
if resp.status_code == 200:
return True, “”
else:
return False, f"HTTP {resp.status_code}"
else:
url = config.base_url.rstrip(‘/’)
if not url.endswith(‘/v1’):
url += ‘/v1’
headers = {“Content-Type”: “application/json”}
if config.api_key:
headers[“Authorization”] = f"Bearer {config.api_key}"
try:
resp = requests.get(f"{url}/models", headers=headers, timeout=10)
if resp.status_code == 200:
return True, “”
except:
pass
test_payload = {
“model”: config.model_name,
“messages”: [{“role”: “user”, “content”: “Hello”}],
“max_tokens”: 5
}
resp = requests.post(f"{url}/chat/completions", json=test_payload, headers=headers, timeout=10)
if resp.status_code == 200:
return True, “”
else:
return False, f"API 响应 {resp.status_code}: {resp.text[:100]}"
except Exception as e:
return False, str(e)

def test_current_connection(self): ok, msg = self.test_ai_connection(self.ai_config) if ok: self.status_bar.showMessage(f"AI 连接测试成功: {self.current_preset_name}", 3000) else: self.status_bar.showMessage(f"AI 连接测试失败: {msg}", 5000) def refresh_preset_combo(self): if hasattr(self, 'preset_combo'): self.preset_combo.blockSignals(True) self.preset_combo.clear() self.preset_combo.addItems(list(self.ai_presets.keys())) self.preset_combo.setCurrentText(self.current_preset_name) self.preset_combo.blockSignals(False) def on_preset_combo_changed(self, index): if index < 0: return new_name = self.preset_combo.currentText() if new_name != self.current_preset_name and new_name in self.ai_presets: self.current_preset_name = new_name self.ai_config = self.ai_presets[self.current_preset_name] self.save_data() self.status_bar.showMessage(f"切换到 AI 预设: {new_name}") QTimer.singleShot(100, lambda: self.test_current_connection()) def show_ai_settings(self): dialog = QDialog(self) dialog.setWindowTitle("AI 设置") dialog.setMinimumWidth(500) layout = QVBoxLayout(dialog) # 预设管理 preset_layout = QHBoxLayout() preset_layout.addWidget(QLabel("预设配置:")) self.preset_combo_dlg = QComboBox() self.preset_combo_dlg.setEditable(True) self.preset_combo_dlg.addItems(list(self.ai_presets.keys())) self.preset_combo_dlg.setCurrentText(self.current_preset_name) preset_layout.addWidget(self.preset_combo_dlg) btn_save_preset = QPushButton("保存") btn_delete_preset = QPushButton("删除") preset_layout.addWidget(btn_save_preset) preset_layout.addWidget(btn_delete_preset) layout.addLayout(preset_layout) # AI 类型 type_group = QGroupBox("AI 类型") type_layout = QHBoxLayout() self.radio_ollama = QRadioButton("Ollama (本地)") self.radio_generic = QRadioButton("通用 API (OpenAI 兼容)") type_layout.addWidget(self.radio_ollama) type_layout.addWidget(self.radio_generic) type_group.setLayout(type_layout) layout.addWidget(type_group) # 通用 API 设置 self.generic_group = QGroupBox("通用 API 设置") generic_form = QFormLayout() self.generic_base_url = QLineEdit() self.generic_base_url.setPlaceholderText("例如: https://api.openai.com/v1") self.generic_api_key = QLineEdit() self.generic_api_key.setPlaceholderText("API Key (可选)") self.generic_api_key.setEchoMode(QLineEdit.EchoMode.Password) self.generic_model = QLineEdit() self.generic_model.setPlaceholderText("模型名称,如: gpt-4-vision-preview") generic_form.addRow("Base URL:", self.generic_base_url) generic_form.addRow("API Key:", self.generic_api_key) generic_form.addRow("模型名称:", self.generic_model) self.generic_group.setLayout(generic_form) layout.addWidget(self.generic_group) 网友解答:


--【壹】--: Chambo Wu:

l是不被支持的,看看你的

所以应该是模型没选对的问题对吗,佬


--【贰】--:

尝试过了,包括不加V1,都是调用失败500


--【叁】--:

那我不知道了,看看公益站的这个模型还活着吗


--【肆】--:

还是不行,是one API哪里配置的不对吗


--【伍】--:

那响应体选的是responses咩,现在的gpt不是用completed了


--【陆】--:

503是权限异常,确实可能是模型id写的不对,最好从网站直接复制


--【柒】--:

请求地址后面v1 然后不要带斜杠


--【捌】--:

我一般都会先去公益站的操练场,先试试哪个模型可以 。这也是排查问题的思路:隔离变化,一段一段的排查~


--【玖】--:

厉害,跟帖学习


--【拾】--:

image496×355 8.66 KB
image490×175 7.8 KB
直连公益站,开始报503, 模型选的不对吗是?谢谢佬


--【拾壹】--:

还有注意一下公益站令牌创建那里,有可能有模型分组,搞错了也会提示权限问题


--【拾贰】--:

诶模型名称这样写不对吧,看看 qq 佬站内的模型名称是咋填的,至少是都是小写的吧


--【拾叁】--:

错误弹窗中’\u003c’ 就是字符 <,通常说明返回的是HTML错误页,大概率问题是
1、渠道 base_url 配错
2、请求被反代/CDN/WAF拦截
3、上游返回了404/403/502的HTML页面
4、API key 或请求头有问题,返回了登录页/错误页
5、你填的是网页地址,不是API地址
先用cherrystduio之类的可以直连你的公益站api来确认模型正常,之后再试one api接口是否可以使用,有些公益站避免被二次分发会做一些技术处理


--【拾肆】--:

@542224248 image_url是不被支持的,看看你的请求json里面,deepseek应该只支持text


--【拾伍】--:

太对了,我又换了一个MINIMAX ,终于连上。。。虽然目的没达到,但是公益站操作学会了,谢谢佬
image281×160 6.32 KB


--【拾陆】--:

你调用的这个模型API不支持图片/图像输入,只支持纯文本消息。你测试的时候发送了image_url所以返回来400,说明不支持


--【拾柒】--:

image590×150 7.76 KB
6啊佬,点到了问题,调整了,又报400 ,

标签:快问快答
问题描述:

用了one API, 这个显示公益站api KEY是管用的把?
image1714×245 29.1 KB
然后在自己的python上调用,
image504×350 9.69 KB
image479×350 17.1 KB
image801×149 8.65 KB
跑起来就500,是哪里出了问题呢
def test_ai_connection(self, config: AIConfig) → tuple[bool, str]:
try:
if config.ai_type == “ollama”:
resp = requests.get(f"{config.base_url}/api/tags", timeout=5)
if resp.status_code == 200:
return True, “”
else:
return False, f"HTTP {resp.status_code}"
else:
url = config.base_url.rstrip(‘/’)
if not url.endswith(‘/v1’):
url += ‘/v1’
headers = {“Content-Type”: “application/json”}
if config.api_key:
headers[“Authorization”] = f"Bearer {config.api_key}"
try:
resp = requests.get(f"{url}/models", headers=headers, timeout=10)
if resp.status_code == 200:
return True, “”
except:
pass
test_payload = {
“model”: config.model_name,
“messages”: [{“role”: “user”, “content”: “Hello”}],
“max_tokens”: 5
}
resp = requests.post(f"{url}/chat/completions", json=test_payload, headers=headers, timeout=10)
if resp.status_code == 200:
return True, “”
else:
return False, f"API 响应 {resp.status_code}: {resp.text[:100]}"
except Exception as e:
return False, str(e)

def test_current_connection(self): ok, msg = self.test_ai_connection(self.ai_config) if ok: self.status_bar.showMessage(f"AI 连接测试成功: {self.current_preset_name}", 3000) else: self.status_bar.showMessage(f"AI 连接测试失败: {msg}", 5000) def refresh_preset_combo(self): if hasattr(self, 'preset_combo'): self.preset_combo.blockSignals(True) self.preset_combo.clear() self.preset_combo.addItems(list(self.ai_presets.keys())) self.preset_combo.setCurrentText(self.current_preset_name) self.preset_combo.blockSignals(False) def on_preset_combo_changed(self, index): if index < 0: return new_name = self.preset_combo.currentText() if new_name != self.current_preset_name and new_name in self.ai_presets: self.current_preset_name = new_name self.ai_config = self.ai_presets[self.current_preset_name] self.save_data() self.status_bar.showMessage(f"切换到 AI 预设: {new_name}") QTimer.singleShot(100, lambda: self.test_current_connection()) def show_ai_settings(self): dialog = QDialog(self) dialog.setWindowTitle("AI 设置") dialog.setMinimumWidth(500) layout = QVBoxLayout(dialog) # 预设管理 preset_layout = QHBoxLayout() preset_layout.addWidget(QLabel("预设配置:")) self.preset_combo_dlg = QComboBox() self.preset_combo_dlg.setEditable(True) self.preset_combo_dlg.addItems(list(self.ai_presets.keys())) self.preset_combo_dlg.setCurrentText(self.current_preset_name) preset_layout.addWidget(self.preset_combo_dlg) btn_save_preset = QPushButton("保存") btn_delete_preset = QPushButton("删除") preset_layout.addWidget(btn_save_preset) preset_layout.addWidget(btn_delete_preset) layout.addLayout(preset_layout) # AI 类型 type_group = QGroupBox("AI 类型") type_layout = QHBoxLayout() self.radio_ollama = QRadioButton("Ollama (本地)") self.radio_generic = QRadioButton("通用 API (OpenAI 兼容)") type_layout.addWidget(self.radio_ollama) type_layout.addWidget(self.radio_generic) type_group.setLayout(type_layout) layout.addWidget(type_group) # 通用 API 设置 self.generic_group = QGroupBox("通用 API 设置") generic_form = QFormLayout() self.generic_base_url = QLineEdit() self.generic_base_url.setPlaceholderText("例如: https://api.openai.com/v1") self.generic_api_key = QLineEdit() self.generic_api_key.setPlaceholderText("API Key (可选)") self.generic_api_key.setEchoMode(QLineEdit.EchoMode.Password) self.generic_model = QLineEdit() self.generic_model.setPlaceholderText("模型名称,如: gpt-4-vision-preview") generic_form.addRow("Base URL:", self.generic_base_url) generic_form.addRow("API Key:", self.generic_api_key) generic_form.addRow("模型名称:", self.generic_model) self.generic_group.setLayout(generic_form) layout.addWidget(self.generic_group) 网友解答:


--【壹】--: Chambo Wu:

l是不被支持的,看看你的

所以应该是模型没选对的问题对吗,佬


--【贰】--:

尝试过了,包括不加V1,都是调用失败500


--【叁】--:

那我不知道了,看看公益站的这个模型还活着吗


--【肆】--:

还是不行,是one API哪里配置的不对吗


--【伍】--:

那响应体选的是responses咩,现在的gpt不是用completed了


--【陆】--:

503是权限异常,确实可能是模型id写的不对,最好从网站直接复制


--【柒】--:

请求地址后面v1 然后不要带斜杠


--【捌】--:

我一般都会先去公益站的操练场,先试试哪个模型可以 。这也是排查问题的思路:隔离变化,一段一段的排查~


--【玖】--:

厉害,跟帖学习


--【拾】--:

image496×355 8.66 KB
image490×175 7.8 KB
直连公益站,开始报503, 模型选的不对吗是?谢谢佬


--【拾壹】--:

还有注意一下公益站令牌创建那里,有可能有模型分组,搞错了也会提示权限问题


--【拾贰】--:

诶模型名称这样写不对吧,看看 qq 佬站内的模型名称是咋填的,至少是都是小写的吧


--【拾叁】--:

错误弹窗中’\u003c’ 就是字符 <,通常说明返回的是HTML错误页,大概率问题是
1、渠道 base_url 配错
2、请求被反代/CDN/WAF拦截
3、上游返回了404/403/502的HTML页面
4、API key 或请求头有问题,返回了登录页/错误页
5、你填的是网页地址,不是API地址
先用cherrystduio之类的可以直连你的公益站api来确认模型正常,之后再试one api接口是否可以使用,有些公益站避免被二次分发会做一些技术处理


--【拾肆】--:

@542224248 image_url是不被支持的,看看你的请求json里面,deepseek应该只支持text


--【拾伍】--:

太对了,我又换了一个MINIMAX ,终于连上。。。虽然目的没达到,但是公益站操作学会了,谢谢佬
image281×160 6.32 KB


--【拾陆】--:

你调用的这个模型API不支持图片/图像输入,只支持纯文本消息。你测试的时候发送了image_url所以返回来400,说明不支持


--【拾柒】--:

image590×150 7.76 KB
6啊佬,点到了问题,调整了,又报400 ,

标签:快问快答