App下載

5 大場景上手通義靈碼企業(yè)知識庫問答

來源: 阿里云開發(fā)者社區(qū) 2025-04-18 18:58:42 瀏覽數 (631)
反饋

簡介: 通義靈碼在企業(yè)版里還引入了一個超酷的新技能:RAG(Retrieval-Augmented Generation)檢索增強生成的能力,本文就跟大家分享下企業(yè)知識庫能幫開發(fā)者做些什么。

大家好,我是通義靈碼,你的智能編程助手!最近我又升級啦,智能問答功能全面升級至 Qwen2,新版本在各個方面的性能和準確性都得到了顯著提升。此外,行間代碼補全效果也全面優(yōu)化,多種編程語言生成性能及準確性大幅提升,如前端、Java、Go、Python、C++ 等。此外,靈碼新增代碼提交信息(Commit Message)生成,支持 Visual Studio 端。


我還在企業(yè)版里還引入了一個超酷的新技能:RAG(Retrieval-Augmented Generation)檢索增強生成的能力,今天就跟大家分享下企業(yè)知識庫能幫開發(fā)者做些什么。


可能有些朋友還不太明白這是啥,別急,我來通俗解釋一下。想象一下,你有個超級聰明的研發(fā)助手,它除了通過大語言模型,記得自己學過海量知識外,還能隨時外掛一個更懂你或者企業(yè)的“百科全書”知識庫。檢索增強生成能力能夠即時訪問、引用深入的知識體系,讓我(通義靈碼)為你提供更加精準、全面的研發(fā)問答和智能編碼服務,避免模型幻覺哦~


說完這么多概念,你是不是迫不及待的想試試呢?本期就從通義靈碼企業(yè)知識庫的問答,帶你一起感受下。Let's go。

通義靈碼官網:https://tongyi.aliyun.com/lingma


1. 基于知識庫的內容,幫你精準回答問題

1.1 新人入職場景

假如你是一位入職新人,我們可以使用通義靈碼企業(yè)知識庫的問答能力,更快速地學習企業(yè)編碼規(guī)范、安全規(guī)范、環(huán)境準備等。

第一步:需要通義靈碼的企業(yè)管理員,在通義靈碼的知識庫管理后臺添加相關知識文檔。

image.png

第二步:在通義靈碼插件端的問答面板上,就可以直接提問咨詢了。舉例來說,在問答輸入框,輸入:#team docs 這段代碼是否符合代碼規(guī)范,幫我優(yōu)化

image.png

這個時候,通義靈碼就給你召回相關文檔片段(原文檔切塊后片段),并針對文檔的內容進行總結回答。這快準狠的效率是不是比你肉眼查閱、學習快多了。


2. 基于知識庫的內容,幫我精準生成代碼

2.1 根據組件庫文檔生成代碼

在軟件開發(fā),尤其是前端開發(fā)中,我們需要從一個產品需求開始,完成具體的產品界面的實現,這個過程,面臨將抽象的需求文檔,轉化為具體、可用的產品界面的挑戰(zhàn)。這個過程,不僅需要深刻理解需求,還要熟練掌握所選技術棧的組件庫,同時還要確保開發(fā)的速度和代碼質量。使用通義靈碼企業(yè)知識庫,可以讓這個過程事半功倍。


首先,通過上傳關鍵組件庫的幫助文檔到通義靈碼的知識管理中。然后,在遇到具體需求時,在通義靈碼問答區(qū)域通過 #team docs 調用企業(yè)知識庫,快速獲得咱們自己技術棧的代碼建議和示例,加速開發(fā)流程。


下面,我們通過一個例子,如何基于企業(yè)知識庫,快速實現“顯示未讀消息計數”的需求:

  1. 理解需求:以“顯示未讀消息數量”為例,識別關鍵組件為數字顯示單元(可能含圖標指示)及數據更新邏輯。
  2. 組件選擇:在靈碼知識庫中,查找適用的組件,如 badge 組件,用于高亮顯示未讀消息數量,利用 Vue 的數據綁定機制實現數據動態(tài)更新。
  3. 代碼生成:直接在通義靈碼中,以自然語言形式表述需求,如:“創(chuàng)建 Element-UI 的 Badge 組件,展示未讀消息數量,并隨數據變動實時刷新?!蓖x靈碼將理解這個需求,快速生成代碼框架,后續(xù)做簡單調整,以適應設計細節(jié)。


