【大模型】AI平臺 joyagent 2.0 的部署與測試

github鏈接:https://github.com/jd-opensource/joyagent-jdgenie
本篇博客記錄下自己在配置joyagent的過程,以【手動初始化環境,啟動服務】為例,后端調用的deepseek-chat大模型。

前言

JoyAgent是由京東云開源的企業級多智能體系統,具有以下顯著特點:

  1. 開箱即用的輕量級解決方案:JoyAgent無需依賴任何平臺,支持本地部署,安裝過程簡便,通過簡單的命令即可完成環境檢查和啟動服務。
  2. 高效的任務執行能力:在測試中,JoyAgent能夠在4-5分鐘內完成復雜任務,如美食店推薦和旅行規劃,且結果質量高,符合用戶需求。
  3. 優秀的交互體驗:JoyAgent提供清晰的工作空間界面,支持實時查詢和動態生成Markdown文檔,并提供多種結果保存方式(Joyspace轉換、MD文件下載、復制功能)。
  4. 企業級適用性:JoyAgent在京東內部已有超過2萬個智能體應用案例,覆蓋零售、物流、金融等多個領域,其GAIA基準測試準確率達70%以上,超越多個同類產品。
  5. 開源生態優勢:JoyAgent采用MIT協議,允許商業用途的二次開發,為企業和開發者提供了高度靈活的定制空間。
    ?

實際測試使用中,于開發者需明確如下內容:

  1. 部署:可本地化部署
  2. 大模型:建議調用在線大模型,速度快效果好
  3. 功能:該平臺主要為智能體的搭建做服務
  4. 二次開發:開源的可完成日常工作的問題解答。若需接入公司系統中,完成指定的公司業務,需要進行二次開發
  5. 開發語言:以java為主、python為輔

1 環境準備:

  • jdk17
    sudo apt update
    sudo apt install openjdk-17-jdk
    # 驗證
    java -version   # 應該能看到 openjdk version "17.x"
    
  • python3.11 以及 python環境準備
    conda create -n joy python=3.11 -c conda-forge
    conda activate joy
    pip install uv -i https://pypi.tuna.tsinghua.edu.cn/simplecd genie-tool
    uv sync
    source .venv/bin/activate
    

2 工程配置

2.1 工程下載

 git clone https://github.com/jd-opensource/joyagent-jdgenie.git

2.2 配置文件的修改

【1】文件: joyagent-jdgenie/genie-backend/src/main/resources/application.yml

  • 將下面的第一段內容刪掉(注意是刪掉),替換成第二段內容。第二段內容是deepseek的相關配置

    llm:default:base_url: '<input llm server here>'apikey: '<input llm key here>'interface_url: '/chat/completions'model: gpt-4.1max_tokens: 16384settings: '{"claude-3-7-sonnet-v1": {"model": "claude-3-7-sonnet-v1","max_tokens": 8192,"temperature": 0,"base_url": "<input llm server here>","apikey": "<input llm key here>","interface_url": "/chat/completions","max_input_tokens": 128000}}'
    
    llm:default:base_url: https://api.deepseek.comapikey: sk-*****model: deepseek-chatmax_tokens: 8192
    
  • 將文件內的 【model_name: gpt-4.1】修改為【model_name: deepseek-chat
    ?

【2】文件: joyagent-jdgenie/genie-tool/.env_template
將 .env_template 文件復制一份 命名為 .env,修改 .env中內容

  • 刪除
    OPENAI_API_KEY=<your api key>
    OPENAI_BASE_URL=<your base url>
    
  • 補充和修改信息
    DEEPSEEK_API_KEY=sk-***
    DEFAULT_MODEL=deepseek/deepseek-chat
    SERPER_SEARCH_API_KEY=***
    

3 apikey 的獲取

