自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI研發(fā)革命:API可視化測試新體驗(yàn)

發(fā)布于 2024-4-26 12:53
瀏覽
0收藏

當(dāng)獨(dú)立的API相互連接時,它們變得極為強(qiáng)大。無論是與外部客戶的互動、內(nèi)部使用還是常規(guī)的端到端測試,幾乎所有的在線交互實(shí)際上都是由相互連接的API網(wǎng)絡(luò)構(gòu)成的“流程”。這種相互連接是數(shù)字產(chǎn)品體驗(yàn)的核心。

與API的強(qiáng)大能力相提并論,大型語言模型(LLMs) 展現(xiàn)出了令人矚目的推理能力,它們在解決問題時的迭代思維過程與人類非常相似。LLMs在進(jìn)行重復(fù)迭代時展現(xiàn)出的能力,使其成為計(jì)算推理中的強(qiáng)大工具,特別是在形成“流程”的重復(fù)迭代中。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

認(rèn)識FlowTestAI

FlowTestAI的創(chuàng)新核心是將這兩個強(qiáng)大領(lǐng)域結(jié)合起來。FlowTestAI是世界上首個由GenAI驅(qū)動的開源集成開發(fā)環(huán)境(IDE),專為設(shè)計(jì)、可視化和管理API優(yōu)先的工作流而設(shè)計(jì)。它以快速、輕量級和本地操作為特點(diǎn),在促進(jìn)API優(yōu)先工作流的無縫整合的同時,也保護(hù)了用戶隱私。

解決測試難題

測試是產(chǎn)品開發(fā)中一個至關(guān)重要但分散的環(huán)節(jié)。缺乏全面和強(qiáng)大的端到端測試會嚴(yán)重影響產(chǎn)品的質(zhì)量,并減緩開發(fā)速度。

端到端測試本質(zhì)上是基于API的工作流。理想的框架應(yīng)該允許快速、直接地生成這些工作流,并能夠高效地管理它們。然而,目前的做法常常因?yàn)檫^多的樣板代碼、繁瑣的管理層次和與實(shí)際開發(fā)實(shí)踐的脫節(jié)而受到影響。這導(dǎo)致了緩慢且復(fù)雜的端到端測試,嚴(yán)重影響了開發(fā)速度。

有效的測試還需要安全地訪問和管理敏感信息,比如訪問ID和密鑰。遺憾的是,目前還沒有工具能夠確保這一領(lǐng)域的安全性。使用像Postman這樣的傳統(tǒng)平臺輸入憑據(jù)可能會使它們面臨風(fēng)險(xiǎn)。此外,缺乏一個專門的環(huán)境讓開發(fā)者能夠安全地測試開發(fā)中或私有API,將這些API引入常用在線工具可能會無意中導(dǎo)致信息泄露。這一問題凸顯了對一種提供安全、本地沙箱測試解決方案的需求。

FlowTestAI的解決方案

FlowTestAI利用LLMs的推理能力、git(或任何版本控制系統(tǒng))的組織優(yōu)勢以及圖數(shù)據(jù)表示的結(jié)構(gòu)優(yōu)勢,旨在徹底改變API優(yōu)先工作流的生成和管理方式。

  1. 生成:用自然語言描述你的工作流,我們的平臺會迅速將其轉(zhuǎn)換成可運(yùn)行的API工作流。或者,你也可以通過拖放OpenAPI規(guī)范中的節(jié)點(diǎn)來構(gòu)建你的工作流。
  2. 管理:像傳統(tǒng)的IDE一樣,F(xiàn)lowTestAI在本地文件系統(tǒng)上存儲和管理所有內(nèi)容。團(tuán)隊(duì)可以使用任何與git兼容的工具或版本控制系統(tǒng)進(jìn)行協(xié)作。
  3. 隱私:所有內(nèi)容都存儲在你的本地文件系統(tǒng)中,F(xiàn)lowTestAI允許你安全地使用私有或開發(fā)中的API端點(diǎn)。平臺會在本地安全地存儲憑據(jù),保護(hù)它們免受外部威脅。
  4. 可視化:FlowTestAI通過提供無代碼的圖形化API優(yōu)先工作流表示,消除了測試和開發(fā)團(tuán)隊(duì)之間的隔閡,為整個組織提供了統(tǒng)一的視角或單一真相來源,有助于加快開發(fā)速度。
  5. 速度:FlowTestAI輸出的API優(yōu)先工作流沒有任何樣板或不必要代碼,這使得執(zhí)行時間更快,從而提高了開發(fā)速度。

未來展望

將端到端測試視為API優(yōu)先的工作流只是開始。這個工具被設(shè)計(jì)得非常通用,可以創(chuàng)建任何API優(yōu)先的工作流,并可以設(shè)置為定期自動運(yùn)行。例如,可以創(chuàng)建一個工作流,它檢查JIRA中的前10個客戶支持票據(jù),將其發(fā)送給ChatGPT進(jìn)行總結(jié),并每天自動發(fā)布到工程團(tuán)隊(duì)的slack頻道。

由于這個項(xiàng)目是免費(fèi)和開源的,任何人都可以創(chuàng)建并提交帶有自定義邏輯的自定義節(jié)點(diǎn),并與社區(qū)分享。你也可以創(chuàng)建自定義流程并提交給其他人使用。例如,一個自定義流程可以使用LLM的輸出作為輸入,將其發(fā)送到AWS或Azure上托管的情感分析工具的API,檢查輸出的正面得分是否大于0.7,然后只有當(dāng)?shù)梅指哂?.7時,才將該輸入轉(zhuǎn)發(fā)到圖中的其余部分或最終用戶。

