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