当前位置: 首页 > news >正文

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 = "sk-a606294d41d846159ee4032c4ed3da12"
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)

http://www.dtcms.com/a/163722.html

相关文章:

  • unity Orbbec Femto Bolt接入unity流程记录 AzureKinectExamples 插件 使用记录
  • TA学习之路——2.4 图形传统光照模型详解
  • Python 使用一等函数实现设计模式(案例分析:重构“策略”模式)
  • JAVA设计模式——(九)工厂模式
  • 牛客周赛 Round 91
  • MQTT - Android MQTT 编码实战(MQTT 客户端创建、MQTT 客户端事件、MQTT 客户端连接配置、MQTT 客户端主题)
  • 算法设计:回溯法的基础原理与应用
  • 【Linux系统】systemV共享内存
  • 【Java学习】动态代理有哪些形式?
  • Rust 的 Web 世界:actix_web 轻松接收 JSON 请求体
  • 第一讲 | 算法复杂度
  • 1.4 点云数据获取方式——结构光相机
  • Reactor框架介绍
  • 嵌入式音视频实时通话EasyRTC打造设备安装与调试的高效远程解决方案
  • AWS创建多块盘并创建RAID0以及后增加空间
  • (02)Redis 的订阅发布Pub/Sub
  • 基于C#窗体+GDI+绘图实现分形树
  • 华锐视点历经十八年沉淀所形成的产品特性
  • Electron-vite中ELECTRON_RENDERER_URL环境变量如何被设置的
  • java 加入本地lib jar处理方案
  • 如何创建并使用极狐GitLab 议题模板?
  • HarmonyOS运动开发:如何监听用户运动步数数据
  • 基于Lucene的多场景检索系统开发指南
  • docker 通过定时任务恢复MySQL数据库
  • P1494 [国家集训队] 小 Z 的袜子 Solution
  • Java 基础--运算符全解析
  • MySQL 连接池 (Pool) 常用方法详解
  • HTML应用指南:利用POST请求获取全国达美乐门店位置信息
  • 【网络编程】UDP协议 和 Socket编程
  • Seaborn一个用于统计图形绘制的高级API