Xorbits 推理 (Xinference)
Xinference 是一个功能强大且用途广泛的库,旨在为 LLM、语音识别模型和多模态模型提供服务,即使在你的笔记本电脑上也是如此。它支持各种与 GGML 兼容的模型,例如 chatglm、baichuan、whisper、vicuna、orca 以及许多其他模型。此笔记本演示了如何在 LangChain 中使用 Xinference。
安装
通过 PyPI 安装 Xinference
%pip install --upgrade --quiet "xinference[all]"
在本地或分布式集群中部署 Xinference。
对于本地部署,运行 xinference
。
要在集群中部署 Xinference,首先使用 xinference-supervisor
启动 Xinference 管理器。你也可以使用 -p 选项指定端口,使用 -H 选项指定主机。默认端口为 9997。
然后,在要运行它们的所有服务器上使用 xinference-worker
启动 Xinference 工作器。
你可以查阅来自 Xinference 的 README 文件,以获取更多信息。
包装器
要在 LangChain 中使用 Xinference,你需要先启动一个模型。你可以使用命令行界面 (CLI) 来做到这一点
!xinference launch -n vicuna-v1.3 -f ggmlv3 -q q4_0
Model uid: 7167b2b0-2a04-11ee-83f0-d29396a3f064
将返回一个模型 UID 供你使用。现在,你可以在 LangChain 中使用 Xinference
from langchain_community.llms import Xinference
llm = Xinference(
server_url="http://0.0.0.0:9997", model_uid="7167b2b0-2a04-11ee-83f0-d29396a3f064"
)
llm(
prompt="Q: where can we visit in the capital of France? A:",
generate_config={"max_tokens": 1024, "stream": True},
)
API 参考:Xinference
' You can visit the Eiffel Tower, Notre-Dame Cathedral, the Louvre Museum, and many other historical sites in Paris, the capital of France.'
与 LLMChain 集成
from langchain.chains import LLMChain
from langchain_core.prompts import PromptTemplate
template = "Where can we visit in the capital of {country}?"
prompt = PromptTemplate.from_template(template)
llm_chain = LLMChain(prompt=prompt, llm=llm)
generated = llm_chain.run(country="France")
print(generated)
API 参考:LLMChain | PromptTemplate
A: You can visit many places in Paris, such as the Eiffel Tower, the Louvre Museum, Notre-Dame Cathedral, the Champs-Elysées, Montmartre, Sacré-Cœur, and the Palace of Versailles.
最后,当你不需要使用它时,终止模型
!xinference terminate --model-uid "7167b2b0-2a04-11ee-83f0-d29396a3f064"