GitHub Copilot 擴充功能滿足您的所有需求
2024 年 6 月 24 日,Isidor Nikolic,@isidorn
2017 年,Google 研究人員在其開創性的論文 「Attention is All You Need」 中介紹了Transformer 的概念。這些模型類型以類似於人類專注的方式優先處理資訊,是當今現代語言模型的基礎,例如為 GitHub Copilot 提供支援的模型。
正如 Transformer 為人工智慧帶來變革(抱歉),我們相信 GitHub Copilot 擴充功能最終將實現人工智慧為開發人員帶來的完整承諾。
VS Code 是歷史上最廣泛使用的開發人員工具之一。這種普及很大程度上歸功於社群貢獻的龐大擴充功能生態系統。如果您是 VS Code 使用者,您可能可以立即列出一些您離不開的擴充功能。想像一下,如果這些擴充功能能利用人工智慧和 GitHub Copilot 的力量,會帶來什麼樣的可能性。
當人工智慧了解您的特定情境時,它的真正力量就會被釋放。而 VS Code 擁有這種知識。擴充功能可以使用 VS Code API 來利用這種情境,並在所有開發人員已經身處的 VS Code 中,直接提供最佳、最相關的 AI 驅動的回應和互動。
在這篇文章中,我們將探討新的 API,這些 API 使擴充功能能夠直接與 GitHub Copilot 貢獻的語言模型和聊天體驗互動。我們將了解您今天如何開始使用這些 API 進行建置,並展示一些早期採用者,他們已開始利用這些 API 來豐富其擴充功能。
聊天和語言模型 API
今年在 Build 大會上,我們宣布了一組適用於 VS Code 中 GitHub Copilot 的新 API
請務必觀看我們的 Build 大會會議,了解關於 使用 GitHub Copilot 增強 VS Code 擴充功能 的所有資訊。
您可能最熟悉透過聊天介面使用 LLM。您的擴充功能利用 GitHub Copilot 功能的一種方法是建置聊天參與者,使用者可以在 VS Code 內的聊天檢視中與之互動。您可以使用 聊天 API 建立聊天參與者,並使用語言模型 API 處理自然語言並制定使用者查詢的回應。在我們的擴充功能指南中,了解更多關於 聊天 API 的資訊,該指南使用 @cat
程式碼導師作為新 API 概念的範例。
透過 語言模型 API,您現在可以直接存取和利用 GitHub Copilot 在您自己的擴充功能中貢獻的大型語言模型(或簡稱 LLM)。只需選擇您想要使用的模型,建置提示,然後向選定的模型發送請求即可。透過使用 VS Code API,您可以將相關情境新增至提示中。例如,透過包含目前檔案的內容或正在使用的技術堆疊。
語言模型 API 也可用於增強編輯器的所有部分的開發人員體驗,而不僅僅是聊天檢視。您可以為 VS Code 的所有可貢獻介面(例如編輯器上下文選單)貢獻使用語言模型 API 的動作。例如,原始檔控制檢視使用語言模型 API 允許使用者產生提交訊息,基於原始碼變更。另一個範例是 Copilot 支援的重新命名功能,其中語言模型根據程式碼的情境提供符號重新命名建議。
在我們的擴充功能指南中,了解更多關於 語言模型 API 的資訊。
我們相信,最令人愉悅的使用者體驗將來自於將聊天和語言模型 API 與強大的 VS Code API 套件相結合。擴充功能作者應創造性地利用這些工具,超越簡單的問答機器人,開發 VS Code 內豐富、整合的互動,這些互動使用正確的使用者情境。使用者欣賞其工作流程中無縫且強大的互動。這些新的 API 使擴充功能能夠透過將 AI 功能直接整合到 VS Code 中來提高使用者的生產力。
GitHub 應用程式
或者,您可以透過建立在聊天檢視中貢獻聊天參與者的 GitHub 應用程式來擴充 GitHub Copilot。GitHub 應用程式由服務支援,並跨所有 GitHub Copilot 介面(例如 github.com、Visual Studio 或 VS Code)運作。GitHub 應用程式無法完全存取 VS Code API。若要透過 GitHub 應用程式擴充 GitHub Copilot,您應加入 Copilot 合作夥伴計畫。
我們在 Microsoft Build 大會上宣布了透過 GitHub 應用程式提供的 GitHub Copilot 擴充功能,而且我們已經在 GitHub Marketplace 上看到了一些很棒的擴充功能。
觀看我們的 Build 大會會議,了解關於 擴充 GitHub Copilot 的資訊,以了解其實際運作情況。
VS Code 擴充功能展示
我們很高興展示 VS Code 擴充功能社群使用語言模型和聊天 API 建置的成果。到目前為止,我們已經看到超過 100 個擴充功能建立在 GitHub Copilot 之上,涵蓋廣泛的場景。以下是一些我們認為特別引人注目的範例。
Stripe
Stripe 使開發人員能夠在線上接受付款和轉帳。新的 @stripe
聊天參與者將 Stripe 文件、程式碼範例和最佳實務的知識帶到您的指尖,因此您可以建置和維護您的 Stripe 整合,而無需離開 VS Code。
「我們不斷努力讓開發人員更容易整合 Stripe,這就是為什麼我們很高興使用 Stripe 特定的情境和功能來擴充 Copilot。新的擴充性 API 設計精良且易於建置,因此我們能夠非常快速地採取行動。」- Ian McCrystal(Stripe 開發人員 AI 團隊 EM)
@stripe
參與者可協助您
- 產生和偵錯 Stripe API 程式碼並將其插入您的專案
- 取得以 Stripe 文件為基礎的您的問題解答
- 逐步完成建置和最終升級您的 API 整合
@stripe
參與者將於 7 月中旬向所有 Stripe VS Code 擴充功能使用者提供。
MongoDB
MongoDB 開發人員喜歡 MongoDB for VS Code 擴充功能,該擴充功能可實現無縫資料導航、查詢建置、使用 Playground 進行原型設計以及匯出到流行的語言。@mongodb
聊天參與者與擴充功能深度整合,使開發人員能夠利用 GitHub Copilot 和擴充功能的強大組合,在 VS Code 中更快地進行 MongoDB 應用程式開發。
@mongodb
聊天參與者
- 從自然語言產生 MongoDB 查詢
- 從資料庫記錄提供查詢效能和錯誤模式的深入分析
- 提供資料庫和集合結構描述資訊
- 直接在 VS Code 中回答問題,並參考官方文件
如果您有興趣使用 MongoDB 聊天參與者,您可以註冊以取得 私人預覽 的存取權。
Parallels
Parallels 是流行的 macOS 虛擬化軟體,最近推出了新的 Parallels Desktop VS Code 擴充功能,以提升 Parallels Desktop 體驗。他們透過與 GitHub Copilot 整合進一步改進了它。
「易於使用且功能強大的 API 和良好的範例使我們能夠快速建立強大的 Copilot 參與者,否則這將需要相當大的努力和時間。」– Carlos Lapao(Parallels 解決方案架構師)
透過新的 @parallels
聊天參與者,您可以使用自然語言輕鬆執行大多數虛擬機器操作。例如,您可以說「@parallels 啟動 Windows 11 VM」,並讓聊天參與者代表您執行操作。
PostgreSQL
PostgreSQL 是一個極其流行的關聯式資料庫平台,您現在可以使用 PostgreSQL Chat Participant 擴充功能直接與之聊天。@pg
聊天參與者將學習您的資料庫結構描述並為您提供答案,這些答案以資料庫結構描述為基礎。您也可以使用它來產生結構描述、取得 SQL 查詢的協助,甚至產生用於與資料庫互動的程式碼。
後續步驟
我們才剛開始。與 VS Code 中的所有產品計畫一樣,我們將隨著時間的推移擴展我們的人工智慧擴充性功能。我們預計以下功能將在今年稍後推出
- 意圖偵測,以便自動調用聊天參與者
- GPT-4o 語言模型支援
- 增加模型請求的 Token 限制(目前限制為 4K Token)
- 編輯器內嵌聊天、終端機和筆記本中的聊天參與者
- 變數解析 API - 允許擴充功能貢獻聊天變數,這些變數提供來自擴充功能領域的情境
- 工具 API – 將自然語言轉換為帶有引數的工具呼叫;允許擴充功能註冊可由其他參與者呼叫的工具
今天起開放給所有人使用!
聊天和語言模型 API 今天在 VS Code Insiders 中可用,並將於 7 月初在 VS Code Stable 中提供。使用我們的文件和範例,您可以輕鬆開始建置強大的人工智慧擴充功能。如果您有問題或意見反應,可以在我們的儲存庫中開啟 Issue。
今天,您已經可以將依賴語言模型和聊天 API 的擴充功能發佈到 VS Marketplace。真正的問題是:您將創造出哪些令人難以置信的擴充功能?可能性是無限的,只有您可以將這些創新的想法變為現實。因此,投入我們出色的擴充功能開發流程,利用人工智慧的力量和正確的使用者情境,讓您的創造力塑造開發的未來!建置過程很有趣 – 去享受吧!
感謝您,
Isidor 和 VS Code 團隊