Skip to main content
Xinference 是一个强大且多功能的库,专为在本地(甚至笔记本电脑上)服务 LLM、语音识别模型和多模态模型而设计。它支持与 GGML 兼容的多种模型,如 chatglm、baichuan、whisper、vicuna、orca 等。

概述

集成详情

可序列化[JS 支持]下载量版本
ChatXinferencelangchain-xinference

模型功能

工具调用结构化输出图像输入音频输入视频输入Token 级流式输出原生异步Token 用量对数概率

设置

通过 PyPI 安装 Xinference
pip install -qU  "xinference[all]"

在本地或分布式集群中部署 Xinference

本地部署时,运行 xinference 要在集群中部署 Xinference,首先使用 xinference-supervisor 启动 Xinference supervisor。您也可以使用 -p 选项指定端口,使用 -H 选项指定主机。默认端口为 8080,默认主机为 0.0.0.0。 然后,在每台要运行 Xinference worker 的服务器上使用 xinference-worker 启动 worker。 更多信息请参阅 Xinference 的 README 文件。

封装器

要将 Xinference 与 LangChain 一起使用,您需要先启动一个模型。您可以使用命令行界面(CLI)来完成此操作:
%xinference launch -n vicuna-v1.3 -f ggmlv3 -q q4_0
Model uid: 7167b2b0-2a04-11ee-83f0-d29396a3f064
系统会返回一个模型 UID 供您使用。现在您可以在 LangChain 中使用 Xinference:

安装

LangChain Xinference 集成位于 langchain-xinference 包中:
pip install -qU langchain-xinference
确保使用最新版本的 Xinference 以支持结构化输出。

实例化

现在我们可以实例化模型对象并生成聊天补全:
from langchain_xinference.chat_models import ChatXinference

llm = ChatXinference(
    server_url="your_server_url", model_uid="7167b2b0-2a04-11ee-83f0-d29396a3f064"
)

llm.invoke(
    "Q: where can we visit in the capital of France?",
    config={"max_tokens": 1024},
)

调用

from langchain.messages import HumanMessage, SystemMessage
from langchain_xinference.chat_models import ChatXinference

llm = ChatXinference(
    server_url="your_server_url", model_uid="7167b2b0-2a04-11ee-83f0-d29396a3f064"
)

system_message = "You are a helpful assistant that translates English to French. Translate the user sentence."
human_message = "I love programming."

llm.invoke([HumanMessage(content=human_message), SystemMessage(content=system_message)])

API 参考

有关所有 ChatXinference 功能和配置的详细文档,请前往 API 参考:github.com/TheSongg/langchain-xinference