國產開源大模型,首次實現代碼解釋
上海人工智能實驗室升級書生·浦語
編者按:
快速成長中的大語言模型功能日新月異。為解決復雜問題,它甚至可以調用工具,“自動”寫代碼進行編程!
近日,上海人工智能實驗室(上海AI實驗室)推出書生·浦語大語言模型的升級版對話模型InternLM-Chat-7B v1.1(以下簡稱“InternLM-Chat”)。InternLM-Chat為首個具有代碼解釋能力的開源對話模型,能夠根據需要靈活調用Python解釋器等外部工具,在解決復雜數學計算等任務上的能力顯著提升;此外,該模型還可通過搜索引擎獲取實時信息,提供具有時效性的回答。

與此同時,上海AI實驗室還發布了開源智能體框架Lagent以輔助用戶體驗新模型的完整功能。通過Lagent,用戶可便捷實現由大語言模型到智能體的轉換,從而輕松實現模型的插件調用功能并探索新的智能體范式。
開源鏈接:
書生·浦語開源體系InternLM:
https://github.com/InternLM
InternLM-Chat:
https://github.com/InternLM/InternLM
Lagent:
https://github.com/InternLM/lagent
OpenCompass:
https://opencompass.org.cn/
LMDeploy:
https://github.com/InternLM/lmdeploy
在今年7月舉行的WAIC 2023上,上海人工智能實驗室(上海AI實驗室)正式開源了書生·浦語大模型70億參數的輕量級版本InternLM-7B,并推出首個面向大模型研發與應用的全鏈條開源體系,同時提供免費商用,受到了學術和產業界的廣泛關注。開放評測平臺OpenCompass的評測結果顯示,書生·浦語在數十項評測中體現出強大的知識體系與推理能力。
隨著大模型的發展,大模型在實際場景落地中的價值越來越受到關注。單靠大語言模型的聊天能力無法滿足例如報告分析、電子商務、數理問題求解等具體場景下的任務需求。為使大模型能夠執行復雜任務,OpenAI于今年7月9日向用戶正式開放了Code Interpreter,使得ChatGPT和GPT-4可以根據用戶問題來編寫和執行代碼,從而拓展了模型在數據分析、復雜計算與功能調用方面的能力。
在InternLM-7B基礎上,上海AI實驗室面向實用需求,正式開源了書生·浦語具有代碼解釋能力的對話模型版本,填補了開源社區中模型代碼解釋能力的空白,進一步助力大模型能力構建與應用探索。
大語言模型為什么需要代碼解釋器
大語言模型雖然在對話能力上表現出色,但是在數學計算等復雜場景下,依然具有一定的局限性,例如,模型雖然可以完成小數字的基本運算,但是難以進行大數運算。此時,如果有代碼解釋器或者計算器等工具進行輔助,就能夠比較方便地解決這類問題。
例如,用戶可以讓模型求解如下題目:
題目:已知水庫水位為海拔148.5m,相應水面的面積為140.0km2;水位為海拔157.5m時,相應水面的面積為180.0km2。將該水庫在這兩個水位間的形狀看作一個棱臺,則該水庫水位從海拔148.5m上升到157.5m時,增加的水量約為?
在沒有代碼解釋器的情況下,模型的回復是:
由題意知,水庫的體積增加了
可以發現,模型雖然知道計算公式,但卻無法正確計算出結果。但是,如果模型具有調用代碼解釋器的能力,就可以產生如下內容,調用 Python代碼解釋器對問題進行求解:

用戶可以基于一定的規則,從模型的回復中提取出模型對代碼解釋器的調用并執行代碼,計算得到結果 1440.0并返回給模型,模型在接收到計算結果后可以組織回復并告訴用戶最終答案。
根據題意可知,棱臺的體積為:

可見,代碼解釋器等外部插件能夠有效彌補模型的不足,提升模型解決實際應用中復雜問題的能力。
調用開源插件,賦能復雜任務
本次書生·浦語開源升級,使大模型具備了調用代碼解釋器及搜索引擎等外部插件的能力,為大模型解決復雜任務賦能。
當前,大多數開源模型主要聚焦于對話主觀體驗的提升,并不具備良好的調用外部插件的能力。針對此情況,書生·浦語團隊進行了積極研究探索,賦予了InternLM-Chat調用代碼解釋器、檢索工具等外部插件的新能力。
寫代碼解難題
面對解方程等復雜的數學計算問題,模型僅憑自身能力難以完全做對,而有了代碼解釋器的加持,模型只要能寫對方程式,就可調動代碼解釋器完成方程求解。

