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

借助Spring AI,快速為AI Agent搭建API網關

人工智能
希望本文能為大家在相關領域的探索提供有益參考,助力大家在AI與API融合的實踐中取得更多成果,挖掘更多應用可能。

本文教大家如何實現一個API網關,以便AI代理(AI Agents)能夠訪問REST API服務。

圖片圖片

一、工具與 AI 代理:大語言模型的得力助手 

工具或函數是大語言模型(LLM)用于從提示中識別函數調用的機制。

大語言模型擅長生成自然語言文本,這對人類而言十分友好,但機器需要的是特定答案,二者需求不同。此時,工具就發揮了重要作用,它能協助大語言模型返回函數調用描述,而非人類化的文本。目前,多數模型都支持工具的使用,在實際運用時,需將函數模式融入提示中,示例如下:

{
    "messages": [
        {
            "role": "user",
            "content": "Give me hotels in Madrid"
        }
    ],
    "tools": [
        {
            "type": "function",
            "function": {
                "name": "getHotelsByDestination",
                "description": "Get hotels for a given destination",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "destination": {
                            "type": "string",
                            "description": "Destination where hotels are located e.g. Madrid, Paris"
                        }
                    }
                }
            }
        }
    ]
}

工具的主要使用者是AI代理,它們被賦予一組工具,通過執行相應動作來完成任務。

二、基于 OpenAPI 規范,定義 AI 工具 

OpenAPI 是專門用于描述 Web 服務或 REST API 服務所暴露操作的規范。想要讓 AI 代理能夠調用 Web 服務,只需把 API 的 OpenAPI 規范與 AI 工具進行映射即可。

圖片

三、使用Spring AI搭建 API 網關 

這里使用Spring AI提供的庫,用Java實現一個API網關,將注冊的Web服務映射到人工智能工具。以下圖表展示了API網關的主要用例:服務注冊和請求處理。

圖片圖片

從本質上講,API 網關可以看作是一個 AI 代理,它借助網關中注冊的 REST API 服務來完成各類任務。

3.1 使用Spring AI實現工具功能

Spring AI支持調用類方法或函數的工具,但由于我們需要調用REST API,所以需要實現一種新的工具類型。我們將其命名為 OpenAPIToolCallback,它會實現 Spring AI 規定的 ToolCallback 接口。OpenAPIToolCallback 承擔以下職責:

  • 將OpenAPI規范映射到工具定義。
  • 向大語言模型提供函數定義。
  • 使用大語言模型確定的輸入調用REST API。

3.2 使用Spring AI實現 AI 代理

執行任務的代理采用簡單的 ReAct 代理,它會不斷調用 REST API,直至任務完成。這個代理會配備一組依據已注冊 REST API 服務的 OpenAPI 規范定義的工具。

3.3 配置MCP協議

Spring AI實現了MCP協議,并提供了Spring Boot啟動器來設置MCP服務器。API網關將使用Spring的MCP Server Boot Starter來暴露MCP協議,MCP服務器將利用已注冊的REST API服務來處理請求 —— 記住,API會與OpenAPIToolCallback類型的工具進行映射。

四、API 網關使用指南 

  1. 注冊服務:在 application.yaml 文件中配置 REST API 服務的 URL。網關會根據服務的 OpenAPI 規范,為每個操作注冊對應的工具。
formentor:
  ai:
    services:
      # 用于預訂酒店的“booking”服務
      - "http://localhost:8080/v3/api-docs.yaml"
      # 用于獲取酒店信息的“product”服務
      - "http://localhost:8082/v3/api-docs.yaml"

2.啟動大語言模型:目前,API網關支持由Ollama服務器提供的模型,也可以使用云服務提供商的模型。

ollama serve
# 拉取llama3.1:8b模型(如有必要)
ollama pull llama3.1:8b

3.啟動API網關:作為Spring Boot服務,可以使用Maven的spring-boot插件啟動。

cd ai-api-gateway
mvn spring-boot:run

4.向API網關發送請求

# 獲取馬德里的可用酒店
curl --location 'http://localhost:7001/invoke?m=Give me hotels in Madrid'
# 獲取2025年8月5日在卡斯蒂利亞酒店入住5晚的價格
curl --location 'http://localhost:7001/invoke?m=How much does it cost 5 night in Hotel Castilla for 2025/08/05'

通過上述步驟,我們成功構建了一個能讓AI代理訪問REST API服務的API網關。從工具與AI代理的協作原理,到OpenAPI規范的運用、Spring AI的技術實現,再到實際的使用方法,每個環節緊密相連。

希望本文能為大家在相關領域的探索提供有益參考,助力大家在AI與API融合的實踐中取得更多成果,挖掘更多應用可能。

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2024-11-05 16:47:27

2025-02-03 16:58:39

2025-03-31 08:35:00

數據AI工具

2025-05-08 02:10:00

SpringAIAPI

2024-12-10 09:15:39

2023-06-19 09:01:17

2024-12-23 06:10:00

RustRigAI Agent

2024-08-20 07:47:12

AI零代碼網關

2022-04-07 14:41:27

5G人工智能工業 4.0

2022-09-09 16:12:53

人工智能機器學習autoML

2025-06-03 01:04:00

MCPAI架構

2024-11-20 11:47:01

2025-05-09 06:30:52

2025-03-05 18:45:26

RAG人工智能專業化

2025-05-13 00:00:25

AIAgentJSX

2024-11-05 09:32:47

2025-06-16 09:02:00

2024-09-20 11:30:14

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费一区 | 成人黄色电影免费 | 亚洲精品视频免费 | 妞干网福利视频 | 亚洲精品91| 91av在线电影 | 午夜精品久久久久久久99黑人 | 天天操夜夜操 | 国产精品久久久久久网站 | 九九av| 三级黄片毛片 | 免费特黄视频 | 黄色片视频网站 | 久久午夜影院 | 成年免费大片黄在线观看一级 | 午夜欧美| 毛片一区二区 | 久久久国产亚洲精品 | 欧美久久不卡 | m豆传媒在线链接观看 | 欧产日产国产精品国产 | 成年精品 | 欧美激情视频一区二区三区免费 | www.日韩高清 | 97视频网站 | 亚洲一区二区在线播放 | 91精品久久久久久久久久 | 综合精品 | 一区二区成人 | 国产精品99久久久久久宅男 | 最新免费视频 | 亚洲精品视频免费观看 | 网站黄色在线 | 日本电影免费完整观看 | 在线日韩 | 97视频精品| 日韩国产中文字幕 | 99精品久久久 | 成人1区2区 | 91亚洲国产成人久久精品网站 | 一区二区三区日韩 |