第一步:上傳文檔到知識庫

為了豐富你的智能化開發(fā)資源庫,請登錄通義靈碼企業(yè)管理后臺,在“知識管理”區(qū)域下點擊“文檔”,上傳關鍵的前端組件文檔。以《Badge.md[1]》為例,此文檔聚焦于使用 React,結合自研組件庫開發(fā)的右上角圓形數字徽章組件,內容全面,包括詳細的使用教程、實戰(zhàn)代碼示例以及 API 接口說明。


備注:請參考示例文檔鏈接以深入了解查閱示例文檔[2]。

image.png

文檔處理與配置:上傳完成后,系統(tǒng)將自動處理這些文檔,當狀態(tài)顯示為“已完成”,表明你的知識庫已經準備就緒,在列表右上角點擊“開啟檢索增強”按鈕,即可體驗。

image.png

第二步:智能化實現,需求轉代碼

當通義靈碼企業(yè)管理員已經提前在靈碼企業(yè)知識庫,上傳好前端組件文檔后,我們就可以上手了。你可以在 VSCode、JetBrains IDEs、Visual Studio 這些 IDE 上安裝通義靈碼插件,如未安裝,參考文檔[3]

我們再看下需求:“顯示未讀消息數量”,即為消息圖標添上計數徽標。

于是,你可以在通義靈碼問答面板提問:#team docs 如何給圖標添加數字徽標?

備注:必須使用 #team docs 標簽確保調用企業(yè)內部知識庫資源

image.png

提交問題后,通義靈碼將迅速根據你的 Badge.md 組件文檔,提供精確的代碼片段和使用指南,確保代碼既符合團隊編碼規(guī)范,又能快速高效實現功能。

以下是通義靈碼從文檔中提取的一個使用 Badge 組件的例子,它展示了如何在 React 中使用 @teamix/ui 庫的 Badge 組件來給圖標添加數字徽標:

image.png

第三步:如何應對需求變更

如果你還想繼續(xù)變更需求,通義靈碼也能幫忙。如新需求“只需標記未讀而不展示具體數字”,我們就繼續(xù)基于 #team docs 來提問,輸入:#team docs 能否將徽標改為小紅點而非數字

通義靈碼會立即根據你的新需求和已有的知識庫內容,提供 API 調用調整的建議及相應的代碼示例,確保你能迅速適應需求變動,保持開發(fā)的靈活性和效率。

我們來看看通義靈碼給的代碼建議與示例:

image.png

2.2 根據接口文檔生成示例代碼

程度員在開發(fā)程序的過程中,需要調用相應的接口,但苦于找不到幫助文檔和示例代碼,特別是一些內部的非通用的接口實現。使用通義靈碼,可以將知識檢索增強生成能力,應用到程序員高頻使用的 API 調用場景中。

首先,上傳接口文檔至企業(yè)知識庫,如,“OpenAI-對話 Chat.md”文檔如,包含了接口的調用方式、請求參數、返回參數等。這樣,通義靈碼就懂得了該文檔中描述的知識。

接下來,我們可以在通義靈碼問答區(qū)輸入:#team docs 根據openai對話chat請求和響應體生成對應的go語言示例

這時通義靈碼就給你召回相關文檔片段(原文檔切塊后片段)。

image.png

根據接口文檔,生成示例代碼如下:

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    // OpenAI API endpoint
    apiEndpoint := "https://api.openai.com/v1/chat/completions"

    // API key
    apiKey := "YOUR_API_KEY"

    // Request body
    requestBody := map[string]interface{}{
    "model": "gpt-3.5-turbo",
    "messages": []map[string]interface{}{
    {"role": "user", "content": "Hello!"},
    },
    }

    // Convert request body to JSON
    jsonBody, err := json.Marshal(requestBody)
    if err != nil {
    fmt.Println("Error marshaling request body:", err)
    return
    }

    // Create request
    req, err := http.NewRequest("POST", apiEndpoint, bytes.NewBuffer(jsonBody))
    if err != nil {
    fmt.Println("Error creating request:", err)
    return
    }

    // Set headers
    req.Header.Set("Content-Type", "application/json")
    req.Header.Set("Authorization", "Bearer "+apiKey)

    // Send request
    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
    fmt.Println("Error sending request:", err)
    return
    }
    defer resp.Body.Close()

    // Read response body
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
    fmt.Println("Error reading response body:", err)
    return
    }

    // Parse response body
    var response map[string]interface{}
    err = json.Unmarshal(body, &response)
    if err != nil {
    fmt.Println("Error parsing response body:", err)
    return
    }

    // Print response
    fmt.Println("Response:")
    fmt.Println(response)
}

