这是一个可以将 Huggingface Spaces、魔搭创空间 及 Gradio ChatBot 自动转成免费 API 的 Npm 包。理论上支持所有带 chatbot 的空间,目前完美支持了 GPT4Free,ChatGPT,Llama 2,Vicuna,MPT-30B,Falcon,ChatGLM,通义千问 等众多模型空间
项目地址:https://github.com/weaigc/gradio-chatbot
直接使用:https://weaigc.github.io/gradio-chatbot-ui
快速上手
NPM
-
体验 ChatGPT
npx gradio-chatbot
# or
npm install -g gradio-chatbot
chatbot
-
体验 Llama2
chatbot 2
# 或者
chatbot https://huggingface.co/spaces/huggingface-projects/llama-2-13b-chat
更多用法请输入 chatbot help
Docker
docker build . -t gradio-server
docker run --rm -it -p 8000:8000 gradio-server
https://asciinema.org/a/0ki5smP795eyXdXGlx53UDmTB
安装
你可以使用 npm 或者 yarn 来安装 gradio-chatbot,Node 版本需要 >= 18。
npm install gradio-chatbot
# or
yarn add gradio-chatbot
使用
目前支持三种模式。
CLI模式
参考 快速上手。
API服务
为了方便使用,提供了两种形式的接口。
-
流式输出,直接访问 http://localhost:8000/api/conversation?model=0&text=hello 即可。
-
非流式输出,调用方式同 ChatGPT API。以下为调用示例。
curl http://127.0.0.1:8000/api/conversation \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "hello"}],
}'
API函数
import { GradioChatBot } from 'gradio-chatbot'
const bot = new GradioChatBot();
async function start() {
const message = await bot.chat('hello', {
onMessage(partialMsg) {
console.log('stream output:', partialMsg);
}
});
console.log('message', message);
}
start();
你也可以把你想要转换的空间地址输入进去,如 https://huggingface.co/spaces/h2oai/h2ogpt-chatbot
import { GradioChatBot } from 'gradio-chatbot'
const bot = new GradioChatBot({
url: 'https://huggingface.co/spaces/h2oai/h2ogpt-chatbot',
fnIndex: 35,
}); // 调用自定义 ChatBot 模型
async function start() {
console.log(await bot.chat('Hello'));
}
start();
除此之外,Npm 包里面已经内置了 10 个流行的 Huggingface Spaces、魔搭创空间,你可以直接传入模型序号使用。
import { GradioChatBot } from 'gradio-chatbot';
const bot = new GradioChatBot('1'); // 使用内置1号模型
async function start() {
console.log(await bot.chat('Tell me about ravens.'));
}
start();
更多示例请前往目录: Examples
注意:Huggingface 上的部分模型可能会收集你输入的信息,如果你对数据安全有要求,建议不要使用,使用自己搭建的模型是一个更好的选择。