全部產品
Search
文件中心

Microservices Engine:基於XXL-JOB與DeepSeek實現推送熱點新聞和金融資料分析

更新時間:Nov 08, 2025

本文介紹如何通過分布式任務調度XXL-JOB與大模型DeepSeek的深度結合,實現財經熱點新聞的定時自動推送和金融資料分析。

背景介紹

隨著 AI 大模型能力的不斷提升,其在業務實踐中的應用情境也日益豐富。許多業務情境,除了由人工主動發起的之外,還可以通過定時任務在後台自動運行,並結合大模型能力進行增強。以下是典型的應用情境:

  • 風險監控:定時監控系統關鍵計量,結合大模型的智能分析能力,識別潛在風險。

  • 資料分析:定時採集線上金融資料,由大模型進行智能分析,為投資者生出決策建議。

前提條件

環境準備

搭建DeepSeek

大模型選擇DeepSeek,出於以下考慮:

  • DeepSeek以推理能力出圈,適合做資料分析。並且DeepSeek的母公司幻方量化就是做量化交易的,我們相信DeepSeek在資料分析上有著顯著的優勢。

  • DeepSeek開源並且很輕量,可以很方便地部署。

您也可以選擇阿里雲最新開源的QwQ模型,推理能力比肩DeepSeek-R1,在做複雜資料分析上同樣能力出眾。以下圖表展示了QwQ-32B 與其他領先模型在數學推理、編程能力和通用能力上的對比:

image

方案一:本地自建部署

本地部署DeepSeek、QwQ或者其他模型,步驟都是差不多的,下面以DeepSeek為例:

  1. 安裝ollama:https://ollama.com/download

    image

  2. 安裝DeepSeek R1模型:R1模型專註於複雜邏輯推理,更適合用於資料分析。

    image

    根據機器規格大小選擇一個模型,比如我的電腦有16G記憶體,選擇7b,就在命令列輸入如下命令安裝。

    image

    不同模型對應的硬體要求如下表:

    模型名稱

    模型大小

    顯存

    記憶體

    deepseek-r1:1.5b

    1.1GB

    4GB+

    8GB+

    deepseek-r1:7b

    4.7GB

    8GB+

    16GB+

    deepseek-r1:8b

    4.9GB

    10GB+

    18GB+

    deepseek-r1:14b

    9.0GB

    16GB+

    32GB+

    deepseek-r1:32b

    20GB

    24GB+

    64GB+

  3. 部署完成後,我們通過API進行測試(使用相容OpenAI的API,連接埠預設是11434),方便後續寫代碼。

    image

方案二:使用雲產品

我們也可以直接使用雲產品,以阿里雲百鍊為例,只需要開通即可使用,並且有海量的免費額度。使用雲產品的話還有個好處,就是可以隨時切換模型,體驗不同模型的優劣。

搭建XXL-JOB

使用XXL-JOB有如下優勢:

  • 可以定時發起AI工作要求。

  • 可以把prompt和返回格式放在任務參數上,動態修改。

  • 可以使用廣播分區任務,把大任務拆分成多個小任務,加快AI任務運行速度。

  • 可以使用任務依賴編排,構建一個AI資料分析的流程。

方案一:本地自建部署

XXL-JOB 部署比較簡單,詳細的步驟可以參考官網,大致步驟如下:

  1. 準備一個資料庫並初始化資料庫表結構。

    image

  2. 把代碼匯入到IDE中,配置xxl-job-admin的設定檔。

    image

  3. 運行XxlJobAdminApplication這個類,然後在瀏覽器輸入http://127.0.0.1:8080/xxl-job-admin 就可以登入了(預設使用者名和密碼是:admin/123456)。

方案二:使用雲產品

您可以使用託管的阿里雲MSE任務調度XXL-JOB版,詳情可參見建立XXL-JOB執行個體,並且可以免費試用

實現推送熱點新聞

本案例基於MSE XXL-JOB版/自建XXL-JOB阿里雲百鍊託管的DeepSeek R1為例介紹實現,Demo詳情可參見xxljob-demo(SpringBoot)