面對復數題,模型也能夠調用 Python 代碼解釋器并寫出正確的代碼,對問題進行求解。如題目:若 ,

檢索獲取新知
由于大語言模型迭代周期較長,往往難以獲取最新的知識,調用檢索工具則可以顯著地增強模型對最新知識的獲取和了解,提高回答的時效性和有效性。例如,向新版大模型詢問“LK-99 真的是常溫常壓超導體嗎”,此時大模型會先搜索“LK-99 常溫超導體”,并檢索到三篇參考資料,在閱讀這些資料內容后,給出總結回答“LK-99 并沒有被證實為常溫常壓超導體”。

千億參數模型能力再上臺階
書生·浦語團隊還將最新研究成果運用于書生·浦語千億參數版本大語言模型的能力提升中,使其實現了在復雜場景中進行多步推理和計算。目前,書生·浦語千億參數版本大語言模型已擁有多知識點運用、自主反思及修正錯誤等能力,模型的推理能力和插件調用能力也日漸提升。
當使用該模型求解以下數學題時,模型能夠準確理解向量垂直的性質并進一步列出方程解答。

同時,模型還能夠理解三角函數的性質并對問題進行求解。在以下問題中,模型使用方程求解出多個答案并能夠根據題意回答實數的最小值。

在調用插件的過程中,大語言模型可能無法一次性成功調用工具解決問題。此時模型的反思和修正能力就顯得尤為關鍵。如下圖所示,讓千億參數的模型統計滿足題目要求的集合個數,計算指出模型并沒有導入對應的模塊依賴,但隨后能根據報錯修復代碼并正確求解。

可以發現,隨著模型參數量的提升,模型的推理能力和插件調用能力也得到顯著提升。
開源Lagent框架,助力智能體研發
當大語言模型能夠以“自主”思考方式調用外部工具完成復雜任務時,其可謂經進化成為智能體。
為達到此目標,除了需要提升大語言模型本身的推理和調用工具能力,還需要一套智能體框架,構建大語言模型作為智能體的思維過程,并實現對應的工具供大語言模型調用執行。
因此,書生·浦語團隊同時開源了智能體框架,支持用戶快速地將一個大語言模型轉變為多種類型的智能體,并提供典型工具為大語言模型賦能。
這套開源框架具備如下特點:
- 集合了多種類型的智能體能力,包括ReAct、AutoGPT 和 ReWoo 等,這些智能體能夠調用大語言模型進行多輪的推理和工具調用,并在工作過程中及時進行反思和自我修正;
- 框架簡單易拓展,支持Python解釋器、API調用和搜索三類常用典型工具;
- 靈活支持多個大語言模型應用,包括InternLM、Llama-2等開源模型和GPT-4、GPT-3.5等基于API的閉源模型。
為了方便社區基于Lagent靈活地實現和探索各種新的Agent及工具,Lagent采用了一套簡潔的模塊設計。智能體(Agent)模塊包含了動作執行器(ActionExecutor)和大語言模型(LLM),并確立了特定類型的規劃和執行機制。Agent模塊接收用戶輸入后,LLM進行對應的規劃和決策過程,發出調用工具的指令。不同類型的工具,如 Python解釋器和搜索引擎等被分別定義為智能體的一個動作(Action),由 ActionExecutor接收并解析調用工具的指令,完成具體的工具調用并向LLM返回執行結果。

目前廣泛使用的開源框架Langchain也實現了類似的功能,能夠為大語言模型提供工具擴展,但在多重抽象和封裝之下,學習上手和調試相對較復雜,Lagent采用簡潔直觀的設計,統一的接口并提供清晰的文檔,為用戶在構建不同Agent和工具調用流程中提供一致性的流暢體驗。
研究人員用10行代碼快速實現了一個Agent,它能夠調用代碼解出數學題,并輸出正確的結果。
題目: ,

在實際使用過程中,無論采用何種工具和Agent,用戶都可以通過類似的10行代碼快速構建一個Demo并調試。未來,Lagent也將繼續支持各種豐富的Agent和工具,不斷拓寬大語言模型作為智能體的能力邊界,助力開源社區高效構建和研發基于大語言模型的智能體。
- 商湯Seko上線一個月,超10萬創作者選擇它2025-09-29
- 戴爾 x OpenCSG,推出?向智能初創企業的?體化 IT 基礎架構解決方案2025-12-10
- 看完最新國產AI寫的公眾號文章,我慌了!2025-12-08
- 共推空天領域智能化升級!趨境科技與金航數碼強強聯手2025-12-09




