跳至主要内容

AFS Mycoder

AFS MyCoder 是整合 Coding LLM 的 AI 輔助開發工具,可為開發人員提供即時的程式設計協助,包括編輯或產生程式碼、解釋程式碼、產生註解、除錯及單元測試等,並支援主流的程式語言如 Python、C、Java、PHP、TypeScript(JavaScript)、C# 和 Bash。


服務架構

企業專案版 (Personalized)

AFS MyCoder 企業專案版包含專案管理平台與開發編輯環境插件,並搭配 AFS 生成式語言模型。

  1. 開發編輯環境插件
  • 支持Visual Studio Code 以及 JetBrains IDEs。
  • 搭配AFS MyCoder專用API,支援在IDE使用Agent功能。
  1. AFS生成式語言模型
  • AFS ModelSpace提供各式FFM及主流開源模型部署服務。
  • AFS Platform + Cloud 提供模型優化及部署服務。
  • 可以分別設定不同功能所需的模型。
  1. AFS MyCoder專案管理平台
  • 為具備專案、帳號與程式庫管理功能以及 IDE 串整資訊的平台。
  • 提供專案與使用者權限控管以及程式庫測試介面。
  • 設定模型並取得 AFS MyCoder 專屬 API。
  • 建立企業私有或開源程式庫,利用RAG獲得客製化的 AI 生成結果。

IDE 插件版 (Basic)

AFS MyCoder IDE 插件版不包含專案管理平台,無法建立企業私有或開源程式庫,不支援 RAG 與 IDE 插件的 Agent 功能。 AFS MyCoder IDE 插件版操作說明請參考此份文件


核心功能

AFS MyCoder 最主要的兩大核心功能是 AI Chat 以及 AI Code Generation

AI Chat

使用者可將註冊的程式庫整合到開發編輯環境,透過聊天介面向AI問答與對話滿足開發相關的需求情境,例如生成程式、生成函式、生成測試、優化程式碼、修正程式碼或程式碼語言轉換等。搭配企業或開源程式庫,透過 RAG相關機制,即時參考程式庫資料以獲得更精準的 AI 生成結果。

IDE 插件版企業專案版
串接 AFS 生成式 AI 模型的 APIVV
在開發編輯環境使用 AI ChatVV
企業級專案與使用者管理平台XV
建立與管理企業或開源程式庫XV
支援專案層級程式語言模型設定XV
利用 RAG 生成更精準且客製化的結果XV
在開發編輯環境利用 Agent 呼叫程式庫XV

AI Code Generation

使用者可以在開發編輯環境上,透過撰寫程式碼的需求情境,取得程式語言模型根據上下文理解而即時生成的最佳程式碼建議,例如提供函式名稱或註解說明,讓 AI 提供實作內容;提供一個 Class 開頭,讓 AI 提供正確的 init 架構內容。企業專案版可以搭配訓練微調的程式語言模型,可以獲得更精準的生成程式碼。

IDE 插件版企業專案版
串接 AFS 生成式 AI 模型的 APIVV
生成程式碼建議VV
自訂程式碼上下文的參考範圍VV
支援多組程式碼建議VV
訓練微調程式語言模型XV
支援企業或開源程式庫前處理XV
生成精準且客製化的程式碼建議XV

使用者角色權限

角色權限
系統管理員1. 新增使用者
2. 管理所有使用者帳號密碼與權限
3. 管理所有專案與所屬成員
4. 設定專案模型來源
專案管理員1. 新增系統管理員已建立的使用者至專案
2. 編輯所在專案的成員權限
3. 查看並存取所在專案的所有程式庫
4. 設定所在專案模型來源
一般使用者1. 更改自已帳號的密碼
2. 管理自已註冊的程式庫
3. 測試自己註冊或被分享的程式庫

系統管理員

  • 專案管理
    • 新增專案:設定專案名稱與模型來源、選擇專案成員
    • 編輯專案:設定模型來源
    • 刪除專案

  • 使用者管理
    • 新增使用者
      • 若有串接企業 AD,可以透過帳號或email 清單(逗號隔開) 的方式填寫,並快速經比對後批次加入系統中。
      • 若無串接企業 AD,請逐一新增所需的帳號與預設密碼。
    • 更改密碼
    • 編輯權限
    • 刪除使用者

