作者:博睿數據數智能力中心 DRay 

背  景

在信息爆炸的時代,我們穿梭於無數的應用與數據面板之間,常常像一個迷失在數字叢林裏的探險家。想象一下:假如你剛剛接觸功能強大的Bonree ONE運維平台,想找到"全局拓撲圖"的功能,但面對Bonree ONE平台的眾多具體功能頁面,你卻只能像在迷宮裏打轉——它到底藏在"觀測洞察"頁面還是"數字體驗"頁面裏?


再想象一下:在某個具體故障發生時,你想編寫一個PromQL語句來查詢某個服務的接口錯誤率或者某個主機的最近5min的CPU使用率變化,但着急忙慌中,你的大腦一片空白——那個查詢接口錯誤率的語法到底是什麼來着?rate()還是irate()?時間窗口該設置多長?


這些都是技術人員日常工作中的真實痛點。而小睿助理的要做到的,正是為了讓這些令人抓狂的時刻成為過去式。

聊點技術 | 小睿助理:將大模型變成你的貼心技術夥伴_運維

小睿助理的功能

小睿助理是一款基於大語言模型(LLM)的智能助手系統,它不僅僅是一個簡單的問答機器人,而是一個真正"懂你"的技術夥伴。它能夠:

  • 意圖識別。精準理解你想要做什麼;
  • PQL生成。快速生成複雜的PromQL監控查詢語句;
  • 智能導航。導航幫你找到所需要的Bonree ONE平台具體功能頁面;
  • 環境感知。上下文感知到你當前在哪個頁面,該頁面有哪些功能;
  • 智能問答。基於運維領域知識,可觀測領域知識,Bonree ONE平台的功能點,智能回答各種技術問題。

小睿助理內部原理

小睿助理結合了大語言模型(LLM)和檢索增強生成(RAG)技術,它先利用LLM對用户提問進行意圖識別,然後根據意圖分流至不同的功能模塊:PromQL 生成、環境感知、功能導航和智能問答。這些功能的底層原理都是將用户輸入及相關知識通過文本嵌入(將文本轉為向量)和向量數據庫檢索結合,在此基礎上由LLM生成最終回答,其流程就是目前主流的RAG技術流程。

小睿助理內部使用RAG技術主要分為兩個階段,如下圖所示:

聊點技術 | 小睿助理:將大模型變成你的貼心技術夥伴_運維_02

1. 索引構建(離線處理)

此階段是為知識庫建立可快速檢索的索引,通常只需執行一次或定期更新。

  • 文檔加載與解析。

輸入:來自各種來源的原始知識庫文檔(如 PDF、Word、HTML、Markdown、數據庫)等。

過程:使用文檔加載器讀取並解析文件,提取出純文本內容。

  • 文本分割。

過程:將長文檔分割成更小的、有意義的文本塊。這是關鍵步驟,因為 LLM 有上下文窗口限制,且小塊文本更易於精準檢索。

  • 文本向量化。

過程:使用嵌入模型將每個文本塊轉換為一個高維向量。這個向量在數學上代表了文本的語義信息,語義相近的文本其向量在空間中的距離也更近。

  • 存儲至向量數據庫

過程:將文本塊、其對應的向量以及可能的元數據(如來源、標題等)一起存儲到向量數據庫中。


2. 查詢與生成(在線處理)

此階段在用户每次提問時實時發生。

  • 查詢處理與向量化

過程:針對用户提出的問題,使用與索引階段相同的嵌入模型,將用户問題也轉換為一個向量。

  • 向量數據庫檢索

過程:在向量數據庫中,通過計算餘弦相似度或歐氏距離等度量方法,尋找與查詢向量最相似的 Top-K 個文本塊。

  • 結果評估與提示詞構建

評估:小睿會使用ReRanker模型來對檢索到的結果與用户問題進行相關性排序。如果相關,則進入下一步;如果完全不相關,系統會告知用户知識庫中沒有相關信息。

提示詞構建:將檢索到的相關文本作為“上下文”或“參考信息”,與用户的原始查詢一起,精心構建成一個最終的提示詞。

  • LLM 生成回答

過程:將構建好的增強版提示詞輸入給大型語言模型。LLM 會基於其內部知識和對所提供上下文的理解,生成一個精準、可靠的答案。

意圖識別功能

