【AI大模型应用开发】【LangChain系列】7. LangServe:轻松将你的LangChain程序部署成服务

简介: 【AI大模型应用开发】【LangChain系列】7. LangServe:轻松将你的LangChain程序部署成服务

大家好,我是【同学小张】。持续学习,持续干货输出,关注我,跟我一起学AI大模型技能。

LangServe 用于将 Chain 或者 Runnable 部署成一个 REST API 服务。

0. 安装

  • 同时安装langserve的服务端和客户端。
pip install "langserve[all]"
  • 只安装客户端
pip install "langserve[client]"
  • 只安装服务端
pip install "langserve[server]"

1. 代码及运行结果

1.1 服务端代码

import os
# 加载 .env 到环境变量
from dotenv import load_dotenv, find_dotenv
_ = load_dotenv(find_dotenv())
#!/usr/bin/env python
from fastapi import FastAPI
from langchain.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langserve import add_routes
import uvicorn
app = FastAPI(
  title="LangChain Server",
  version="1.0",
  description="A simple api server using Langchain's Runnable interfaces",
)
prompt_template = """
我的名字叫【{name}】,我的个人介绍是【{description}】。
请根据我的名字和介绍,帮我想一段有吸引力的自我介绍的句子,以此来吸引读者关注和点赞我的账号。
"""
model = ChatOpenAI()
prompt = ChatPromptTemplate.from_template(prompt_template)
add_routes(
    app,
    prompt | model,
    path="/self_introduction",
)
if __name__ == "__main__":
    uvicorn.run(app, host="localhost", port=9999)

从代码来看创建LangServe的重点:

(1)创建一个FastAPI实例:app

(2)add_routes函数直接将app, chain, path加进去

  • path:访问路径(接口)
    (3)通过 uvicorn.run 跑起来

注意上面的访问路径为/self_introduction,端口为9999,客户端要与之对应。

运行之后:

补充知识:Uvicorn是什么?

  • 基于 uvloop 和 httptools 构建的非常快速的 ASGI 服务器
  • 它不是一个 Web 框架,而是一个服务器,这是 FastAPI 框架提供的东西
  • 它是 FastAPI 的推荐使用的服务器

1.2 客户端代码

import requests
response = requests.post(
    "http://localhost:9999/self_introduction/invoke",
    json={'input': {'name': '同学小张', 'description': '热爱AI,持续学习,持续干货输出'}}
)
print(response.json())

就是发送一个post请求,注意url路径和端口号与serve端对应。url路径除了接口后面还加一个invoke,别漏了。

运行之后(请确保你的服务代码先运行起来):

大功告成。

本文比较简单,通过一个例子带大家看了下LangServe的使用方法。它其实就是将LangChain程序制作成了一个 FastAPI 服务,方便部署和发布。重点在 add_routes 函数。

如果觉得本文对你有帮助,麻烦点个赞和关注呗 ~~~


  • 大家好,我是同学小张
  • 欢迎 点赞 + 关注 ?,促使我持续学习持续干货输出
  • +v: jasper_8017 一起交流?,一起进步?。
  • 微信公众号也可搜【同学小张】 ?
  • 踩坑不易,感谢关注和围观

本站文章一览:

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
5天前
|
存储 移动开发 Linux
Linux系统之部署h5ai目录列表程序
【5月更文挑战第3天】Linux系统之部署h5ai目录列表程序
23 1
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界
本文介绍了阿里云机器学习PAI团队开发的名为ARTIST的中文文图生成模型,该模型融合了知识图谱信息,能够生成更加符合常识的图像。ARTIST基于Transformer架构,将文图生成任务分为图像矢量量化和文本引导的图像序列生成两个阶段。在第一阶段,模型使用VQGAN对图像进行矢量量化;在第二阶段,通过GPT模型并结合知识图谱中的实体知识来生成图像序列。在MUGE中文文图生成评测基准上,ARTIST表现出色,其生成效果优于其他模型。此外,EasyNLP框架提供了简单易用的接口,用户可以基于公开的Checkpoint进行少量领域相关的微调,实现各种艺术创作。
|
3天前
|
存储 人工智能 机器人
生成式 AI 与 LangCHain(一)(4)
生成式 AI 与 LangCHain(一)
36 1
|
3天前
|
人工智能 API Docker
生成式 AI 与 LangCHain(一)(2)
生成式 AI 与 LangCHain(一)
33 1
|
3天前
|
机器学习/深度学习 存储 人工智能
生成式 AI 与 LangCHain(一)(1)
生成式 AI 与 LangCHain(一)
51 1
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
生成式 AI 与 LangCHain(三)
生成式 AI 与 LangCHain(三)
27 2
|
3天前
|
机器学习/深度学习 人工智能 监控
生成式 AI 与 LangCHain(二)(4)
生成式 AI 与 LangCHain(二)
29 5
|
3天前
|
机器学习/深度学习 人工智能 数据可视化
生成式 AI 与 LangCHain(二)(2)
生成式 AI 与 LangCHain(二)
18 4
|
3天前
|
机器学习/深度学习 人工智能 算法
生成式 AI 与 LangCHain(二)(1)
生成式 AI 与 LangCHain(二)
25 3
|
5天前
|
算法 数据库 Docker
大模型必备向量数据库-Milvus的安装过程
大模型必备向量数据库-Milvus的安装过程
16 0

热门文章

最新文章

http://www.vxiaotou.com