在 Xinference 的 WebGUI 界面中,我们部署模型非常简单,下面我们来介绍如何部署 LLM 模型。
首先我们在Launch Model
菜单中选择LANGUAGE MODELS
标签,输入模型关键字chatglm3
来搜索我们要部署的 ChatGLM3 模型。
然后点击chatglm3
卡片,会出现如下界面:
在部署 LLM 模型时,我们有以下参数可以进行选择:
pytorch
,量化格式有ggml
、gptq
等参数填写完成后,点击左边的火箭图标按钮即开始部署模型,后台会根据参数选择下载量化或非量化的 LLM 模型。部署完成后,界面会自动跳转到Running Models
菜单,在LANGUAGE MODELS
标签中,我们可以看到部署好的 ChatGLM3-6B 模型。
我们如果点击上图的红色方框图标Launch Web UI
,浏览器会弹出 LLM 模型的 Web 界面,在这个界面中,你可以与 LLM 模型进行对话,界面如下:
如果你不满足于使用 LLM 模型的 Web 界面,你也可以调用 API 接口来使用 LLM 模型,其实在 Xinference 服务部署好的时候,WebGUI 界面和 API 接口已经同时准备好了,在浏览器中访问http://localhost:9997/docs/
就可以看到 API 接口列表。
![image-20240708145440633](/Users/mac/Library/Application Support/typora-user-images/image-20240708145440633.png)
接口列表中包含了大量的接口,不仅有 LLM 模型的接口,还有其他模型(比如 Embedding 或 Rerank )的接口,而且这些都是兼容 OpenAI API 的接口。以 LLM 的聊天功能为例,我们使用 Curl 工具来调用其接口,示例如下:
curl -X 'POST' \
'http://localhost:9997/v1/chat/completions' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "chatglm3",
"messages": [
{
"role": "user",
"content": "hello"
}
]
}'
我们再来部署多模态模型,多模态模型是指可以识别图片的 LLM 模型,部署方式与 LLM 模型类似。
首先选择Launch Model
菜单,在LANGUAGE MODELS
标签下的模型过滤器Model Ability
中选择vl-chat
,可以看到目前支持的 2 个多模态模型:
![image-20240708145414520](/Users/mac/Library/Application Support/typora-user-images/image-20240708145414520.png)
我们选择qwen-vl-chat
这个模型进行部署,部署参数的选择和之前的 LLM 模型类似,选择好参数后,同样点击左边的火箭图标按钮进行部署,部署完成后会自动进入Running Models
菜单,显示如下:
![image-20240708145529189](/Users/mac/Library/Application Support/typora-user-images/image-20240708145529189.png)
点击图中Launch Web UI
的按钮,浏览器会弹出多模态模型的 Web 界面,在这个界面中,你可以使用图片和文字与多模态模型进行对话,界面如下:
![image-20240708145555697](/Users/mac/Library/Application Support/typora-user-images/image-20240708145555697.png)
Embedding 模型是用来将文本转换为向量的模型,使用 Xinference 部署的话更加简单,只需要在Launch Model
菜单中选择Embedding
标签,然后选择相应模型,不像 LLM 模型一样需要选择参数,只需直接部署模型即可,这里我们选择部署bge-base-en-v1.5
这个 Embedding 模型。
![image-20240708145629786](/Users/mac/Library/Application Support/typora-user-images/image-20240708145629786.png)
![image-20240708145647740](/Users/mac/Library/Application Support/typora-user-images/image-20240708145647740.png)
我们通过 Curl 命令调用 API 接口来验证部署好的 Embedding 模型:
url -X 'POST' \
'http://localhost:9997/v1/embeddings' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
"model": "bge-base-en-v1.5",
"input": "hello"
}'
powered by kaifamiao