步驟一:將應用接入任務調度平台XXL-JOB

  1. 登入阿里雲Container Service控制台,建立一個ACK Serverless叢集。需為當前VPC開啟配置SNAT(VPC已配置過則可忽略),以便拉取Demo鏡像。

  2. 在Container Service控制台的叢集列表頁,單擊目的地組群,選擇工作負載 > 無狀態服務,單擊使用YAML建立資源,參考如下YAML配置將應用接入MSE任務調度平台XXL-JOB。其中配置參數-Dxxl.job.admin.addresses-Dxxl.job.executor.appname-Dxxl.job.accessToken-Ddashscope.api.key-Dwebhook.url可參見配置啟動參數

    應用部署YAML參考如下:

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: xxljob-demo
      labels:
        app: xxljob-demo
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: xxljob-demo
      template:
        metadata:
          labels:
            app: xxljob-demo
        spec:
          containers:
          - name: xxljob-executor
            image: registry.cn-hangzhou.aliyuncs.com/schedulerx/xxljob-demo:2.4.2
            ports:
            - containerPort: 9999
            env:
              - name: JAVA_OPTS
                value: >-
                  -Dxxl.job.admin.addresses=http://xxljob-xxxxx.schedulerx.mse.aliyuncs.com
                  -Dxxl.job.executor.appname=xxxxx
                  -Dxxl.job.accessToken=xxxxxxx
                  -Ddashscope.api.key=sk-xxx
                  -Dwebhook.url=https://oapi.dingtalk.com/robot/send?access_token=xx

步驟二:配置啟動參數

  1. 擷取啟動參數配置。

    1. 登入MSE XXL-JOB控制台,並在頂部功能表列選擇地區。

    2. 單擊進入目標執行個體,在左側導覽列的應用管理頁面。單擊目標應用執行器數量列下的接入

    image

    替換為目標執行個體接入配置後,一鍵複製參數項至YAML配置:

    -Dxxl.job.admin.addresses=http://xxljob-xxxxx.schedulerx.mse.aliyuncs.com
    -Dxxl.job.executor.appname=xxxxx
    -Dxxl.job.accessToken=xxxxxxx
  2. 登入阿里雲百鍊平台,單擊右上方人像表徵圖中的API-KEY進入管理介面,可以建立或複製一個API-KEY。

    替換API-KEY後,複製參數項至YAML配置:

    -Ddashscope.api.key=sk-xxx
  3. 在釘群Webhook地址,可以在DingTalk群設定中添加一個自訂機器人。

    替換access_token值後,複製參數項至YAML配置:

    -Dwebhook.url=https://oapi.dingtalk.com/robot/send?access_token=xx

步驟三:建立AI任務並運行

MSE XXL-JOB 控制台
  1. 登入MSE XXL-JOB控制台,並在頂部功能表列選擇地區。單擊目標執行個體,在左側導覽列的任務管理頁面,單擊建立任務

  2. 在建立工作面板中配置JobHandler名稱sinaNews任務參數配置prompt提示詞資訊如下,其他配置按預設儲存即可。

    任務參數prompt配置樣本:

    你是一個新聞資訊助手,需要幫對使用者提供的內容做下Unicode解碼,並提取出最熱門的5條新聞, 最後總結使用者提供的內容。
    輸出格式參考如下:
    
    今日熱點的財經新聞(按熱度排序):
    
    ---
    
    #### 1. [**title**](url)
    
    熱度:99,999
    
    發布方:publisher
    
    ---
    
    #### **訊息總結**
    
    分析是否存在與AI相關最新資訊。概要總結今日訊息內容。
  3. 任務管理頁面,單擊建立的sinaNews任務名操作列下的運行一次,等待任務執行成功,釘群即可定時接收AI分析總結的資訊。

自建XXL-JOB Admin
  1. 在自建的XXL-JOB Admin控制台上建立任務,配置JobHandlersinaNews,任務參數可參見任務參數配置樣本

  2. 在任務管理頁面,手動運行一次任務,收到DingTalk通知如下。

實現金融資料分析

基於實現推送熱點新聞例子中,我們只拉取了新浪財經的新聞,如果想准即時拉取國內外金融新聞和資料,快速做出決策,一個單機任務的時效性肯定是不夠的。我們可以使用MSE XXL-JOB的廣播分區任務,將大任務拆分成小任務,不同的小任務去拉取不同的資料。再通過MSE XXL-JOB的任務編排能力組成一個流程,一步步去完成我們的任務。

  1. 在MSE XXL-JOB上建立3個任務,並建立依賴關係,拉取金融資料 → 資料分析 → 產生報告。其中拉取金融資料任務的路由策略是廣播分區。

  2. 拉取金融資料任務開始執行的時候,通過廣播分區派發多個子任務給不同的執行器,以擷取各大國內外財經新聞和金融資料,並將結果儲存起來(比如資料庫、Redis或者Object Storage Service)。

  3. 在資料分析任務開始執行的時候,擷取當前的金融資料,再調用DeepSeek進行分析,將結果儲存起來。

  4. 在資料分析完成後,再通過報告產生任務,將分析完的資料產生一個報告或者報表,通過DingTalk或者Direct Mail給使用者,提供投資建議。