全部產品
Search
文件中心

API Gateway:AI輔助外掛程式開發

更新時間:May 01, 2025

本文主要介紹如何利用 AI 大模型,根據您輸入的外掛程式需求,自動產生外掛程式代碼。

功能介紹

為了滿足差異化的網關使用需求,同時降低網關外掛程式的開發難度,AI網關提供了基於大模型的端到端外掛程式產生功能。您可以將外掛程式運行邏輯用自然語言進行描述,即可開始端到端的外掛程式產生工作,輕鬆實現任意定製化的網關情境需求。

以自然語言描述需求

AI網關可以根據您提供的自然語言需求來產生外掛程式代碼,並結合一定的代碼編譯、測試修複手段,實現端到端的外掛程式功能自動開發。為了提升外掛程式產生的準確率,讓AI大模型更清晰地瞭解每個階段需要完成的開發工作單位,建議您參考如下的樣本進行需求描述:

# 要求標頭處理函數
對於網關接收到的任意請求直接返回固定的字串,要求字串可以通過配置修改
# 請求體處理函數
無
# 回應標頭處理函數
無
# 響應體處理函數
無
重要

大模型首先會根據需求描述進行判斷,對於不合理的開發需求會直接結束任務,並給出相關建議,此時您應該參考建議內容對需求進行修改。

外掛程式代碼基本結構

網關外掛程式的開發包括配置解析和處理函數兩個部分,配置解析是讀取外掛程式輸入配置的過程,處理函數則是指要求標頭處理、請求體處理、回應標頭處理以及響應體處理的四個函數,一個空的Golang外掛程式範例程式碼如下:

type MyConfig struct {
    // config items
}

func parseConfig(json gjson.Result, config *MyConfig, log wrapper.Log) error {
    // parse config form json
    return nil
}

// 要求標頭處理函數
func onHttpRequestHeaders(ctx wrapper.HttpContext, config MyConfig, log wrapper.Log) types.Action {}

// 請求體處理函數
func onHttpRequestBody(ctx wrapper.HttpContext, config MyConfig, body []byte, log wrapper.Log) types.Action {}

// 回應標頭處理函數
func onHttpResponseHeaders(ctx wrapper.HttpContext, config MyConfig, log wrapper.Log) types.Action {}

// 響應體處理函數
func onHttpResponseBody(ctx wrapper.HttpContext, config MyConfig, body []byte, log wrapper.Log) types.Action {}

產生外掛程式與開發調試

AI 大模型會根據您的需求嘗試產生完整的外掛程式代碼,外掛程式產生成功後會自動匯入WebIDE中,您可對產生的外掛程式進行功能驗證,根據實際需求對外掛程式代碼進行調整。