LangChain入门(四) 部署应用程序

1、使用LangServe部署应用程序

 安装langserve

pip install langserve[all]

 代码示例

from fastapi import FastAPI
from langchain.chat_models import init_chat_model
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.output_parsers import StrOutputParser
from langchain.prompts.chat import (
    ChatPromptTemplate,
    SystemMessagePromptTemplate,
    HumanMessagePromptTemplate
)
from langserve import add_routes

# 这里只是示意,工程中建议使用getpass.getpass()来获取API密钥
api_key = os.environ.get("DEEPSEEK_API_KEY");
api_base = "https://api.deepseek.com/"


   
#1.定义模型
model = init_chat_model(
        model="deepseek-chat",
        api_key=api_key,
        api_base=api_base,
        temperature=0.8,
        max_tokens=1024,
        model_provider="deepseek",
    )
#2.定义提示词模板  
chat_prompt = ChatPromptTemplate.from_messages(
      [
         ("system", "请将下面的内容翻译成{language}"),
         ("human", "{text}")
      ]
)
# 3. 定义解析器
parser =StrOutputParser()
# 4. 定义chain
chain = chat_prompt | model | parser

#把程序部署为服务
#5.创建fastAPI的应用
app=FastAPI(title="我的翻译服务",version="1.0.0",description="使用LangChain构建的翻译机器人");

add_routes(
        app,
        chain,
        path="/demo"
)

if __name__ == "__main__":
     import uvicorn
     uvicorn.run(app,host="localhost",port=8000)

2.测试

使用Postman 测试

LangChain入门(四) 部署应用程序_第1张图片

通过Client 调用

from langserve import RemoteRunnable

if __name__=='__main__':
    client=RemoteRunnable('http://localhost:8000/demo/')
    response = client.invoke({
        "text": "假如我变得我很钱",
        "language": "英语"
    });
   
    print(response)

你可能感兴趣的:(langchain)