3.1 deepseek的apikey

  • deepseek官網 注冊并登錄賬號(支持手機號或微信掃碼)。
    登錄后進入左側菜單的「API Keys」頁面,點擊「創建 API Key」。
    填寫名稱并立即生成,密鑰只顯示一次,需妥善保存。在這里插入圖片描述
  • 使用的話需要充值,apikey才能真正有效
    在這里插入圖片描述
  • 充值結束后,終端測試deepseek大模型是否能正常調通
    curl -s https://api.deepseek.com/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer sk-***" \-d '{"model": "deepseek-chat","messages": [{"role": "user", "content": "你好?"}],"max_tokens": 512,"temperature": 0.7}'
    
    在這里插入圖片描述

3.2 serper的apikey

這里前面申請過,然后谷歌郵箱忘記了,所以就先簡單記錄,后續有機會再詳細補充

  • 打開 https://serper.dev。
  • 點擊右上角 Sign Up。
  • 使用 Gmail 郵箱填寫注冊信息并驗證。
  • 登錄后進入 API Keys 頁面創建密鑰。

4 工程啟動

  1. 依賴與端口的測查
    sh check_dep_port.sh # 檢查所有依賴和端口占用情況
    
    該條命令會檢查所有依賴和端口占用情況,根據提示直至不報錯即可。
    在這里插入圖片描述
  • 一鍵式服務啟動
    sh Genie_start.sh  
    
    在這里插入圖片描述
  • 在 web中訪問 http://localhost:3000,正常情況下會出現如下界面
    在這里插入圖片描述
    鍵入你好,會得到如下內容
    在這里插入圖片描述
    詢問黃金價格波動影響因素
    在這里插入圖片描述

到此,該工程部署完成,且能夠正常使用。

5 部署過程中遇到的問題

5.1 一般庫的缺失

直接命令安裝即可

5.2:啟動時的warning

如下warning可以忽略,也可以安裝對應的庫解決
在這里插入圖片描述

npm install esbuild@^0.17.0 prop-types@^15.5.9 --save-dev

5.3 前端不停轉圈圈

本人實際場景:vscode遠程連接服務器部署與啟動,自動端口透傳到本地,也就是可以使用本地web界面直接訪問前端。

在這里插入圖片描述
經過踩坑,確定排查方式如下:

  • 確定服務啟動時,每個服務都是被正常拉起。若端口被占用,清除對應的端口的服務,然后重新運行,直至正確
    在這里插入圖片描述
  1. 確定端口透傳正確,保證不同端的服務在通信時,能夠調用正確的端口號。
    在vscode下面終端界面中,點擊【PORTS】,保證里面的 【PORT】和【Forwarded Address】的端口號是相同的。
    舉個例子。若將這里的【PORT】透傳到【localhost:4040】,我們在遠程服務器上curl -I http://localhost:3000 是成功的,但在本地就會失敗。同時在web界面,localhost:4040 才能正常打開前端界面。
    在這里插入圖片描述

5.4 前端一直返回 “失敗,請聯系管理員”

在這里插入圖片描述
當確保上面的異常都排除完后,出現【“任務執行失敗,請聯系管理員”】,這個時候就要排查 MCP客戶端是否能正常被調用。

  • 確定deepseek的apikey是有效的,方法在前面講述過
  • 配置文件 application.yml 中的 base_url: https://api.deepseek.com
    注意這里不能寫成 base_url: https://api.deepseek.com/v1
    本人在這里也踩了坑,后面通過日志打印,定位到這里了
    llm:default:base_url: https://api.deepseek.comapikey: sk-*****model: deepseek-chatmax_tokens: 8192
    

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/93436.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/93436.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/93436.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機視覺(一):nvidia與cuda介紹

背景與意義 計算機視覺 (Computer Vision, CV) 需要對圖像和視頻進行處理、特征提取和模型訓練&#xff0c;計算量巨大。GPU (圖形處理單元) 擅長并行計算&#xff0c;非常適合深度學習、卷積操作、矩陣乘法等場景。NVIDIA 作為 GPU 領域的領導者&#xff0c;推出了 CUDA (Comp…

阿里云杭州 AI 產品法務崗位信息分享(2025 年 8 月)