專案管理員

  • 專案管理
  • 成員管理
    • 新增成員
      • 可以將系統管理員已建立的使用者加入專案。
      • 可以透過帳號或email清單(逗號隔開) 的方式填寫,並快速經比對後批次加入專案中。
    • 編輯權限
    • 刪除成員

  • 程式庫管理
    • 新增程式庫
    • 查看、測試、編輯、同步程式庫
    • 刪除專案內所有程式庫
      • 若非本人建立的程式庫,編輯模式只支援更改名稱以及選擇成員

一般使用者

  • 程式庫管理
    • 新增程式庫
    • 查看、測試、編輯、同步程式庫
    • 刪除專案內自已建立的程式庫
    • 退出專案內其他成員分享給自己的程式庫

設定專案模型來源

AFS MyCoder 可以搭配 AFS 大語言模型生成結果,此處以 AFS ModelSpace 公用模式為範例, AFS模型名稱可參考 AFS 可用模型列表。 設定完成後可以點選驗證,確認 API 資訊是否有誤。

注意事項

驗證的動作會進行 API Request,可能會產生少量 token 的花費。

  • Chat 模型:AI Chat 採用Chat模型來源提供 AI 問答輔助。
  • Infilling 模型:AI Code Generation採用Infilling模型來源提供 AI 生成輔助。
  • Embedding 模型:RAG 機制採用Embedding模型來源提供最佳的向量化資訊與相似度比對結果。
  • Rerank 模型:RAG 機制採用Rerank模型來源提供相關性資訊排序結果供大語言模型參考。
API URLhttps://api-ams.twcc.ai/api/
API KeyAFS ModelSpace 公用模式專屬 API Key
Chat 模型建議選用 meta-llama3.3-70b-inst-32k
Infilling 模型建議選用 qwen2.5-coder-7b-32k
Embedding 模型建議選用 jina-embeddings-v2-base-code
Rerank 模型建議選用 bge-reranker-v2-m3

AFS MyCoder 專案管理平台

透過帳號密碼登入 AFS MyCoder 平台。

登入 AFS MyCoder 平台後,若已有所屬專案則可看見使用者介面;若無,請向系統管理員或專案管理員提出請求。
AFS MyCoder 平台主要包含以下功能:

  • 上方導覽列(由左至右)

    • LOGO 圖示:回到首頁的 MyCoder Chat 畫面
    • 專案下拉選單:點擊後可以查看或切換不同的所屬專案
    • 設定圖示:可以切換深淺背景模式
    • 語系圖示:可以切換中文或英文語系
    • 帳號資訊:
      • 系統管理員:可以選擇平台管理進行操作
      • 專案管理員:可以選擇專案管理進行操作
      • 一般使用者:可以更改密碼或登出
  • 左方功能列(由上至下)

    • MyCoder Chat:可以測試AI Chat 的對話結果
    • 程式庫:可以新增企業私有或開源程式庫,以及管理註冊的程式庫
    • IDE 串整
      • IDE 延伸模組:提供 Visual Studio Code 以及 JetBrains IDEs 的下載方式
      • IDE 串整資訊:取得AFS MyCoder URL 與 MyCoder API Key,可於 IDE 延伸模組中進行設定
    • 使用文件:提供 AFS MyCoder 的操作說明與常見問題資訊

MyCoder Chat

  1. 新對話:清除對話紀錄,重新再開啟對話。

  2. 程式庫選單:

    • 若沒選取任何程式庫,AI Chat會回答未經RAG機制生成的結果。
    • 點選程式庫下拉選單可選取一個或多個可測試的程式庫,則會根據所選的程式庫給予最適當的指引與實作建議。
    • 點選右方的 + 圖示,可跳轉到程式庫管理進行程式庫的新增、查看與管理
    • 根據需求情境與 AFS MyCoder 進行問答,例如編寫函式、優化程式碼、轉換程式語言、修正錯誤、生成測試等。
    • 建議補充足夠的資訊,可以獲得更完整的 AI 回答,例如指定的程式語言或參考的程式碼片段。
  3. 對話欄:輸入問答的內容按下 Enter 或點選右下角的箭頭圖示即可送出並取得回覆。點選右下角的 可以透過語音輸入問答內容,並轉為文字送出。

