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

第9章:LangChain结构化输出-示例3(日期和时间提取服务)

如何使用LangChain4j框架创建和使用多种AI服务。它通过定义接口和注解,将自然语言处理任务(如情感分析、数字提取、日期提取、POJO提取等)封装为服务,并通过LangChain4j的AiServices动态生成这些服务的实现。

本章主要讲述基于LangChain调用大模型如何进行结构化输出的真实示例,一共列列举,本章主要介绍自然语言结合大模型如何提取日期和时间(提取其他信息也是类似)

整体代码结果说明

代码定义了多个静态内部类,每个类都展示了LangChain4j中不同类型的AI服务示例。这些服务通过接口和注解定义,并通过AiServices.create()方法动态生成实现。每个类都包含一个main方法,用于演示如何调用这些服务。

日期和时间提取服务(DateTimeExtractor)

1. 技术实现

1.1 接口定义

日期和时间提取服务通过定义一个接口DateTimeExtractor来封装日期和时间提取功能。接口中包含三个方法:

  • extractDateFrom(String text):从文本中提取日期(LocalDate)。
  • extractTimeFrom(String text):从文本中提取时间(LocalTime)。
  • extractDateTimeFrom(String text):从文本中提取日期和时间(LocalDateTime)。
interface DateTimeExtractor {
   
    @UserMessage("Extract date from {
   {it}}")
    LocalDate extractDateFrom(String text);

    @UserMessage("Extract time from {
   {it}}")
    LocalTime extractTimeFrom(String text);

    @UserMessage("Extract date and time from {
   {it}}")
    LocalDateTime extractDateTimeFrom(String text);
}

解析
方法定义:每个方法都使用@UserMessage注解定义了用户消息模板,{ {it}}会被替换为方法参数(即要提取日期和时间的文本)。这使得AI能够理解用户的意图,并生成相应的响应。
日期和时间类型支持:支持LocalDate、LocalTime和LocalDateTime,确保提取的日期和时间可以无缝地转换为所需的类型,避免类型转换错误。

1.2 动态生成服务实现

通过AiServices.create()方法,LangChain4j框架动态生成了DateTimeExtractor接

相关文章:

  • 缓存基础解释与缓存友好型编程基础
  • 【嵌入式Linux应用开发基础】进程间通信(6):套接字
  • 从Excel到Hadoop:数据规模的进化之路
  • ubuntu新系统使用指南
  • 大白话React第三章高级应用阶段
  • API接口设计模式:从分层架构到CQRS的实战应用
  • aardio - 虚表——列附加文本及列按钮区域例程
  • 解锁策略模式:Java 实战与应用全景解析
  • docker中常用的命令
  • 【Linux系统】—— 冯诺依曼体系结构与操作系统初理解
  • 机械硬盘与固态硬盘的区别-机械硬盘的未来在哪里?
  • fcntl()函数的概念和使用案例 c语言
  • 易语言模拟真人鼠标轨迹算法 - 防止游戏检测
  • 计算机视觉行业洞察--影像行业系列第一期
  • WebXR教学 02 配置开发环境
  • 通过AI辅助生成PPT (by quqi99)
  • hbuilderx 小程序分包_微信小程序关于分包【收藏版】
  • WiFi相关功能使用教程(wpa_supplicant及wpa_cli)
  • 谁会是“下一个DeepSeek?”——从技术路线与生态逻辑看AI大模型的未来格局
  • SMU Winter 2025 div1 4th
  • html怎么做静态网站/学seo网络推广
  • 如何使用上线了app建设网站/武汉搜索引擎营销
  • 工业设计专业怎么样/杭州优化seo公司
  • 业务代刷平台网站怎么做/浙江seo公司
  • 北京自助建站软件/建设网页
  • 网站注册系统用什么做/如何提高网站排名