使用智譜 GLM-4-9B 和 SiliconCloud 云服務快速構建一個編碼類智能體應用

本篇文章我將介紹使用智譜 AI 最新開源的 GLM-4-9B 模型和 GenAI 云服務 SiliconCloud 快速構建一個 RAG 應用,首先我會詳細介紹下 GLM-4-9B 模型的能力情況和開源限制,以及 SiliconCloud 的使用介紹,最后構建一個編碼類智能體應用作為測試。

本文首發自博客 使用智譜 GLM-4-9B 和 SiliconCloud 云服務快速構建一個編碼類智能體應用

我的新書《LangChain編程從入門到實踐》 已經開售!推薦正在學習AI應用開發的朋友購買閱讀,此書圍繞LangChain梳理了AI應用開發的范式轉變,除了LangChain,還涉及其他諸如 LIamaIndex、AutoGen、AutoGPT、Semantic Kernel等熱門開發框架。
LangChain編程從入門到實踐

GLM-4-9B 有多強

智譜家 GLM-4-9B 模型的發布,可以稱得上大模型開源領域的又一個里程碑事件,除了開源行為本身值得肯定,我覺得開源出來的模型可以接入線上應用直接使用,可能對我們做應用層的開發者意義更大。話不多說,看 GLM-4-9B 的介紹:

首先 GLM-4-9B 模型結構與 GLM-3-9B 變化不大,主要是模型層數由 28 增加到 40,詞表大小由 65024 擴充到 151552、支持的上下文長度支持從 32K、128K 擴展到 128K、1M(GLM-4-9B-Chat-1M),做應用最關注的就是長上下文(多輪對話記憶保持、各種閱讀助手、長文本理解等常見場景)能力和 Function Call 能力(工具調用,構建智能體應用的基礎)。

1M 的上下文長度(約 200 萬中文字符)方面,GLM-4-9B 在大海撈針測試中全綠。

外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳

不過根據英偉達研究團隊最近新提出的名為RULER的新基準,這里選用的測試方法(測試的 LWM 聲稱上下文長度 1M,實際不到 4K)測出來的結果有水分,這個我還會自己測試下。

上下文長度虛標嚴重

Function Call 能力也屬于 gpt-4-turbo 級別,使用 Berkeley Function-Calling Leaderboard 測試集,這個對我來說比較有說服力,有興趣的可以看看測試集設計,不過畢竟測試集公開,混在訓練集里也不好說,這個我也按照相同思路設計了對應的私有中文測試集,引入之前也會再跑一次作為交叉驗證。

ModelOverall Acc.AST SummaryExec SummaryRelevance
Llama-3-8B-Instruct58.8859.2570.0145.83
gpt-4-turbo-2024-04-0981.2482.1478.6188.75
ChatGLM3-6B57.8862.1869.785.42
GLM-4-9B-Chat81.0080.2684.4087.92

雖然開源,但也存在限制,就是學術研究免費,商業用途需要登記且必須遵守相關條款和條件,詳見 Github 項目介紹:https://github.com/THUDM/GLM-4

SiliconCloud 有多好用

SiliconCloud 是硅基流動推出的 GenAI 云服務,這是國內同類產品中我體驗最好的一家,便宜且推理速度還快,國外已經有很多類似服務了,比如 Banana, Replicate, Beam, Modal 、OctoAI、ModelZ、BentoML等,這類服務主要用于私有模型或常見開源模型托管,通過它們自研的推理加速引擎、大模型基礎設施優化能力,大幅降低大模型的部署及推理成本,降低 AI 應用的成本,加速 AI 產品的落地 。

推理價格

SiliconCloud 便宜又快的原因就在于硅基流動自研的 LLM 推理加速引擎 SiliconLLM ,支持 Llama3、Mixtral、DeepSeek、Baichuan、ChatGLM、Falcon、01-ai(零一萬物開源的模型)、GPT-NeoX 等模型加速,下面是 SiliconLLM 與推理框架vLLM(伯克利大學 LMSYS 組織開源)、Tensorrt-LLM(英偉達開源)的性能比較。

SiliconLLM與vLLM、Tensorrt-LLM性能比較

