首頁 >科技週邊 >人工智慧 >tiktoken教程:Openai&#x27的Python圖書館用於令牌文本

tiktoken教程:Openai&#x27的Python圖書館用於令牌文本

Jennifer Aniston
Jennifer Aniston原創
2025-03-05 10:30:11870瀏覽

Tiktoken Tutorial: OpenAI's Python Library for Tokenizing Text

分詞是處理自然語言處理 (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 之前,我想提到 OpenAI 有一個標記化 Web 應用程序,您可以在其中查看不同的字符串是如何標記化的——您可以在這裡訪問它。還有一個第三方在線標記器 Tiktokenizer,它支持非 OpenAI 模型。

將文本編碼為標記

要使用 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn