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

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 【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 一起交流💬,一起进步💪。
  • 微信公众号也可搜【同学小张】 🙏
  • 踩坑不易,感谢关注和围观

本站文章一览:

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3天前
|
机器学习/深度学习 人工智能 并行计算
"震撼!CLIP模型:OpenAI的跨模态奇迹,让图像与文字共舞,解锁AI理解新纪元!"
【10月更文挑战第14天】CLIP是由OpenAI在2021年推出的一种图像和文本联合表示学习模型,通过对比学习方法预训练,能有效理解图像与文本的关系。该模型由图像编码器和文本编码器组成,分别处理图像和文本数据,通过共享向量空间实现信息融合。CLIP利用大规模图像-文本对数据集进行训练,能够实现zero-shot图像分类、文本-图像检索等多种任务,展现出强大的跨模态理解能力。
15 2
|
5天前
|
前端开发 机器人 API
前端大模型入门(一):用 js+langchain 构建基于 LLM 的应用
本文介绍了大语言模型(LLM)的HTTP API流式调用机制及其在前端的实现方法。通过流式调用,服务器可以逐步发送生成的文本内容,前端则实时处理并展示这些数据块,从而提升用户体验和实时性。文章详细讲解了如何使用`fetch`发起流式请求、处理响应流数据、逐步更新界面、处理中断和错误,以及优化用户交互。流式调用特别适用于聊天机器人、搜索建议等应用场景,能够显著减少用户的等待时间,增强交互性。
|
7天前
|
存储 人工智能 uml
介绍一款好用的开源画图神器-draw.io | AI应用开发
draw.io 是一款基于浏览器的开源绘图工具,无需安装即可使用,支持多种操作系统和设备。其简洁的界面、丰富的形状库、智能对齐功能和强大的云端协作能力,使其成为专业人士和创意爱好者的首选。无论是产品设计、流程图绘制还是思维导图构建,draw.io 都能满足你的多样化需求。【10月更文挑战第7天】
41 0
|
4天前
|
人工智能 自然语言处理
从迷茫到精通:揭秘模型微调如何助你轻松驾驭AI新热点,解锁预训练模型的无限潜能!
【10月更文挑战第13天】本文通过简单的问题解答形式,结合示例代码,详细介绍了模型微调的全流程。从选择预训练模型、准备新任务数据集、设置微调参数,到进行微调训练和评估调优,帮助读者全面理解模型微调的技术细节和应用场景。
22 6
|
4天前
|
数据采集 人工智能 算法
《AI大模型助力客户对话分析》部署心得
该方案详细介绍了AI客服对话分析的实践原理和实施方法,涵盖从数据预处理到模型训练、预测的关键步骤。但技术细节和实施步骤的具体性不足,如模型训练算法、参数调优方法、数据预处理步骤等需要补充。部署体验中,环境配置和参数设置的指导不够明确,建议提供详细的环境配置指南和参数说明。示例代码可作为模板使用,但在函数计算部署中可能存在环境配置不匹配、依赖库冲突等问题。方案基本满足对话分析需求,但在模型泛化能力、实时分析、可视化界面及数据安全等方面仍有提升空间。
|
4天前
|
人工智能 弹性计算 自然语言处理
《触手可及,函数计算玩转 AI 大模型》解决方案体验与部署评测
在AI技术快速发展的背景下,大模型正推动各行业的智能化转型。企业为抓住机遇,纷纷寻求部署AI大模型以满足特定业务需求。阿里云函数计算凭借按量付费、卓越弹性和快速交付等优势,为企业提供了高效、安全的AI大模型部署方案。本文将详细介绍阿里云函数计算的技术解决方案及其在文生文、图像生成和语音生成等领域的应用实例,展示其在降低成本、提高效率和增强灵活性方面的显著优势。
|
5天前
|
人工智能 Java API
阿里云开源 AI 应用开发框架:Spring AI Alibaba
近期,阿里云重磅发布了首款面向 Java 开发者的开源 AI 应用开发框架:Spring AI Alibaba(项目 Github 仓库地址:alibaba/spring-ai-alibaba),Spring AI Alibaba 项目基于 Spring AI 构建,是阿里云通义系列模型及服务在 Java AI 应用开发领域的最佳实践,提供高层次的 AI API 抽象与云原生基础设施集成方案,帮助开发者快速构建 AI 应用。本文将详细介绍 Spring AI Alibaba 的核心特性,并通过「智能机票助手」的示例直观的展示 Spring AI Alibaba 开发 AI 应用的便利性。示例源
|
5天前
|
人工智能 自然语言处理 搜索推荐
【通义】AI视界|微软Copilot Studio推出新功能,帮助企业更便捷地构建和部署AI代理
本文介绍了近期科技领域的五大重要动态:马斯克旗下xAI发布首个API,苹果内部研究显示ChatGPT比Siri准确率高25%,微软Copilot Studio推出新功能,霍尼韦尔与谷歌合作引入Gemini AI,浑水创始人建议买入科技七巨头股票。更多资讯请访问【通义】。
|
5天前
|
人工智能 前端开发 JavaScript
前端大模型入门(二):掌握langchain的核心Runnable接口
Langchain.js 是 Langchain 框架的 JavaScript 版本,专为前端和后端 JavaScript 环境设计。最新 v0.3 版本引入了强大的 Runnable 接口,支持灵活的执行方式和异步操作,方便与不同模型和逻辑集成。本文将详细介绍 Runnable 接口,并通过实现自定义 Runnable 来帮助前端人员快速上手。
|
4天前
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单
随着云计算和人工智能(AI)技术的飞速发展,企业对于高效、灵活且成本效益高的解决方案的需求日益增长。本文旨在探讨 Serverless 架构与 AI 技术的结合,如何通过 Serverless 函数计算和 AI 开发平台,助力企业简化应用开发流程,减少企业 AI 业务试错成本,加速业务创新,为企业业务发展提供无限可能。