跳到主要內容
Open In ColabOpen on GitHub

ChatXinference

Xinference 是一個功能強大且用途廣泛的庫,旨在為 LLM、語音辨識模型和多模態模型提供服務,即使在您的筆記型電腦上也是如此。它支援各種與 GGML 相容的模型,例如 chatglm、baichuan、whisper、vicuna、orca 和許多其他模型。

概觀

整合詳細資訊

類別套件本機可序列化[JS 支援]套件下載套件最新版
ChatXinferencelangchain-xinference

模型功能

工具呼叫結構化輸出JSON 模式影像輸入音訊輸入視訊輸入Token 層級串流原生非同步Token 使用量Logprobs

設定

透過 PyPI 安裝 Xinference

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

在本機或分散式叢集中部署 Xinference。

對於本機部署,請執行 xinference

若要在叢集中部署 Xinference,請先使用 xinference-supervisor 啟動 Xinference 監管者。您也可以使用選項 -p 指定連接埠,並使用 -H 指定主機。預設連接埠為 8080,預設主機為 0.0.0.0。

然後,在您想要執行的每部伺服器上使用 xinference-worker 啟動 Xinference 工作者。

您可以查閱 Xinference 中的 README 檔案以取得更多資訊。

封裝器

若要將 Xinference 與 LangChain 搭配使用,您需要先啟動模型。您可以使用命令列介面 (CLI) 來執行此操作

%xinference launch -n vicuna-v1.3 -f ggmlv3 -q q4_0
Model uid: 7167b2b0-2a04-11ee-83f0-d29396a3f064

系統會傳回模型 UID 供您使用。現在您可以將 Xinference 與 LangChain 搭配使用

安裝

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_core.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)])

鏈結

我們可以像這樣使用提示範本鏈結我們的模型

from langchain.prompts import PromptTemplate
from langchain_xinference.chat_models import ChatXinference

prompt = PromptTemplate(
input=["country"], template="Q: where can we visit in the capital of {country}? A:"
)

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

chain = prompt | llm
chain.invoke(input={"country": "France"})
chain.stream(input={"country": "France"})
API 參考:PromptTemplate

API 參考

如需所有 ChatXinference 功能和組態的詳細文件,請前往 API 參考:https://github.com/TheSongg/langchain-xinference


此頁面是否對您有幫助?