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 uvicornuvicorn.run(app,host="localhost",port=8000)
2.测试
使用Postman 测试
通过Client 调用
from langserve import RemoteRunnableif __name__=='__main__':client=RemoteRunnable('http://localhost:8000/demo/')response = client.invoke({"text": "假如我变得我很钱","language": "英语"});print(response)