成人免费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-05-08 02:10:00

SpringAIAPI

2024-12-10 09:15:39

2023-06-19 09:01:17

2025-03-31 08:35:00

數據AI工具

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

2024-11-20 11:47:01

2024-11-05 09:32:47

2025-05-13 00:00:25

AIAgentJSX

2025-06-03 01:04:00

MCPAI架構

2025-03-05 18:45:26

RAG人工智能專業化

2025-05-09 06:30:52

2024-09-20 11:30:14

2025-06-16 09:02:00

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲成av人片在线观看无码 | 亚洲国产二区 | 五月婷婷丁香 | 狠狠狠色丁香婷婷综合久久五月 | 成人午夜网站 | 一区二区成人 | 日韩福利电影 | 久久国产婷婷国产香蕉 | 久久久国产精品网站 | 免费簧片视频 | 久久久久国产一区二区三区四区 | 美女视频. | 在线免费观看成年人视频 | 国产精品久久久久久久午夜片 | www.99re5.com| 天天夜天天操 | 亚洲三级在线观看 | 一区二区三区四区电影视频在线观看 | 天天插天天操 | 欧美一区二区三区电影 | 性色的免费视频 | 夜久久| 欧美午夜精品久久久久免费视 | 成人免费影院 | 91久久精品一区二区二区 | 日韩精品一二三 | 国产日韩欧美在线观看 | 久久国产精品无码网站 | 久久九九色 | 成人免费视频在线观看 | 久久国产精品久久久久久久久久 | 日韩免费av | 亚洲精品www| 亚洲一区二区免费视频 | 91视频网| 岛国精品| 伊人久久伊人 | www.se91| 在线观看视频一区 | 精品中文在线 | 国产一区二区三区免费 |