&#xff08;注&#xff1a;本崗位信息已獲jobleap.cn授權&#xff0c;可在 CSDN 平臺發布&#xff09; 一、基本信息 招聘方&#xff1a;阿里云工作地點&#xff1a;杭州信息收錄時間&#xff1a;2025 年 08 月 14 日 二、職位主要職責 為 AI 相關產品全流程提供法務支持&…

醫療智慧大屏系統 - Flask + Vue實現

下面我將實現一個完整的醫療智慧大屏系統&#xff0c;使用Flask作為后端框架&#xff0c;前端使用Vue.js結合ECharts進行醫療數據的可視化展示&#xff0c;文章末尾提交源碼下載。 系統設計思路 前端部分&#xff1a; 使用Vue.js構建響應式界面 使用ECharts實現各類醫療數據可…

庫制作與原理(下)

庫制作與原理 (下) 1. 目標文件 編譯和鏈接這兩個步驟&#xff0c;在 Windows 下被我們的 IDE 封裝的很完美&#xff0c;我們一般都是一鍵構建非常方便&#xff0c;但一旦遇到錯誤的時候呢&#xff0c;尤其是鏈接相關的錯誤&#xff0c;很多人就束手無策了。在 Linux 下&#x…

STL 容器

STL是C的核心組成部分&#xff0c;其主要包括了容器、迭代器、算法三大組件。 其中容器負責存儲數據&#xff0c;迭代器是容器和算法的橋梁&#xff0c;負責對容器中的元素進行操作。本文重點介紹容器部分內容。 STL主要容器 STL容器根據特性進行分類&#xff0c;可以分為序列式…

微信小程序 拖拽簽章

微信小程序 拖拽簽章 效果 主要實現的功能點 文件按比例加載圖片(寬高設定拖拽范圍) 彈層展示印章模板 模板拖拽到文件圖片上 實時獲取拽拽位置 難點 彈層中的元素如何拖拽到文件圖片上 實現歷程 版本1.0 以前我們拖拽一個圖層到另一個圖層上,pc端使用的是mousedown mou…

人工智能加速計算套件

按照甲方要求的技術指標的人工智能加速計算套件1套。每套包含以下內容&#xff1a; 1、顯卡 不低于6542Y&#xff1b;容量不低于 48GB GDDR6顯存&#xff1b;CUDA核心不低于14080 個 &#xff1b;第四代Tensor Core不低于440 個&#xff1b;單精度性能不低于69.3 TFLOPS&#x…

端到端測試:復雜系統的終極體檢術

當你的應用像多米諾骨牌一樣牽一發而動全身&#xff0c;如何確保用戶一路暢通無阻&#xff1f;一、為什么我們需要端到端測試&#xff1f; 想象一下&#xff1a;你精心開發的電商應用&#xff0c;用戶登錄順利&#xff0c;商品瀏覽流暢&#xff0c;卻在最后支付時卡殼——原因是…

Perf使用詳解

Perf 工具深度解析 Perf&#xff08;Performance Counters for Linux&#xff09;是 Linux 系統的性能分析工具&#xff0c;基于內核的 perf_event 子系統&#xff0c;通過硬件性能計數器&#xff08;PMC&#xff09;、軟件事件和跟蹤點&#xff08;tracepoints&#xff09;實現…

Windchill 11 Enumerated Type Customization Utility-枚舉類型自定義實用程序

一、Enumerated Type Customization Utility 枚舉類型自定義實用程序&#xff0c;可用于添加或編輯枚舉類型的值&#xff0c;在Windchill 12.0中可直接在類型和屬性管理中編輯&#xff0c;如下圖所示&#xff0c;而在Windchill 11.0中只能通過windchill shell啟動程序&#xff…

git疑問,暫時記錄

有時候把dev本地分支搞亂了,多出幾個提交,好像在遠程倉庫,rebase dev到本地dev,就恢復了,然后再把我開發分支合并過去就ok,就不會多出幾個重復的提交 在自己分支開發提交數據后,不push到遠程倉庫 然后合并到dev分支,推dev分支到遠程倉庫然后在自己分支,rebase到自己分支,然后再…

