vLLM 聊天
vLLM可以作为模拟OpenAI API协议的服务端部署。这使得vLLM能够作为OpenAI API的直接替代品用于应用程序中。此服务端可以通过与OpenAI API相同的形式进行查询。
概览
这将帮助你开始使用vLLM 聊天模型,这些模型利用了langchain-openai包。要查看所有ChatOpenAI功能和配置的详细文档,请参阅API参考。
集成细节
| Class | 包 | 本地 | 序列化 | JS支持 | Package downloads | Package 最新版本 |
|---|---|---|---|---|---|---|
| ChatOpenAI | langchain_openai | ✅ | beta | ❌ |
模型特性
特定模型功能——如工具调用、多模态输入支持、token级别流式传输等——将取决于托管的模型。
设置
See the vLLM 文档 这里。
要通过LangChain访问vLLM模型,您需要安装langchain-openai集成包。
Credentials
认证将依赖于推理服务器的具体情况。
要启用对您的模型调用的自动跟踪,请设置您的LangSmith API密钥:
# os.environ["LANGSMITH_TRACING"] = "true"
# os.environ["LANGSMITH_API_KEY"] = getpass.getpass("Enter your LangSmith API key: ")
安装
The LangChain vLLM集成可以通过langchain-openai包访问:
%pip install -qU langchain-openai
Instantiation
现在我们就可以实例化我们的模型对象并生成聊天完成内容:
from langchain_core.messages import HumanMessage, SystemMessage
from langchain_core.prompts.chat import (
ChatPromptTemplate,
HumanMessagePromptTemplate,
SystemMessagePromptTemplate,
)
from langchain_openai import 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,
)
Invocation
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 参考:ChatPromptTemplate
API 参考
详细文档请参阅通过langchain-openai暴露的所有功能和配置:
https://python.langchain.com/api_reference/openai/chat_models/langchain_openai.chat_models.base.ChatOpenAI.html
refer to the vLLM 文档 as well.