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

超實用!用FunctionCall實現快遞AI助手

人工智能 其他數據庫
昨天晚上直播,我們用 RAG(Retrieval-Augmented Generation,檢索增強生成)實現了數據庫 AI 助手,今天我們準備換一個技術使用 function call 來實現快遞 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
相關推薦

2024-07-11 15:26:23

2019-05-21 15:28:00

Tomcat腳本權限

2023-11-02 10:14:50

TinykeysWeb應用

2024-08-12 08:41:40

2023-05-05 17:11:11

前端Mousetrap方式

2023-08-09 12:21:58

軟件工具AI

2024-11-15 11:30:58

2018-09-27 14:14:36

Infor AI

2024-01-04 15:09:03

蜜蜂AI助手鴻蒙操作系統

2022-05-25 08:21:15

2020-08-31 08:25:06

Python時間模塊開發

2025-06-06 00:00:00

JavaHTTPMCP

2022-03-03 10:49:46

Python自動追蹤代碼

2023-11-09 11:31:43

GitHub開發

2019-01-14 12:28:21

華為云

2025-05-23 10:41:00

2025-04-21 08:13:58

ChatGPTAINLP

2021-02-20 08:55:58

PythonGitHub互聯網

2023-01-29 09:18:14

ScrollendJavaScript事件
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美精品一区二区三区一线天视频 | 91精品国产综合久久久久 | 欧美高清性xxxxhd | 国产一区二区a | 麻豆久久久久久 | 国产精品伦理一区二区三区 | 国产精品永久免费观看 | 国产欧美精品在线观看 | 国产在线www| 国产区在线免费观看 | 一区二区三区欧美在线 | 中文字幕第一页在线 | 狠狠操狠狠操 | 国产在线精品一区二区三区 | 久久精品久久久 | 精品久久久久久久久久久 | 一区二区中文 | 中文字幕精品一区二区三区精品 | 欧美日韩国产一区二区三区 | 色综合成人网 | 中文字幕国产一区 | 免费视频一区 | 久久久青草婷婷精品综合日韩 | 一区二区三区成人 | 国产精品日日摸夜夜添夜夜av | 日韩一区在线播放 | 亚洲精品视频观看 | 日韩一区二区在线免费观看 | 欧美二级 | 国产精品不卡 | 天天插日日操 | 久久久久网站 | 日韩欧美一区二区三区 | 精品亚洲国产成av人片传媒 | 99久久久久| 日韩av免费在线观看 | 久久99精品久久久久久青青日本 | 精品乱人伦一区二区三区 | 日韩精品久久久 | 亚洲一区二区精品视频在线观看 | 日韩视频精品在线 |