模型#
模型列表#
你可以列出 Xinference 中所有可以启动的、某种类型的模型:
xinference registrations --model-type <MODEL_TYPE> \
[--endpoint "http://<XINFERENCE_HOST>:<XINFERENCE_PORT>"] \
curl http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1/model_registrations/<MODEL_TYPE>
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
print(client.list_model_registrations(model_type='<MODEL_TYPE>'))
Xinference 支持以下 MODEL_TYPE
:
LLM
文本生成模型或大型语言模型
embedding
文本嵌入模型
image
图像生成或处理模型
audio
音频模型
rerank
重排序模型
video
视频模型
你可以在 这里 查看 Xinference 支持的所有内置模型。如果你需要的模型不可用,Xinference 还允许你注册自己的 自定义模型。
启动和停止模型#
每个运行的模型实例将被分配一个唯一的模型uid。默认情况下,模型uid等于模型名。这个 ID 是后续使用模型实例的句柄,启动命令 --model-uid
选项可以手动指定它。
你可以通过命令行或者 Xinference 的 Python 客户端来启动一个模型。
xinference launch --model-name <MODEL_NAME> \
[--model-engine <MODEL_ENGINE>] \
[--model-type <MODEL_TYPE>] \
[--model-uid <MODEL_UID>] \
[--endpoint "http://<XINFERENCE_HOST>:<XINFERENCE_PORT>"] \
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
model_uid = client.launch_model(
model_name="<MODEL_NAME>",
model_engine="<MODEL_ENGINE>",
model_type="<MODEL_TYPE>"
model_uid="<MODEL_UID>"
)
print(model_uid)
对于模型类型 LLM
,启动模型不仅需要指定模型名称,还需要参数的大小、模型格式以及模型引擎。请参考 大语言模型 文档。
以下命令可以列出 Xinference 中正在运行的模型:
xinference list [--endpoint "http://<XINFERENCE_HOST>:<XINFERENCE_PORT>"]
curl http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1/models
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
print(client.list_models())
当你不再需要当前正在运行的模型时,以下列方式释放其占用的资源:
xinference terminate --model-uid "<MODEL_UID>" [--endpoint "http://<XINFERENCE_HOST>:<XINFERENCE_PORT>"]
curl -X DELETE http://<XINFERENCE_HOST>:<XINFERENCE_PORT>/v1/models/<MODEL_UID>
from xinference.client import Client
client = Client("http://<XINFERENCE_HOST>:<XINFERENCE_PORT>")
client.terminate_model(model_uid="<MODEL_UID>")
模型使用#
聊天 & 生成
学习如何在 Xinference 中与 LLM聊天。
工具
学习如何将 LLM 与外部工具连接起来。
嵌入
学习如何在 Xinference 中创建文本嵌入。
重排序
学习如何在 Xinference 中使用重排序模型。
图像
学习如何使用Xinference生成图像。
视觉
学习如何使用 LLM 处理图像。
音频
学习如何使用 Xinference 将音频转换为文本或将文本转换为音频。
视频
学习如何使用Xinference生成视频。