每個工作流都可以視為一個可以被使用并嵌套在其他工作流中的實(shí)用工具。

FlowTestAI如何運(yùn)作

FlowTestAI主要由以下兩部分組成:

體驗(yàn)

對于用戶體驗(yàn),我們提供了一個集成開發(fā)體驗(yàn)(IDE),類似于VS Code、IntelliJ等,作為一個electron應(yīng)用程序。所有操作都在本地進(jìn)行,就像傳統(tǒng)的IDE一樣,實(shí)現(xiàn)雙向通信。你在IDE中執(zhí)行的任何CRUD操作都會實(shí)時更新到本地磁盤,反之亦然。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

它是這樣工作的

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

AI

AI管道包含三個主要階段:

預(yù)處理

LangChain在這里對我們非常有幫助。首先,我們來理解問題。OpenAPI規(guī)范可能非常龐大,包含數(shù)千個API(也稱為函數(shù)),而現(xiàn)有的LLMs只能處理有限數(shù)量的函數(shù)作為參考輸入,例如OpenAI GPT 3.5 turbo只能處理128個函數(shù)。

我們首先從規(guī)范中提取每個API的{API_NAME, API_DESCRIPTION},構(gòu)建一個大文檔。然后,使用LangChain的文本分割器,根據(jù)LLM的容量將文檔分割成多個小塊。例如,對于GPT 3.5 turbo,我們將文檔分成32個函數(shù)的小塊。接著,我們使用LangChain對OPENAI嵌入API的封裝,將每個小塊嵌入并存儲在LangChain提供的內(nèi)存中向量數(shù)據(jù)庫中。

通過這種方式,我們實(shí)際上是在為結(jié)構(gòu)化函數(shù)重構(gòu)RAG的解決方案,這通常用于文本輸入。

處理

接下來,我們?nèi)∮脩籼崾?,對LangChain支持的內(nèi)存向量數(shù)據(jù)庫進(jìn)行相似性搜索,提取滿足LLM輸入限制的m個文檔。例如,如果我們以前面的32個函數(shù)為例,我們會提取4個文檔,以滿足32 x 4 = 128的限制。

然后,我們將這些函數(shù)和用戶指令作為輸入提供給LLM。我們迭代地執(zhí)行這個過程,直到確定沒有更多的操作要執(zhí)行。每次迭代都會輸出一個函數(shù)調(diào)用。

后處理

在前一步輸出的函數(shù)調(diào)用集上執(zhí)行后處理。我們設(shè)置了適當(dāng)?shù)淖o(hù)欄,以確保LLM在任何步驟中產(chǎn)生幻覺時,我們會過濾掉這部分輸出,避免誤導(dǎo)用戶。然后,我們將每個有效的函數(shù)調(diào)用解析并轉(zhuǎn)換為我們的內(nèi)部圖節(jié)點(diǎn),為API調(diào)用所需的查詢參數(shù)、請求體等分配適當(dāng)?shù)闹?。最后,我們將它們鏈接起來,形成一個可運(yùn)行的工作流。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

一些關(guān)鍵點(diǎn):

  1. Langchain為LLM管道構(gòu)建提供了廣泛的功能,使得分割、嵌入、存儲和搜索內(nèi)存向量數(shù)據(jù)庫中的數(shù)據(jù)變得簡單,只需幾行代碼即可完成。
  2. 我們向LLM傳遞的信息非常有限,但足夠,以避免在用戶不希望過多暴露他們的API規(guī)范的情況下,向LLM泄露太多信息。
  3. 一旦我們從LLM得到輸出,它就會被解析、鏈接并渲染為可運(yùn)行的圖,供用戶使用,圖中的每個節(jié)點(diǎn)代表一個帶有預(yù)填查詢或路徑參數(shù)或請求體的API請求,每個邊緣代表下一個操作。用戶現(xiàn)在可以運(yùn)行、修改并保存它。
  4. LLMs有時會產(chǎn)生幻覺,我們已經(jīng)設(shè)置了適當(dāng)?shù)淖o(hù)欄,以確保如果LLM產(chǎn)生幻覺,我們會過濾掉這部分輸出。
  5. 我們正在努力集成其他LLMs,如Gemini等。
  6. 我們很快將推出AI驅(qū)動的生成日志摘要功能,以便在運(yùn)行工作流時更容易發(fā)現(xiàn)流程中斷的位置。

演示

步驟1:選擇OPENAI模型并添加你的指令

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

步驟2:點(diǎn)擊生成,一個可運(yùn)行的圖將輸出,其中API請求被鏈接在一起,每個請求都預(yù)填了正確的請求參數(shù)和請求體。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

步驟3:點(diǎn)擊運(yùn)行,查看每個請求的日志以及流程結(jié)束時的總時間。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

步驟4:添加額外的邏輯節(jié)點(diǎn),使圖更加豐富。

AI研發(fā)革命:API可視化測試新體驗(yàn)-AI.x社區(qū)

結(jié)論

FlowTestAI將讓端到端測試進(jìn)化為可視化API工作流,這些工作流快速生成、無縫管理,并且比傳統(tǒng)測試快得多,從而實(shí)現(xiàn)高開發(fā)速度。

項(xiàng)目鏈接:??https://github.com/FlowTestAI/FlowTest??

本文轉(zhuǎn)載自?? AI小智??,作者:

標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