根據文檔名和接口名清晰的定義,可以從對話中召回對應信息,并根據模型的推理能力生成不同語言的處理方式,以下為使用知識檢索增強前后的對比效果,是不是一目了然。

image.png

3. 基于知識庫的內容,幫我優(yōu)化框選代碼

3.1 前端老舊工程代碼升級場景

前端技術領域發(fā)展特別快速,老舊項目的依賴庫版本升級,對于維持競爭力也至關重要。當前端團隊計劃將現有業(yè)務代碼從 React 15 升級至新版本 16.8 時,通過智能編碼工具可以顯著加速這一升級過程。以下是通過企業(yè)知識庫,在通義靈碼中,實現老舊工程代碼升級的詳細步驟。

第一步:構建企業(yè)知識庫

首先,企業(yè)管理者將框架最新版本的編碼指南上傳至通義靈碼企業(yè)知識庫。比如,這份詳盡的表單組件使用說明文檔:表單組件文檔[4],為接下來的組件框架版本的升級提供權威指導和參考依據。

第二步:識別并準備升級目標代碼

手頭上恰好有一個基于 React 版本 15 的舊項目,這時,你需識別出待升級的代碼片段。例如,一個傳統(tǒng)的類組件寫法如下:

class Demo extends React.Component {
  handleSubmit= (values, errors) => {
    console.log('value & errors', values, errors);
  };

  render() {
    return (
      <Form style={{ width: '60%' }} {...formItemLayout} colon>
      </Form>
  );
}
}

第三步:智能輔助代碼轉換

在編輯器里選中以上代碼片段,并在靈碼的問答面板提出問題:#team docs 轉換為符合新規(guī)范的React函數式組件寫法

image.png

第四步:自動完成代碼升級

通義靈碼將運用其智能算法,基于 React 的新版函數式編程范式,自動將舊代碼重構成更簡潔的函數組件。這一過程不僅顯著縮短了手動重構的時間,還確保了代碼風格與團隊最新編碼標準的一致性,提升了代碼質量和執(zhí)行效率。

image.png

通過企業(yè)知識庫檢索增強,老舊工程代碼的升級過程變得高效且精確,前端團隊得以以最小的投入,實現項目從舊框架到新框架的平穩(wěn)遷移。這樣的升級策略確保了代碼能夠緊跟技術發(fā)展趨勢,持續(xù)保持項目的行業(yè)競爭力和技術前沿地位。

3.2 代碼規(guī)范場景

代碼編寫好了,如果需要確定是否符合企業(yè)或業(yè)內編碼規(guī)范,這時候你就可以上傳企業(yè)編程規(guī)范,例如:

image.png

參考資料:https://juejin.cn/post/7157594175846744071

框選同樣的代碼內容,有檢索增強,模型則會以知識庫召回的數據作為上下文,進行輔助生成。效率和質量也是立竿見影。

image.png

無檢索增強效果

image.png

有檢索增強效果

4. 如何開通和使用通義靈碼企業(yè)知識檢索增強?

首先,你必須是通義靈碼企業(yè)版的用戶,現在通義靈碼企業(yè)標準版有 30 天的免費試用,立即開通和試用[5];

其次,你需要是企業(yè)版組織的管理員,即可開通企業(yè)知識庫管理了,立即開通[6]。

最后,開通好后,立即邀請開發(fā)者們,在問答區(qū)域喚起 #team docs 吧。

相關鏈接:

[1] Badge.md

[2] 查閱示例文檔

[3] 參考文檔

[4] 表單組件文檔

[5] 立即開通和試用

[6] 立即開通

點擊此處,體驗通義靈碼新能力。


0 人點贊