首頁 >科技週邊 >人工智慧 >使用OpenAI API利用文本嵌入:實用指南

使用OpenAI API利用文本嵌入:實用指南

Lisa Kudrow
Lisa Kudrow原創
2025-03-11 09:19:11221瀏覽

文本嵌入是自然語言處理(NLP)的基石,提供了文本的數值表示,其中單詞或短語成為真實數字的密集向量。這使機器可以理解語義含義和單詞之間的關係,從而顯著提高其處理人類語言的能力。

這些嵌入對於文本分類,信息檢索和語義相似性檢測等任務至關重要。 Openai推薦了ADA V2模型來創建它們,從而利用GPT系列的強度來捕獲文本中的上下文含義和關聯。

在繼續之前,假定對OpenAI的API和openai Python軟件包的熟悉程度(請參閱“使用Python中的OpenAI API使用GPT-3.5和GPT-4”以獲取指導。了解聚類,尤其是K-均值,也很有幫助(請參閱“與Scikit-Learn在Python中介紹K-Means聚類的簡介”)。

文本嵌入的應用:

文本嵌入在許多領域中找到應用程序,包括:

  • 文本分類:建立精確的模型,以進行情感分析或主題標識。
  • 信息檢索:檢索與特定查詢相關的信息,模仿搜索引擎功能。
  • 語義相似性檢測:識別和量化文本片段之間的語義相似性。
  • 建議系統:通過了解文本交互中的用戶偏好來增強建議質量。
  • 文本生成:生成更連貫和上下文相關的文本。
  • 機器翻譯:通過捕獲跨語義語義含義來改善機器翻譯質量。

設置和安裝:

需要以下python軟件包: osopenaiscipy.spatial.distancesklearn.cluster.KMeansumap.UMAP 。使用:

 PIP安裝-U Openai Scipy Plotly-Express Scikit-Learn Umap-learn

導入所需的庫:

導入操作系統
進口Openai
從scipy.Spatial進口距離
導入plotly.extress為px
來自Sklearn.Cluster Import Kmeans
來自UMAP進口UMAP

配置您的OpenAI API密鑰:

 openai.api_key =”<your_api_key_here> “</your_api_key_here>

(請記住要替換<your_api_key_here></your_api_key_here>使用您的實際鑰匙。)

生成嵌入:

該輔助功能使用text-embedding-ada-002模型生成嵌入:

 def get_embedding(text_to_embed):
    響應= openai.embedding.create(
        型號=“ text-embedding-ada-002”,
        輸入= [text_to_embed]
    )
    嵌入=響應[“數據”] [0] [“嵌入”]
    返回嵌入

數據集和分析:

此示例使用Amazon樂器評論數據集(可在Kaggle或作者的GitHub上找到)。為了提高效率,使用了100個評論的樣本。

導入大熊貓作為pd

data_url =“ https://raw.githubusercontent.com/keitazoumana/experimentation-data/main/main/musical_instruments_reviews.csv”
評論_df = pd.read_csv(data_url)[['eviewText']]
評論_df =評論_df.sample(100)
評論_df [“嵌入”] = eview_df [“評論Text”]。astype(str).apply(get_embedding)
評論_df.Reset_index(drop = true,inplace = true)

語義相似性:

使用scipy.spatial.distance.pdist()計算的歐幾里得距離測量了回顧嵌入之間的相似性。較小的距離表示更大的相似性。

聚類分析(K-均值):

K-均值聚類小組類似評論。在這裡,使用了三個集群:

 kmeans = kmeans(n_clusters = 3)
kmeanss.fit(review_df [“嵌入”]。tolist())

減少維度(UMAP):

UMAP將嵌入維度降低至兩個以進行可視化:

還原= umap()
embeddings_2d = reducer.fit_transform(eview_df [“ embedding”]。tolist())

可視化:

一個散點圖可視化簇:

無花果= px.scatter(x = embeddings_2d [:,0],y = embeddings_2d [:,1],color = kmeans.labels_)
圖show() 

使用OpenAI API利用文本嵌入:實用指南

進一步探索:

要進行高級學習,請探索微調GPT-3和OpenAI API備忘單上的數據掃描資源。

代碼示例以更簡潔和有組織的方式提出,以提高可讀性和理解。根據要求包含圖像。

以上是使用OpenAI API利用文本嵌入:實用指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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