成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

AI實戰案例:快速實現快遞查詢助手!

人工智能
大模型應用開發是以后程序開發的主流方向,他也會巔峰以往的開發形式,早早掌握大模型的開發知識,對于后期漲薪或找工作都有巨大的幫助。

昨晚直播,咱們用 RAG(Retrieval-Augmented Generation,檢索增強生成)實現了數據庫 AI 助手,今天我們準備換一個技術使用 function call 來實現快遞 AI 助手。

執行效果

快遞 AI 助手的業務邏輯很清晰,就是我通過 LLM 大語言模型的對話來查詢我的快遞詳情,例如,我問 AI 我有幾個“運送中”的快遞,他把這些快遞查詢并展示出來,效果如下圖所示:

圖片圖片

什么是 function call?

定義: Function Call(也稱為 Tool Call)它允許大模型與一組 API 或工具進行交互,從而增強其功能。

也就是說 Function Call 和 RAG、MCP 等類似都是用于增強 AI 能力邊界的

function call 執行流程

執行流程如下:

圖片圖片

其中,Tool 既為 Function Call。

當然如果你上圖看的不是很懂的話,也可以參考阿里云提供的 function call 的工作流程:

快遞 AI 助手實現

具體實現步驟:

  1. 添加大模型依賴
  2. 配置大模型參數
  3. 創建 function call
  4. 調用 function call 實現快遞查詢

接下來,我們一步步來看,我們以阿里云的百煉(通義千問)大模型對接為例。

1.添加大模型依賴

<dependency>
    <groupId>org.springframework.ai</groupId>
    <artifactId>spring-ai-starter-model-openai</artifactId>
</dependency>

2.配置大模型參數

spring:
  ai:
    openai:
      base-url: https://dashscope.aliyuncs.com/compatible-mode/
      api-key: ${ALIYUN-AK}
      chat:
        options:
          model: deepseek-v3

3.創建 function call

這里就不連接數據庫查詢快遞信息了,生成級別需要連接數據庫,這里演示效果,構建測試數據即可,如下代碼所示:

import org.springframework.ai.tool.annotation.Tool;

import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;

publicclass ExpressService {

    @Tool(description = "用于查詢我的快遞")
    public List<Express> getExpress(String state) {
        // 生成測試數據
        List<Express> data = getData();
        // 根據狀態過濾(如果state為null或空則返回全部)
        return state == null || state.isEmpty()
                ? data
                : data.stream()
                .filter(e -> e.state().equalsIgnoreCase(state))
                .collect(Collectors.toList());
    }

    /**
     * 生成測試快遞數據
     */
    private List<Express> getData() {
        List<Express> data = new ArrayList<>();
        LocalDateTime now = LocalDateTime.now();
        data.add(new Express(1001L, "北京", "西安", now.minusDays(12), "已簽收"));
        data.add(new Express(1002L, "廣州", "西安", now.minusDays(12), "已簽收"));
        data.add(new Express(1003L, "杭州", "西安", now.minusDays(3), "運送中"));
        data.add(new Express(1004L, "深圳", "西安", now.minusDays(3), "運送中"));
        data.add(new Express(1005L, "南京", "西安", now.minusDays(1), "待發貨"));
        return data;
    }


    /**
     * 快遞類
     *
     * @param id
     * @param from
     * @param to
     * @param createtime
     * @param state
     */
    record Express(long id, String from, String to,
                   LocalDateTime createtime, String state) {
    }
}

4.調用 function call

調用大模型可以使用 ChatModel 和 ChatClient,這里使用 ChatClient 調用:

@RequestMapping("/tool")
public Flux<String> tool(@RequestParam("msg") String msg) {
    return chatClient.prompt(msg)
            .tools(new ExpressService(),
                    new DateTimeTools())
            .stream().content();
}

最終執行效果如下:

圖片圖片

小結

大模型應用開發是以后程序開發的主流方向,他也會巔峰以往的開發形式,早早掌握大模型的開發知識,對于后期漲薪或找工作都有巨大的幫助。程序員群體注定是一個活到老學到老的群體,因為學習的本質在于擴展自己的能力邊界,讓自己變得更值錢,所以各位動起來,讓我們一起擁抱這場 AI 盛宴吧。

責任編輯:武曉燕 來源: 磊哥和Java
相關推薦

2025-04-18 00:00:00

2013-07-10 13:54:00

php

2024-08-12 08:41:40

2023-08-04 06:59:48

2018-09-27 14:14:36

Infor AI

2024-01-04 15:09:03

蜜蜂AI助手鴻蒙操作系統

2015-02-27 16:39:26

快遞查詢ZXing掃描單號

2025-05-23 10:41:00

2023-11-09 11:31:43

GitHub開發

2024-07-11 15:26:23

2023-05-16 09:53:18

ChatGPT人工智能

2025-02-21 08:00:00

事務管理SpringBootJava

2025-06-19 03:30:00

智能體DifyMCP

2025-03-28 07:33:09

數據庫AI助手設計

2025-03-28 00:00:00

SOCAI安全

2024-11-15 16:35:13

2019-04-19 13:37:01

FacebookAI語音助手人工智能

2023-10-12 08:00:48

2019-08-29 09:57:24

Python系統編程
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 精品9999| 久久久精品一区二区三区四季av | 国产精品成人一区二区三区夜夜夜 | 97caoporn国产免费人人 | 97久久精品午夜一区二区 | 国产成人亚洲精品 | 日韩中文字幕免费在线观看 | 久久久精品一区二区三区 | 日本在线网站 | 亚洲一区二区 | 天天插天天操 | 午夜精品一区二区三区在线视频 | 91香蕉嫩草 | 91精品国产综合久久精品 | 99影视| 欧美一区二区三区大片 | 久久婷婷色 | 免费观看一级特黄欧美大片 | 蜜桃视频在线观看免费视频网站www | 国产精品成人免费 | 一级片网址 | 澳门永久av免费网站 | www.日韩 | 在线免费观看成年人视频 | 色999视频 | 日韩一二三区视频 | 日日操夜夜操天天操 | www亚洲精品 | 国产一级一级毛片 | 国产91精品久久久久久久网曝门 | 色黄视频在线 | 日韩精品一区二区三区视频播放 | 久在线视频播放免费视频 | 亚洲日本视频 | 国产精品欧美日韩 | 久草视频在 | 精品一二三 | 久久久免费观看视频 | 人人玩人人干 | 日本不卡一区二区 | 中文字幕av色 |