微軟推出TypeChat庫,簡(jiǎn)化自然語言界面開發(fā)
微軟團(tuán)隊(duì),包括 TypeScript 創(chuàng)始人 Anders Heljsberg 在內(nèi),推出 TypeChat,旨在解決自然語言界面開發(fā)過程中面臨的復(fù)雜問題。
發(fā)布新庫的文章中表示,目前的 LLM(大語言模型的英文縮寫)默認(rèn)使用會(huì)話式自然語言,即諸如英語一類的人類交流時(shí)使用的語言。而解析自然語言是一項(xiàng)極其困難的任務(wù)。
TypeChat 基于 TypeScript 類型。TypeChat 庫可以為 LLM(大語言模型)人工智能(如 OpenAI 的 ChatGPT)構(gòu)建提示,要求LLM以符合類型的方式返回?cái)?shù)據(jù)。如果回復(fù)未能通過驗(yàn)證,TypeChat會(huì)嘗試通過進(jìn)一步的交互進(jìn)行修復(fù)。最終TypeChat 會(huì)對(duì)交互進(jìn)行總結(jié),以便在采取任何行動(dòng)前進(jìn)行確認(rèn)。數(shù)據(jù)將以 JSON 格式傳輸,文檔指出,由于“許多語言模型都擅長(zhǎng)生成 JSON”。
微軟團(tuán)隊(duì)提供的示例包括用戶輸入的情感分析、咖啡館或餐廳的訂餐、日歷安排、數(shù)學(xué)計(jì)算以及在 Spotify 上播放音樂。
據(jù)稱好處是準(zhǔn)確性更高、編程更容易上手,另外,由于類型限制了人工智能的響應(yīng),因此安全性也更高一些。
OpenAI 幾周前曾推出“新的Chat Completions API 中函數(shù)調(diào)用功能”。函數(shù)調(diào)用功能使得開發(fā)人員能夠“在調(diào)用模型時(shí)通過 JSON 模式描述函數(shù)”,還可以令 LLM 輸出一些帶參數(shù)的 JSON 去調(diào)用這些函數(shù)。TypeChat 的想法并無不同,因?yàn)檫@意味著 LLM 的輸出可以與開發(fā)人員的代碼進(jìn)行整合。
這樣一來 TypeChat會(huì)不會(huì)是多余的呢?這個(gè)問題有人已經(jīng)在 TypeChat 的 GitHub 倉庫上提出過。但毫無疑問一部分的答案是,TypeChat旨在與任何 LLM 配合使用,而不僅僅是配合 OpenAI使用。盡管目前團(tuán)隊(duì)提供的所有示例都是在 OpenAI 或 Azure OpenAI 端點(diǎn)上運(yùn)行,但考慮到微軟與 OpenAI 的密切關(guān)系,這也就不足為奇了。
開發(fā)者的反應(yīng)各不相同,有的說“迫不及待想試試 ”,也有的說“LLM就是專門生成自然語言輸出,為什么我們要從這樣的輸出獲取結(jié)構(gòu)化輸出呢?”另外其實(shí)已經(jīng)有很多其他項(xiàng)目也是在解決同樣的問題,尤其是微軟自己的 Guidance 項(xiàng)目。
不過,TypeChat 的吸引力在于,數(shù)百萬的開發(fā)者已經(jīng)頗為熟悉TypeScript,而且TypeChat背后的團(tuán)隊(duì)包括 Hejlsberg 以及 TypeScript 高級(jí)項(xiàng)目經(jīng)理 Daniel Rosenwasser、技術(shù)研究員 Steve Lucco 等資深人士。
真正的問題或許在于,到目前為止該項(xiàng)目帶著濃厚的微軟和 OpenAI 色彩,這可能會(huì)有礙于TypeChat團(tuán)隊(duì)希望的被廠商中立采用。