Java 大視界 -- 基于 Java 的大數據分布式計算在氣象災害預警與應急響應中的應用

Java 大視界 -- 基于 Java 的大數據分布式計算在氣象災害預警與應急響應中的應用引言&#xff1a;Java 筑起氣象防災減災的數字長城正文&#xff1a;Java 構建的氣象智慧防御體系一、氣象大數據的 Java 基座&#xff1a;從采集到存儲的全鏈路優化1.1 多源異構數據的實時匯聚1.2…

MySQL黑盒子研究工具 strace

strace是什么&#xff1f; 按照 strace 官網的描述, strace 是一個可用于診斷、調試和教學的 Linux 用戶空間跟蹤器。我們用它來監控用戶空間進程和內核的交互&#xff0c;比如系統調用、信號傳遞、進程狀態變更等。 strace 底層使用內核的 ptrace 特性來實現其功能。 strace能…

【運維進階】實施任務控制

實施任務控制 在 Ansible 中&#xff0c;“實施任務控制” 通常指的是對任務執行流程的控制&#xff0c;比如&#xff1a; 條件執行&#xff08;when&#xff09; 循環執行&#xff08;with_items / loop&#xff09; 錯誤處理&#xff08;block / rescue / ignore_errors&…

Java 中的線程中斷詳解

Java 中的線程中斷1、什么是線程中斷2、如何觸發線程中斷3、如何處理線程中斷3.1 線程中斷相關的核心方法3.2 處理中斷的典型方式3.3 注意事項4、線程中斷與線程終止的區別5、線程中斷的應用場景5.1 長時間運行任務的取消5.2 阻塞操作的快速響應5.3 服務或線程池的優雅關閉5.4 …

【LeetCode題解】LeetCode 33. 搜索旋轉排序數組

【題目鏈接】 33. 搜索旋轉排序數組 【題目描述】 【題解】 對于一個有序數組&#xff0c;我們可以使用二分查找算法來查找某個元素&#xff0c;具體的算法模板可以參考【算法基礎課-算法模板1】基礎算法中二分查找一節的內容。 然而&#xff0c;在這道題目中&#xff0c;數組…

使用 Serverless 架構快速構建基于 Iceberg 的事務型實時數據湖

文章目錄1. 背景介紹2. 架構設計3. 方案實現3.1 CDC3.1.1 自定義插件3.1.2 配置 MSK Connect3.2 實時攝入3.2.1 Glue 實現方案3.2.1.1 在 Glue 中創建 Kafka connection3.2.1.2 Glue Streaming 任務3.2.2 EMS Serverless 實現方案3.3 使用 Athena 查詢 Iceberg 表3.3.1 查詢3.3…

Java零基礎筆記20(Java高級技術:單元測試、反射、注解、動態代理)

1.單元測試2.反射2.1 反射第一步&#xff1a;加載類&#xff0c;獲取類的字節碼&#xff0c;class對象2.2 獲取類中的成分&#xff08;構造器、成員變量、成員方法&#xff09;&#xff0c;并對其進行操作獲取構造器的作用&#xff1a;獲取成員變量的作用&#xff1a;獲取成員…

WinDbg 調試

安裝 Windows 調試器 WinDbg 是一種調試器,可用于分析故障轉儲、調試實時用戶模式和內核模式代碼,以及檢查 CPU 寄存器和內存。 此最新版本具有更新的界面、完全現成的腳本功能、可擴展的調試數據模型、內置的時間旅行調試(TTD)支持和許多其他功能,具有更現代的用戶體驗。…

topographic terrain

在中文語境中&#xff0c;topographic&#xff08;地形學&#xff09;和 terrain&#xff08;地形&#xff09;這兩個詞都與地表特征相關&#xff0c;但它們的含義和使用場景有細微差別。以下是它們的區別&#xff1a; 1. 定義Topographic&#xff08;地形學的&#xff09;&…