程式庫

進入程式庫管理頁面後,可以新增、測試以及查看程式庫,並可對程式庫進行相關管理的操作。

  1. 新增程式庫
名稱只可輸入英文、數字、連字號、底線,開頭及結尾需為英文或數字,且名稱不可重複。
描述請輸入對程式庫的描述。
來源目前支援 GitHubGitLabGerrit
Personal Access Token若為PUBLIC的公開程式庫,不用填寫此項;反之,根據不同的程式庫來源,會需要對應的權限金鑰存取程式庫。
  • GitHub: Personal access tokens
  • GitLab: Personal access tokens
  • Gerrit: HTTP Password
  • URL請根據程式庫來源,填寫 HTTPS 的複製路徑,例如: https://github.com/abc/def.git
    Branch請輸入欲註冊的 Branch 名稱,例如: mastermain
    路徑指定程式庫路徑,可針對特定目錄下的程式庫註冊,例如: src/tools/example
    程式碼語言由於不同程式語言的函式與用法各有差異,每個程式庫僅能選擇一種程式語言。若需選擇多種程式語言、請另新增程式庫。目前支援的程式語言如下:C/C++、Python、Golang、TypeScript、JavaScript、Java、C#。
    成員若欲共享程式庫,可點選選擇成員,並勾選想要分享此程式庫的成員。
    1. 程式庫狀態
    • in-processing:正在進行註冊,請耐心等待。
    • ok:註冊成功,可以開始進行問答或測試。
    • failed:註冊過程有問題,可以移到狀態上方查看錯誤的訊息以及 Error Code 資訊。
    Error Code名稱說明
    10000LOAD_REPO_ERROR無法存取指定的程式庫,請重複確認設定資訊。
    10001NO_DOCUMENTATION可以正常存取指定的程式庫,但符合設定條件的檔案數量為零,請重複確認設定資訊。
    10002EMBEDDING_UNAUTHORIZED無法存取 Embedding 模型來源,請重複確認 API 金鑰資訊。
    10003EMBEDDING_CONNECTION_FAILED無法存取 Embedding 模型來源,請重複確認名稱資訊。
    10004EMBEDDING_MODEL_NOT_FOUND無法存取 Embedding 模型來源,請重複確認 URL 資訊。
    10005EMBEDDING_UNEXPECTED_ERROR可以存取 Embedding 模型來源,但過程中遇到非預期錯誤,請稍後再試或連繫客服。
    10006INDEX_UNEXPECTED_ERROR建立程式庫索引的過程中遇到非預期錯誤,請稍後再試或連繫客服。
    10007DELETE_REPO_NOT_FOUND欲刪除的程式庫已不存在,請重複確認程式庫是否仍存在或連繫客服。
    10008DELETE_UNEXPECTED_ERROR刪除程式庫的過程中遇到非預期錯誤,請稍後再試或連繫客服。
    1. 程式庫管理:
    • 對話:程式庫狀態顯示 ok 之後,即可在MyCoder Chat的程式庫選單選取。
    • 編輯:程式庫的建立者可以再進行編輯,編輯完成後狀態就會重新變成 in-processing。
    • 同步程式庫:點擊後可立即重新同步程式庫中的設定資訊,通常用於遠端程式庫持續有程式碼更新的情境。
    • 刪除:程式庫的建立者可以將程式庫刪除,程式庫會一併從被分享者的清單上移除。
    • 複製 ID:若與客服反映問題期間,需要索取程式庫的細節 ID 資訊,可透過此功能取得。

    IDE 串整

    IDE 延伸模組

    下載 AFS MyCoder Extention 並安裝在 IDE,解鎖 AFS MyCoder 完整體驗。

    IDE 串整資訊

    AFS MyCoder 提供兩個資訊:MyCoder URL 以及 MyCoder API KEY,讓使用者串整到 IDE Editor Extension 設定之中。串整後在 IDE 上的 AI Chat 以及 AI Code Generation 都可以透過所屬專案的模型來源設定,獲得精準的 AI 回答。

    1. 複製該專案的 MyCoder URL
    2. 建立 MyCoder API KEY
    • 輸入 API 金鑰名稱,點選建立後即可下載 txt 檔。
    • txt 檔中記錄 API KEY,請妥善保管。
    注意事項

    每個金鑰 txt 檔只能下載一次,不慎遺失或有外洩疑慮,請將舊金鑰刪除並重建新的一組。


    安裝 IDE Editor Extension

    安裝 Visual Studio Code Extension

    • 請點選 Extension 右方的 圖示,並點選 Extension Settings

    • 請透過 AFS MyCoder 專案管理平台的 IDE 串整資訊取得 MyCoder URL 與 MyCoder API KEY。
    設定項目填寫資訊
    AFS MyCoder URLIDE 串整資訊 > MyCoder URL
    AFS MyCoder API KeyIDE 串整資訊 > MyCoder API KEY
    • 設定完成後,請點擊右下方的狀態列的 AFS MyCoder: N.A. 提示,狀態變成 AFS MyCoder: ON,即可開始使用。

    • AFS MyCoder - Visual Studio Code 快捷鍵

      • 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將 Alt 換成 Option

        快捷鍵功能
        Alt+,啟動 Chat 視窗
        Alt + .啟動自動生成程式碼建議功能
        Tab接受建議的程式碼
        Alt + [下一個建議
        Alt + ]上一個建議
      • 若欲自訂快捷鍵,請參照 IDE 的官方指引進行更改。

    安裝 JetBrains IDEs Plugin

    • 此處以 Intellij IDEA 為例,請安裝 Intellij IDEA 2024.2.4 或更新版本

    • 開啟 Intellij IDEA 後, 點擊側邊欄或者 Settings 中的 Plugins,接著點擊 Marketplace,搜尋 AFS MyCoder 並安裝。

    • 點擊側邊欄的 Customize 後進入 All settings,並搜尋 AFS Plugin Settings

    • 請透過 AFS MyCoder 專案管理平台的 IDE 串整資訊取得 MyCoder URL與 MyCoder API KEY。
    設定項目填寫資訊
    AFS MyCoder URLIDE 串整資訊 > MyCoder URL
    AFS MyCoder API KeyIDE 串整資訊 > MyCoder API KEY
    • AFS MyCoder - JetBrains IDEs 快捷鍵
      • 以下為 AFS MyCoder 在 Windows 環境中的常用快捷鍵,若使用 Mac OS,請將 Alt 換成 Option
    快捷鍵功能
    Alt+,啟動 Chat 視窗
    Alt + .啟動自動生成程式碼建議功能
    Tab接受建議的程式碼
    Alt + [下一個建議
    Alt + ]上一個建議
    • 若欲自訂快捷鍵,請參照 IDE 的官方指引進行更改。
    提示

    若使用 Android Studio,預設沒有啟用 Chat 畫面的支援。請務必額外進行以下設定並支援 JCEF browser 功能後,才能啟用 Chat Service。

    請展開查看額外的設定步驟
    1. 點擊 Help > Find Action…
    2. 輸入 Choose Boot Java Runtime for the IDE…
    3. 點擊 New 下拉選單並選取對應的 runtime
      • Linux 版
        請選擇最新的 JetBrains Runtime JBR with JCEF (bundled by default)
      • Windows & MacOS 版
        目前已知只有 Koala - Canary 4 版本能夠支援,並請選擇 17.0.10b1207.14 JetBrains Runtime JBRSDK with JCEF
    4. 完成後需重啟 Android Studio

    AI Chat

    使用 AI Chat 可以根據開發上的需求情境與 AFS MyCoder 進行問答或請教,例如協助程式碼撰寫、解釋或優化程式碼、轉換程式語言、除錯、產生文件或產生測試等。 以下內容以 Visual Studio Code 示範

    Chat 視窗直接問答

    • 點擊左側方欄的 AFS MyCoder 圖示可顯示/隱藏 Chat 視窗。按下快捷鍵 Alt + , 可快速啟動 AFS MyCoder Chat 對話視窗。
    • 在訊息框輸入情境需求的提示,AFS MyCoder 會產生對應需求的回答。使用者可以根據回答內容決定是否套用、重新調整提問或重新生成。
    圖示圖示說明
    若回答包含範例程式碼,點擊程式碼範例右上角的 Copy 圖示,可將程式碼範例複製。
    若回答包含範例程式碼,點擊程式碼範例右上角的 Insert at Cursor 圖示,可將程式碼範例自動插入至正在編輯文件的游標所在處。
    AFS MyCoder 正在回答期間,點擊右下角的 Stop generating 按鈕,可立即中止回答。
    點擊右下角的 Regenerate 按鈕,可重新生成回答。
    點擊右上角的 New Session 按鈕,可開啟新的對話。
    滑鼠移動到曾送出過的提示文字後,點擊浮現的 Edit 按鈕,可重新編輯提式文字並重新送出。
    • 案例:程式碼撰寫

    標記程式碼問答

    • 在編寫程式碼的區域中,可以任意標記一段程式碼區塊,並針對區塊內容進行專注的問答。一種方式是任意的對標記區塊輸入提示需求,另一種方式是透過右鍵點擊 AFS MyCoder 內建的問答情境。

    • 內建的問答情境
    標記程式碼的問答情境說明
    Chat with AFS MyCoder針對標記區塊任意輸入提示需求。
    Explain This請求針對標記區塊提供說明解釋。
    Fix This請求針對標記區塊提供修正後的程式碼或者解法說明。
    Generate Docs請求針對標記區塊提供適合的 docstrings 或 comments 等。
    Generate Tests請求針對標記區塊提供測試腳本的範例程式碼。
    Refactor This請求針對標記區塊提供優化過的範例程式碼。
    • 案例:除錯

    • 案例:產生測試


    使用 Agent 呼叫程式庫

    • 在 IDE 的 Chat 對話視窗中輸入 @ 開頭,點選 @doc 後可看到所有的註冊程式庫選單。

    • 選擇一個或多個目標程式庫後,按下 Enter 即可開始進行問答。

    • AI Chat 快捷鍵
    快捷鍵說明
    Up Arrow + Enter在程式庫清單向上逐一切換目標,Enter 確定選用。
    Down Arrow + Enter在程式庫清單向下逐一切換目標,Enter 確定選用。
    Space + Enter若欲選擇數個程式庫,Space 可以勾選數個目標,Enter 確定選用。

    AI Code Generation

    • 自動模式:當編寫程式碼時,模型會自動產生上下文感知的即時建議,若欲接受整行建議可按下快捷鍵 Tab 接受。

    • 手動模式:點擊 Alt + . 可啟動程式碼建議功能(灰色),產生一至數個建議的程式碼片段(預設為兩個)。使用快捷鍵 Alt + [ 或 Alt + ] 可快速切換下一個或上一個建議。

    • 模型會根據使用情境、程式語言及檔案格式自動產生符合需求的程式碼。


    常見問題

    1. 服務無法使用

    • 如果遇到系統或設定發生錯誤,在狀態列會顯示相關的錯誤提示,請依照提示檢查 Extension Settings 中的 API KEY、API URL、模型設定等資訊是否正確,網路連線及服務是否正常。

    2. AI Chat 對話紀錄太長,無法顯示完整回覆

    • 當對話紀錄太長,無法顯示完整回覆時
      • 可將 Chat Api Output Max Tokens 數字調小,再 Regenerate 一次 AI 回答。
      • 若仍然超過模型可接受的長度限制,請點擊 Chat 視窗右上角的 New Session 圖示開啟新的對話,再試一次。

    3. 如何調整 AI Code Generation 上下文感知的範圍

    • 若欲調整上下文感知的範圍,可調整 Lookup Context Line 的數值,此數值代表向上以及向下各自參考多少列數。

    4. 如何調整AI Code Generation提供的程式碼建議組數

    • 若欲調整預設提供的程式碼建議組數,可調整 Manual Suggestions Count 的數值,此數值即代表一次性取得幾組 AI Code Generation,可以設置 1~5 之間的數值。