探索Xorbits Inference:在LangChain中轻松部署AI模型

295 阅读2分钟

探索Xorbits Inference:在LangChain中轻松部署AI模型

Xorbits Inference(Xinference)是一个功能强大的库,专为服务大规模语言模型(LLMs)、语音识别模型以及多模态模型而设计。无论是在个人计算机上,或是集群环境下,它都能简化部署流程,使您能够用简单的命令启动并运行最先进的内置模型。本文将向您展示如何使用Xinference与LangChain集成。

安装与设置

要开始使用Xinference,您可以通过PyPI来安装该库:

pip install "xinference[all]"

这个库支持多种与GGML兼容的模型,如chatglm、baichuan、whisper、vicuna和orca。您可以通过以下命令查看所有内置模型:

xinference list --all

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。

代码示例

下面是如何在LangChain中使用Xinference的示例:

from langchain_community.llms import Xinference

llm = Xinference(
    server_url="http://0.0.0.0:9997",  # 使用API代理服务提高访问稳定性
    model_uid="your_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. 模型启动失败

如果模型启动失败,检查您的命令是否正确配置,特别是模型名称和参数配置。

总结与进一步学习资源

Xinference为用户提供了一种简便的方法来部署和管理AI模型。从个人桌面到分布式集群,其灵活性皆能满足。有关更多信息及实例,请访问xinference LLMs使用示例xinference嵌入示例

参考资料

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

---END---