怎样在Python中使用oobabooga的API密钥,通过端口5000获取模型列表的授权

题意:

oobabooga-textgen-web-ui how to get authorization to view model list from port 5000 via the ooba's api-key in python

怎样在Python中使用oobabooga的API密钥,通过端口5000获取模型列表的授权

问题背景:

I wish to extract and print out a list of llm models from the oobabooga-text-gen-web-ui in python.

我希望从Python中的oobabooga-text-gen-web-ui中提取并打印出一系列LLM(大型语言模型)的列表

Some context first before i head over to my problem.

在我描述我的问题之前,先提供一些背景信息。

For those familiar with what ooba is its essentially a Gradio web UI for Large Language Models.

对于那些熟悉ooba的人来说,它本质上是一个为大型语言模型(Large Language Models)设计的Gradio网络用户界面。

I downloaded and loaded a few llm models onto this web ui. The web ui uses http://127.0.0.1:7860/ to display the web user interface on port 7860. But if I enable the openai and api extensions, and also edit the CMD_FLAGS.txt within the ooba folder into something like:

我下载并在这个网络用户界面上加载了几个大型语言模型(LLM)。该网络用户界面使用 http://127.0.0.1:7860/ 在7860端口上显示用户界面。但是,如果我启用了openai和api扩展,并且在ooba文件夹内编辑CMD_FLAGS.txt文件,内容类似于:

python 复制代码
--listen --api --api-key "enter-your-fake-api-key-here" 

the extensions will mimic an Open AI api key by connecting to ooba from a network via port 5000

这些扩展将通过端口5000从网络连接到ooba,从而模拟一个OpenAI API密钥。

Here come the problem... 问题出现了

this is my code to view the model list from ooba : 以下是我用来查看ooba中模型列表的代码

python 复制代码
import requests

url = "http://127.0.0.1:5000/v1"

#Model List
headers = {
    "Content-Type": "application/json"
}

response = requests.get(f'{url}/internal/model/list',
                        headers=headers,
                        verify=False)
print(response.json())

the output should look something like this: 输出应该看起来像这样:

python 复制代码
{'model_names': ['L3-8B-Stheno-v3.2', 'L3-8B-Stheno-v3.2_exl2_8h_8bpw', 'L3-8B-Stheno-v3.2_q8_0.gguf', 'MixTAO-7Bx2-MoE-v8.1_q8_0.gguf']}

but instead i got this: 但我得到了这个:

python 复制代码
{'detail': 'Unauthorized'}

After some fiddling around I found that if I leave CMD_FLAGS.txt blank the code works as intended and i get the model lists but i dont have access to an API key since its not enable on ooba.

经过一些尝试后,我发现如果我将CMD_FLAGS.txt文件留空,代码就能按预期工作,我可以获取到模型列表。但是,由于我没有在ooba上启用API密钥功能,因此我无法访问API密钥。

if I do enable it with CMD_FLAGS.txt and typing: 如果我在CMD_FLAGS.txt中启用它并输入:

python 复制代码
--listen --api --api-key "enter-your-fake-api-key-here" 

I'll have access to the openai api key but the code to extract the model list will return as : {'detail': 'Unauthorized'}

我将能够访问OpenAI的API密钥,但是用于提取模型列表的代码将返回:{'detail': 'Unauthorized'}

I need the api key enabled from ooba cuz i plan to use the openai.client feature for model interactions. How do I keep the configuration that enables the fake open ai api key but also allows me to extract the model list?

我需要从ooba启用API密钥,因为我计划使用openai.client功能来进行模型交互。我如何保持这种配置,即启用模拟的OpenAI API密钥,同时又能提取模型列表?

问题解决:

1 day later... Found the answer. Turns out if i want the api key to be enabled while also being able to view the model list from ooba via the api, I need to add an 'Authorization': f'Bearer {api_key}' in the header.

一天后...我找到了答案。原来,如果我想在启用API密钥的同时,也能够通过API从ooba查看模型列表,我需要在请求头中添加'Authorization': f'Bearer {api_key}'。

The code should look something like this: 代码应该像这样:

python 复制代码
import requests

api_key = "enter-your-fake-api-key-here"
url = "http://127.0.0.1:5000/v1"

#Model List
headers = {
    "Content-Type": "application/json",
    "Authorization": f"Bearer {api_key}"
}

response = requests.get(f'{url}/internal/model/list',
                        headers=headers,
                        verify=False)
print(response.json())
复制代码
相关推荐
CyrusYiVPP24 分钟前
实测 Ollama 本地部署:我用 Python 搓了个离线问答机器人,Qwen4 27B 一到换个模型名就能用
人工智能·python
菩提小狗28 分钟前
每日极客日报 · 2026年11月09日
ai·开源·极客日报·it热点·技术资讯
2601_967980111 小时前
Python中flatten( )函数及函数用法详解
python·numpy·数组操作·flatten函数·列表处理
xbzb1 小时前
自定义 yum 软件源:Linux 上 createrepo,Windows 上纯 Python 也能造
linux·运维·windows·python·yum·createrepo
GISer_Jing1 小时前
Agent相关岗位时收集的各类技术面试题
后端·ai·langchain
观察世界2 小时前
字节 Seed 发布 Seedream 5.5:同一张图可编辑 100 轮,严重文字损坏率降至 0.4%
科技·ai
DQQzero2 小时前
0.16 元/秒的短剧流水线:即梦短剧工作室把 AI 视频生产改成了什么样
人工智能·ai·aigc·视频生成
GISer_Jing3 小时前
AI Agent秋招面试万字通关指南|架构、ReAct、上下文工程、RAG、评测、生产运维全解
后端·ai·langchain
装不满的克莱因瓶3 小时前
【SpringAI Alibaba】ReactAgent结构化输出OutputType与OutputSchema实战
java·人工智能·ai·springai·springaialibaba
东姬AI4 小时前
挖出948个内核漏洞、自动写补丁:GPT-6 Cyber把AI推进“实战岗“,内容行业还卡在哪一关?
人工智能·网络安全·openai·gpt-6