oobabooga-textgen-web-ui 如何通过 ooba 的 API 密钥在 Python 中从端口 5000 获取查看模型列表的授权

我想从 oobabooga-text-gen-web-ui 中提取并打印出大语言模型(LLM)的列表,使用 Python 进行操作。

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

对于熟悉 ooba 的人来说,它本质上是一个用于大语言模型的 Gradio 网页用户界面。

我下载并加载了一些 LLM 模型到这个网页界面上。网页界面使用 http://127.0.0.1:7860/ 在 7860 端口上显示网页用户界面。但是,如果我启用了 openaiapi 扩展,并且编辑 ooba 文件夹中的 CMD_FLAGS.txt 文件,使其内容类似于:

--listen --api --api-key "enter-your-fake-api-key-here" 

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

现在问题来了…

这是我查看 ooba 模型列表的代码:

import requestsurl = "http://127.0.0.1:5000/v1"#Model Listheaders = {    "Content-Type": "application/json"}response = requests.get(f'{url}/internal/model/list',                        headers=headers,                        verify=False)print(response.json())

输出应该类似于这样:

{'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']}

但实际上我得到的是:

{'detail': 'Unauthorized'}

经过一番尝试后,我发现如果我将 CMD_FLAGS.txt 留,代码可以正常工作,我可以获取模型列表,但由于 ooba 上没有启用 API 密钥,我无法访问 API 密钥。

如果我在 CMD_FLAGS.txt 中启用它并输入:

--listen --api --api-key "enter-your-fake-api-key-here" 

我将可以访问 OpenAI API 密钥,但提取模型列表的代码会返回:{'detail': 'Unauthorized'}

我需要从 ooba 启用 API 密钥,因为我计划使用 openai.client 功能进行模型交互。我该如何保持启用假 OpenAI API 密钥的配置,同时也允许我提取模型列表呢?


回答:

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

代码应该看起来像这样:

import requestsapi_key = "enter-your-fake-api-key-here"url = "http://127.0.0.1:5000/v1"#Model Listheaders = {    "Content-Type": "application/json",    "Authorization": f"Bearer {api_key}"}response = requests.get(f'{url}/internal/model/list',                        headers=headers,                        verify=False)print(response.json())

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注