分詞是處理自然語言處理 (NLP) 任務時的基本步驟。它涉及將文本分解成更小的單元,稱為標記,這些單元可以是單詞、子詞或字符。
高效的分詞對於語言模型的性能至關重要,使其成為各種 NLP 任務(如文本生成、翻譯和摘要)中的一個重要步驟。
Tiktoken 是 OpenAI 開發的一個快速高效的分詞庫。它提供了一個強大的解決方案,用於將文本轉換為標記,反之亦然。其速度和效率使其成為處理大型數據集和復雜模型的開發人員和數據科學家的絕佳選擇。
本指南專為開發人員、數據科學家以及任何計劃使用 Tiktoken 並需要包含示例的實用指南的人員而設計。
OpenAI 基礎知識
開始使用 OpenAI API 及更多功能!
立即開始開始使用 Tiktoken
要開始使用 Tiktoken,我們需要在 Python 環境中安裝它(Tiktoken 也適用於其他編程語言)。可以使用以下命令完成此操作:
<code>pip install tiktoken</code>
您可以在以下 GitHub 存儲庫中查看 Tiktoken 開源 Python 版本的代碼。
要導入庫,我們運行:
<code>import tiktoken</code>
編碼模型
Tiktoken 中的編碼模型決定了將文本分解成標記的規則。這些模型至關重要,因為它們定義了文本的分割和編碼方式,從而影響語言處理任務的效率和準確性。不同的 OpenAI 模型使用不同的編碼。
Tiktoken 提供了三種針對不同用例優化的編碼模型:
- o200k_base:最新 GPT-4o-Mini 模型的編碼。
- cl100k_base:較新 OpenAI 模型(如 GPT-4 和 GPT-3.5-Turbo)的編碼模型。
- p50k_base:Codex 模型的編碼,這些模型用於代碼應用程序。
- r50k_base:不同版本的 GPT-3 的較舊編碼。
所有這些模型都可用於 OpenAI 的 API。請注意,API 提供的模型比這裡列出的要多得多。幸運的是,Tiktoken 庫提供了一種簡單的方法來檢查應將哪個編碼與哪個模型一起使用。
例如,如果我需要知道 text-embedding-3-small 模型使用什麼編碼模型,我可以運行以下命令並獲得答案作為輸出:
<code>pip install tiktoken</code>
我們得到
將文本編碼為標記
要使用 Tiktoken 將文本編碼為標記,您首先需要獲取編碼對象。初始化它有兩種方法。首先,您可以使用標記器的名稱來執行此操作:
<code>import tiktoken</code>
或者,您可以運行前面提到的 encoding_for_model 函數以獲取特定模型的編碼器:
<code>print(tiktoken.encoding_for_model('text-embedding-3-small'))</code>
現在,我們可以運行編碼對象的 encode 方法來編碼字符串。例如,我們可以按照以下方式編碼“我愛 DataCamp”字符串——這裡我使用 cl100k_base 編碼器:
<code>encoding = tiktoken.get_encoding("[标记器名称]")</code>
我們得到[40, 3021, 2956, 34955]作為輸出。
將標記解碼為文本
要將標記解碼回文本,我們可以在編碼對像上使用 .decode() 方法。
讓我們解碼以下標記[40, 4048, 264, 2763, 505, 2956, 34955]:
<code>encoding = tiktoken.encoding_for_model("[模型名称]")</code>
這些標記解碼為“我從 DataCamp 學到了很多東西”。
實際用例和技巧
除了編碼和解碼之外,我還想到了另外兩個用例。
成本估算和管理
在向 OpenAI API 發送請求之前了解標記計數可以幫助您有效地管理成本。由於 OpenAI 的計費基於處理的標記數量,因此預標記文本允許您估算 API 使用成本。以下是如何使用 Tiktoken 計算文本中的標記:
<code>print(encoding.encode("我爱 DataCamp"))</code>
我們只需通過檢查數組的長度來查看我們獲得了多少個標記。通過提前了解標記數量,您可以決定是否縮短文本或調整使用情況以保持預算內。
您可以在本關於使用 Python 中的 tiktoken 庫估算 GPT 成本的教程中閱讀更多關於此方法的信息。
輸入長度驗證
當使用來自 API 的 OpenAI 模型時,您受到輸入和輸出最大標記數的限制。超過這些限制會導致錯誤或輸出被截斷。使用 Tiktoken,您可以驗證輸入長度並確保它符合標記限制。
結論
Tiktoken 是一個開源分詞庫,它提供針對 OpenAI 語言模型量身定制的速度和效率。
了解如何使用 Tiktoken 編碼和解碼文本及其各種編碼模型,可以極大地增強您使用大型語言模型的工作。
獲得頂級 AI 認證
證明您可以有效且負責任地使用 AI。獲得認證,獲得聘用
以上是tiktoken教程:Openai&#x27的Python圖書館用於令牌文本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

革新結帳體驗 Sam's Club的創新性“ Just Go”系統建立在其現有的AI驅動“掃描和GO”技術的基礎上,使會員可以在購物旅行期間通過Sam's Club應用程序進行掃描。

NVIDIA在GTC 2025上的增強可預測性和新產品陣容 NVIDIA是AI基礎架構的關鍵參與者,正在專注於提高其客戶的可預測性。 這涉及一致的產品交付,達到績效期望以及

Google的Gemma 2:強大,高效的語言模型 Google的Gemma語言模型家族以效率和性能而慶祝,隨著Gemma 2的到來而擴展。此最新版本包括兩種模型:270億個參數VER

這一領先的數據劇集以數據科學家,天體物理學家和TEDX演講者Kirk Borne博士為特色。 Borne博士是大數據,AI和機器學習的著名專家,為當前狀態和未來的Traje提供了寶貴的見解

這次演講中出現了一些非常有見地的觀點——關於工程學的背景信息,這些信息向我們展示了為什麼人工智能如此擅長支持人們的體育鍛煉。 我將從每位貢獻者的觀點中概括出一個核心思想,以展示三個設計方面,這些方面是我們探索人工智能在體育運動中應用的重要組成部分。 邊緣設備和原始個人數據 關於人工智能的這個想法實際上包含兩個組成部分——一個與我們放置大型語言模型的位置有關,另一個與我們人類語言和我們的生命體徵在實時測量時“表達”的語言之間的差異有關。 Alexander Amini 對跑步和網球都很了解,但他還

卡特彼勒(Caterpillar)的首席信息官兼高級副總裁傑米·恩格斯特(Jamie Engstrom)領導了一支由28個國家 /地區的2200多名IT專業人員組成的全球團隊。 在卡特彼勒(Caterpillar)工作了26年,其中包括她目前的四年半,Engst

Google Photos的新Ultra HDR工具:快速指南 使用Google Photos的新型Ultra HDR工具增強照片,將標準圖像轉換為充滿活力的高動態範圍傑作。對於社交媒體而言,此工具可提高任何照片的影響,

介紹 交易控制語言(TCL)命令在SQL中對於管理數據操縱語言(DML)語句的更改至關重要。 這些命令允許數據庫管理員和用戶控制事務過程


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

Atom編輯器mac版下載
最受歡迎的的開源編輯器