用户提問後,系統首先要判斷"你想幹什麼"。這個判斷過程使用LLM進行分類,將用户問題提供給LLM,並在提示詞中預先設置為幾種不同意圖,由LLM理解用户問題,並對問題進行意圖分類,例如:

  • "如何查詢Pod的內存使用率?" → PromQL生成
  • "當前頁面是做什麼的?" → 環境感知
  • "拓撲圖在哪裏?" → 智能導航
  • "什麼是Prometheus?" → 智能問答

這就像醫院的導診台,先判斷你應該去哪個科室。

PQL生成功能

如果意圖識別結果表明用户需要查詢監控指標數據(PromQL 生成功能),系統會按照以下流程生成PromQL查詢語句:


  • 用户問題向量化。將用户的自然語言問題輸入嵌入模型,得到一個向量表示。
  • 指標檢索。使用該向量在Milvus向量庫中執行相似度搜索,找到Top 20個與問題語義最相關的指標信息(如指標名稱和描述)。
  • 重排序(ReRank)。對這20個候選指標使用重排序模型進行再次排序,篩選出Top 10個更精確匹配的問題語義的指標及其對應的示例PromQL查詢。
  • Few-Shot 提示構建。將上述10個指標的信息和示例PromQL作為few-shot示例拼接到提示詞中(例如以“示例:輸入→輸出”形式附加到用户問題前)。
  • LLM生成PromQL。將包含用户問題和few-shot示例的完整提示發送給大語言模型,LLM根據上下文歸納出滿足用户需求的最終PromQL查詢語句。

整個過程中,系統相當於先“檢索”相關指標(向量搜索+重排序),再讓LLM生成最終答案,是典型的檢索增強生成(RAG)模式。

其內部轉換流程為:

  • 步驟1:用户提問,比如:"查看過去5分鐘Nginx的QPS";
  • 步驟2:向量化用户問題,Embedding模型將問題轉換為1024維向量;
  • 步驟3:向量檢索,在Milvus中查找Top20相似的歷史指標,比如查詢到的歷史指標信息為:
      - 指標名稱: nginx_http_requests_total
      - 指標説明: Nginx HTTP請求總數
      - PromQL示例:
    rate(nginx_http_requests_total[5m])
      - 相似度: 0.89
    ...
  • 步驟4:智能重排,使用ReRanker模型深度評估,篩選出Top10,其作用為:
      - 過濾掉表面相似但語義不符的結果
      - 重新排序,最相關的排在前面
  • 步驟5:Few-shot推理,將Top10作為示例交給LLM,提高生成的準確率,比如:
    "參考這些例子,生成查詢Nginx QPS的PromQL"
  • 步驟6:生成最終結果,如下:
    sum(rate(nginx_http_requests_total{job="nginx"}[5m]))by (instance)


其他功能

其他三個功能:智能導航,環境感知,智能問答的具體技術原理和上述PQL生成類似,不同點在於:


在智能導航和環境感知功能中,首先需要構建Bonree ONE每個頁面的知識庫:收集Bonree ONE頁面上每個具體頁面的URL、導航路徑、功能介紹、詳細內容和概要總結等信息。將這些內容(網頁摘要、功能説明等)輸入嵌入模型生成向量,並存入Milvus數據庫。這樣,每個頁面都對應一個或多個向量記錄,形成頁面知識庫。


在智能導航功能中,在提供給LLM的提示詞中,需要輸入用户詢問的頁面的URL地址,導航路徑等內容,這樣LLM在進行回答時,會參考提示詞中的頁面地址和導航路徑,回答的問題中會詳細列出導航的頁面地址。

總   結

小睿助理的設計哲學可以用一句話來概括:"讓複雜的技術變得簡單,讓簡單的操作變得自然!"。


它不是要取代技術人員,而是要成為每個Bonree ONE使用者的"超級助理"——就像鋼鐵俠的賈維斯,哈利波特的魔杖,讓專業的人可以更專注於創造性工作,而把重複性的、記憶性的任務交給大模型。


當凌晨三點告警響起時,你不再需要翻遍文檔尋找那條PromQL語句;當新人入職時,他不再需要花一週時間摸索系統功能。小睿助理會像一個經驗豐富的老員工一樣,隨時隨地提供幫助。


這就是小睿助理帶來的温度——不是冰冷的代碼,而是貼心的夥伴。