最后補充一組我自己本地隨手測試的 API 調用服務吞吐:

  1. 首次響應時間與最快響應時間差Latency saved 0.03s): 表示首次響應時間與最快響應時間之間的差異,這個指標可以反映出大模型 API 服務在處理請求時的波動。
  2. 優化后的首 token 響應時間Optimized TTFT 0.36s):是指在多次請求中,最快的一次首 token 響應時間。
  3. 首 token 響應時間中位數Median TTFT 0.03s ):是指在所有請求中,首 token 響應時間的中位數,即一半的請求首 token 響應時間比這個值快,另一半比這個值慢。中位數可以提供一個更穩健的性能指標,因為它不受極端值的影響。
  4. 生成的 token 數量Tokens: 19):表示在請求過程中生成的 token 總數。
  5. token 生成速率79 tokens/sec): 表示每秒生成的 Token 數量,這是衡量大模型 API 服務處理能力的一個指標。
  6. 總時間Total time: 0.59s): 表示從開始發送 HTTP 請求到接收到最后一個 token 的時間,這是整個請求處理過程的總耗時

API吞吐

構建編碼類智能體應用

首先前往官網 👉 https://cloud.siliconflow.cn/auth/login 注冊 SiliconCloud 賬號,無需手機號,郵箱注冊即可(值得一提,新用戶注冊可以得到 42 元免費額度用于體驗,相當于 3 億 tokens),按流程注冊,保存好生成的 API-KEY。

生成API密鑰

開始之前先設置好 SiliconCloud 的 GLM-4-9B-Chat 模型, API 調用方式也與 OpenAI 兼容 ,所以可以直接使用 OpenAI SDK (langchain_openai)來訪問 SiliconCloud 上的任意模型。

import os
from langchain_openai import ChatOpenAI
sc_api_key = os.getenv("SC_API_KEY")
llm = ChatOpenAI(base_url="https://api.siliconflow.cn/v1",api_key=sc_api_key,model="zhipuai/glm4-9B-chat")

后續代碼和這篇文章 DeepSeek-V2 到底有多強?寫一個 AI 編碼 Agent 測測看(附詳細代碼)基本一致,也有著詳細解釋過程,這里不再贅述,后臺回復 DeepSeek可獲取完整代碼。

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

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

相關文章

數據結構和算法之數組和鏈表

一、數組 數組是一種線性數據結構,它是由一組連續的內存單元組成的,用于存儲相同類型的數據。在JavaScript中,數組可以包含任意類型的數據,不只限于基本數據類型。 1.存儲方式 在內存中,數組的元素是連續存儲的&…

【Vue】組件的存放目錄問題

注意: .vue文件 本質無區別 組件分類 .vue文件分為2類,都是 .vue文件(本質無區別) 頁面組件 (配置路由規則時使用的組件)復用組件(多個組件中都使用到的組件) 存放目錄 分類開來的…

Llama模型家族之拒絕抽樣(Rejection Sampling)(二)均勻分布簡介

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (一) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (二) 基于 LlaMA 3 LangGraph 在windows本地部署大模型 (三) 基于 LlaMA…

ssti模板注入

一、Flask應用 1、介紹 定義 Flask:是一個使用Python編寫的輕量級web應用框架。Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。 特點 良好的文檔、豐富的插件、包含開發服務器和調試器、集成支持單元測試、RESTful請求調度、支持安全cookies、基于Unicode。 …

手機短信刪除怎么恢復?快速找回的3個秘密武器

手機,這個我們每天離不開的小玩意兒,有時候也會讓我們頭疼不已。比如,你一不小心,或者為了清理點空間,就把那些重要的短信給刪了。這些短信可能是你和好友的深夜聊天,或者是重要的工作信息。一旦刪除&#…

人工智能就業方向有哪些?

人工智能就業方向有哪些? 隨著人工智能技術的不斷發展,其應用領域也越來越廣泛。對于想要進入人工智能領域的年輕人來說,選擇一個合適的職業方向是至關重要的。今天給大家介紹六個熱門的人工智能就業方向,分別是機器學習工程師、自然語言處理…

Webshell檢測初識

最近在研究webshell檢測的小東西,所以開啟一個專門記錄webshell檢測工具開發的專欄,若有遺漏之處,請大佬們指出。 本篇大致了解以下內容 什么是webshll?有哪些類型?各自有什么不同?Webshell有哪些常見的檢測…

鼠標側鍵映射虛擬桌面切換 —— Win11

鼠標側鍵映射虛擬桌面切換 —— Win11 基于 AutoHotkey 實現功能 下載軟件 AutoHotkey建議安裝在默認路徑下(C盤) 此軟件非常小,幾乎不占用資源軟件安裝在默認路徑以外的位置可能導致部分功能不可用 新建一個 .ahk 文件使用記事本打開該 .a…

哪款開放式耳機佩戴最舒服?2024五款備受推崇產品分享!

