vLLM 聊天
vLLM 可以部署为一个模仿 OpenAI API 协议的服务器。这使得 vLLM 可以作为即插即用型替代方案,用于使用 OpenAI API 的应用程序。此服务器的查询格式与 OpenAI API 的查询格式相同。
概览
这将帮助您开始使用 vLLM 聊天模型,它利用了 langchain-openai 包。有关所有 ChatOpenAI 功能和配置的详细文档,请前往 API 参考。
集成详情
| 类 | 包 | 本地 | 可序列化 | JS 支持 | 包下载 | 包最新版本 |
|---|---|---|---|---|---|---|
| ChatOpenAI | langchain_openai | ✅ | beta | ❌ |
模型特性
特定的模型特性,例如工具调用、多模态输入支持、Token 级别流式传输支持等,将取决于所托管的模型 。
设置
请参阅 vLLM 文档 此处。
要通过 LangChain 访问 vLLM 模型,您需要安装 langchain-openai 集成包。
凭证
身份验证将取决于推理服务器的具体情况。
为了使您的模型调用能够被自动追踪,请设置您的 LangSmith API 密钥:
# os.environ["LANGSMITH_TRACING"] = "true"
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
安装
LangChain 的 vLLM 集成可以通过 langchain-openai 包访问:
%pip install -qU langchain-openai
实例化
现在我们可以实例化我们的模型对象并生成 聊天补全:
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.prompts.chat import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
SystemMessagePromptTemplate,
)
from langchain_openai import ChatOpenAI
API Reference:HumanMessage | SystemMessage | ChatPromptTemplate | HumanMessagePromptTemplate | SystemMessagePromptTemplate | ChatOpenAI
inference_server_url = "http://localhost:8000/v1"
llm = ChatOpenAI(
model="mosaicml/mpt-7b",
openai_api_key="EMPTY",
openai_api_base=inference_server_url,
max_tokens=5,
temperature=0,
)
调用
messages = [
SystemMessage(
content="You are a helpful assistant that translates English to Italian."
),
HumanMessage(
content="Translate the following sentence from English to Italian: I love programming."
),
]
llm.invoke(messages)
AIMessage(content=' Io amo programmare', additional_kwargs={}, example=False)
链式调用
我们可以像这样将我们的模型与提示模板链接起来:
from langchain_core.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate(
[
(
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
),
("human", "{input}"),
]
)
chain = prompt | llm
chain.invoke(
{
"input_language": "English",
"output_language": "German",
"input": "I love programming.",
}
)
API Reference:ChatPromptTemplate
API 参考
有关 langchain-openai 提供的所有功能和配置的详细文档,请参阅 API 参考:https://python.langchain.com/api_reference/openai/chat_models/langchain_openai.chat_models.base.ChatOpenAI.html
另请参阅 vLLM 的 文档。
Related
- Chat model conceptual guide
- Chat model how-to guides