?在現今耳機市場,開放式耳機憑借其舒適的佩戴體驗和獨特的不入耳設計,備受消費者追捧。它們不僅讓你在享受音樂時,仍能察覺周圍的聲音,確保與人交流無障礙,而且有利于耳朵的衛生與健康。對于運動愛好者和耳機發燒友而…

GIGE 協議摘錄 —— 引導寄存器(四)

系列文章目錄 GIGE 學習筆記 GIGE 協議摘錄 —— 設備發現(一) GIGE 協議摘錄 —— GVCP 協議(二) GIGE 協議摘錄 —— GVSP 協議(三) GIGE 協議摘錄 —— 引導寄存器(四) GIGE 協議…

Flutter Dismissible 屬性介紹及使用指南

在移動應用開發中,滑動刪除是一種常見的交互方式。Flutter 提供了一個強大的小部件 Dismissible,使得實現這一功能變得非常簡單。本文將介紹 Dismissible 的主要屬性及其使用方法。 1. Dismissible 簡介 Dismissible 是一個 Flutter 小部件&#xff0c…

前后端實現文件上傳進度條-實時進度

后端接口代碼&#xff1a; PostMapping("/upload")public ResponseEntity<String> handleFileUpload(RequestParam("file") MultipartFile file) {try {// 獲取文件名String fileName file.getOriginalFilename();// 創建上傳目標路徑Path targetPa…

基于簡單Agent對醫療數據進行分析

數據表 供應商資格審核規定.pdf 醫生名錄.xlsx 歷史就診記錄.xlsx 患者信息名錄.xlsx 藥品.xlsx 藥品庫存管理.xlsx 采購單位基本信息.xlsx Agent測試 模型基于ChatGPT-3.5 問題&#xff1a;幫我找出不達標的供應商 Agent分析過程 [Thought: 0] Key Concepts: - 不達標的供…

P7 品牌管理

逆向生成頁面 新增菜單—商品系統的品牌管理 —product/brand 在代碼生成器得到的文件中&#xff0c; main-resources-src-views-modules-product brand.vue、brand-add-or-update.vue放到category.vue同級vue文件有新增、刪除按鈕&#xff0c;但頁面未顯示&#xff0c;是因…

嵌入式Linux系統中RTC應用的操作詳解

第一:RTC的作用以及時間簡介 “RTC”的英文全稱是Reul-Time Clock,翻譯過來是實時時鐘芯片.實時時鐘芯片是日常生活中應用最為廣泛的電子器件之一,它為人們或者電子系統提供精確的實時時間,實時時鐘芯片通過引腳對外提供時間讀寫接口,通常內部帶有電池,保證在外部系統關…

【Android】使用EventBus進行線程間通訊

EventBus 簡介 EventBus&#xff1a;github EventBus是Android和Java的發布/訂閱事件總線。 簡化組件之間的通信 解耦事件發送者和接收者 在 Activities, Fragments, background threads中表現良好 避免復雜且容易出錯的依賴關系和生命周期問題 Publisher使用post發出…

好書推薦-人工智能數學基礎

本書以零基礎講解為宗旨&#xff0c;面向學習數據科學與人工智能的讀者&#xff0c;通俗地講解每一個知識點&#xff0c;旨在幫助讀者快速打下數學基礎。    全書分為 4 篇&#xff0c;共 17 章。其中第 1 篇為數學知識基礎篇&#xff0c;主要講述了高等數學基礎、微積分、泰…

鴻蒙Ability Kit(程序框架服務)【應用啟動框架AppStartup】

應用啟動框架AppStartup 概述 AppStartup提供了一種更加簡單高效的初始化組件的方式&#xff0c;支持異步初始化組件加速應用的啟動時間。使用啟動框架應用開發者只需要分別為待初始化的組件實現AppStartup提供的[StartupTask]接口&#xff0c;并在[startup_config]中配置App…

Open vSwitch 數據包處理流程

一、Open vSwitch 數據包轉發模式 Open vSwitch 根據不同的模塊使用&#xff0c;主要分為兩種數據包的轉發模式&#xff1a;Datapath 模式和 DPDK 模式&#xff0c;這兩種模式的主要區別在于&#xff1a; Datapath 模式&#xff1a; 使用內核空間的網絡棧進行數據包的轉發性能相…

理解和實現 LRU 緩存置換算法

引言 在計算機科學中&#xff0c;緩存是一種用于提高數據訪問速度的技術。然而&#xff0c;緩存空間是有限的&#xff0c;當緩存被填滿時&#xff0c;就需要一種策略來決定哪些數據應該保留&#xff0c;哪些應該被淘汰。LRU&#xff08;最近最少使用&#xff09;算法是一種廣泛…