探索文本插入-3巨大:新OpenAI嵌入的綜合指南
OpenAI的最新文本嵌入模型text-embedding-3-large
嵌入將人類語言轉化為機器可讀格式,對於AI任務至關重要。 Openai的新模型可為開發人員和數據科學家大大改善這一過程。 我們將介紹他們的核心功能,應用程序和有效的實施。 text-embedding-3-small
理解文本嵌入
>文本嵌入是捕獲文本語義含義的數值表示。 它們對於各種NLP任務至關重要,包括情緒分析和文本分類。 我們的指南“與OpenAI API的文本嵌入式介紹”提供了有關使用OpenAI API嵌入創建的全面概述。
>文本嵌入插圖
嵌入的新移民應諮詢我們的“使用OpenAI API嵌入介紹”課程。 > OpenAi的新嵌入模型
> 這些模型於2024年1月25日發布,這些模型代表了高維空間中的文本,以提高理解。
優先考慮速度和存儲,而>具有較高的精度。 參數允許調整至1536個維度(來自其天然3072),而沒有大量績效損失。
基準測試text-embedding-3-small
text-embedding-3-large
在Miracl和MTEB基準測試上,dimensions
text-embedding-3-large
超過了以前的模型(包括
dimension
max token max token
($/1K令牌)
miracl平均平均
MTEB平均
rowspan =“ 3”> 8191 9月2021 0.0001 31.4 61.0
text-embedding-3-small
0.00002> 0.00002 0.00002
44.0 6 2.3 text-embedding-3-large 3072 0.00013
54.9
64.6 64.6
text-embedding-3-large
(3072 vs. 1536)中的較高維度提高了性能,但增加了成本。模型選擇取決於任務要求(多語言需求,文本複雜性,預算)。 text-embedding-3-large
在復雜的多語言場景中擅長,而適合預算意識的應用程序。
text-embedding-3-small
兩個模型都找到了不同的應用:
應用程序:text-embedding-3-large
> text-embedding-3-large的應用(使用gpt-4生成的圖像)
多語言客戶支持自動化(18種語言)
- 高級語義搜索引擎
- >跨語言內容推薦系統
text-embedding-3-small
> text-embedding-3-small的應用(使用gpt-4生成的圖像)
>成本效益的情感分析
可擴展的內容分類- 有效的語言學習工具
- >逐步指南:文檔相似性
>本指南使用CORD-19數據集(在Kaggle上可用),使用所有三個模型來演示文檔相似性。 安裝必要的庫:
>導入庫:
pip -q install tiktoken openai
import os import tiktoken import numpy as np import pandas as pd from openai import OpenAI from sklearn.metrics.pairwise import cosine_similarity
生成嵌入:
scientific_docs = pd.read_parquet("./data/cord19_df_sample.parquet") def concatenate_columns_with_null_handling(df, body_text_column, abstract_column, title_column, new_col_name): df[new_col_name] = df[body_text_column].fillna('') + df[abstract_column].fillna('') + df[title_column].fillna('') return df new_scientific_docs = concatenate_columns_with_null_handling(scientific_docs, "body_text", "abstract", "title", "concatenated_text") def num_tokens_from_text(text: str, encoding_name="cl100k_base"): encoding = tiktoken.get_encoding(encoding_name) num_tokens = len(encoding.encode(text)) return num_tokens new_scientific_docs['num_tokens'] = new_scientific_docs["concatenated_text"].apply(lambda x: num_tokens_from_text(x)) smaller_tokens_docs = new_scientific_docs[new_scientific_docs['num_tokens'] <= 8191] smaller_tokens_docs_reset = smaller_tokens_docs.reset_index(drop=True)
使用餘弦相似性找到相似的文檔:
os.environ["OPENAI_API_KEY"] = "YOUR KEY" client = OpenAI()
def get_embedding(text_to_embbed, model_ID): text = text_to_embbed.replace("\n", " ") return client.embeddings.create(input=[text_to_embbed], model=model_ID).data[0].embedding smaller_tokens_docs_reset['text-embedding-3-small'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-3-small")) smaller_tokens_docs_reset['text-embedding-3-large'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-3-large")) smaller_tokens_docs_reset['text-embedding-ada-002'] = smaller_tokens_docs_reset["concatenated_text"].apply(lambda x: get_embedding(x, "text-embedding-ada-002"))
def find_top_N_similar_documents(df, chosen_index, embedding_column_name, top_N=3): chosen_document_embedding = np.array(df.iloc[chosen_index][embedding_column_name]).reshape(1, -1) embedding_matrix = np.vstack(df[embedding_column_name]) similarity_scores = cosine_similarity(chosen_document_embedding, embedding_matrix)[0] df_temp = df.copy() df_temp['similarity_to_chosen'] = similarity_scores similar_documents = df_temp.drop(index=chosen_index).sort_values(by='similarity_to_chosen', ascending=False) top_N_similar = similar_documents.head(top_N) return top_N_similar[["concatenated_text", 'similarity_to_chosen']] chosen_index = 0 top_3_similar_3_small = find_top_N_similar_documents(smaller_tokens_docs_reset, chosen_index, "text-embedding-3-small") top_3_similar_3_large = find_top_N_similar_documents(smaller_tokens_docs_reset, chosen_index, "text-embedding-3-large") top_3_similar_ada_002 = find_top_N_similar_documents(smaller_tokens_docs_reset, chosen_index, "text-embedding-ada-002") print("Top 3 Similar Documents with:") print("--> text-embedding-3-small") print(top_3_similar_3_small) print("\n") print("--> text-embedding-3-large") print(top_3_similar_3_large) print("\n") print("--> text-embedding-ada-002") print(top_3_similar_ada_002) print("\n")
之間的選擇取決於特定應用的需求,平衡準確性和成本。 本指南提供了在各種項目中有效利用這些強大模型的工具。 可以提供有關OpenAI API和微調的更多資源。 >
以上是探索文本插入-3巨大:新OpenAI嵌入的綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

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

Meta的Llama 3.2:多模式和移動AI的飛躍 Meta最近公佈了Llama 3.2,這是AI的重大進步,具有強大的視覺功能和針對移動設備優化的輕量級文本模型。 以成功為基礎

嘿,編碼忍者!您當天計劃哪些與編碼有關的任務?在您進一步研究此博客之前,我希望您考慮所有與編碼相關的困境,這是將其列出的。 完畢? - 讓&#8217

本週的AI景觀:進步,道德考慮和監管辯論的旋風。 OpenAI,Google,Meta和Microsoft等主要參與者已經釋放了一系列更新,從開創性的新車型到LE的關鍵轉變

Shopify首席執行官TobiLütke最近的備忘錄大膽地宣布AI對每位員工的基本期望是公司內部的重大文化轉變。 這不是短暫的趨勢。這是整合到P中的新操作範式

介紹 Openai已根據備受期待的“草莓”建築發布了其新模型。這種稱為O1的創新模型增強了推理能力,使其可以通過問題進行思考

介紹 想像一下,穿過美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

Meta's Llama 3.2:多式聯運AI強力 Meta的最新多模式模型Llama 3.2代表了AI的重大進步,具有增強的語言理解力,提高的準確性和出色的文本生成能力。 它的能力t

對於那些可能是我專欄新手的人,我廣泛探討了AI的最新進展,包括體現AI,AI推理,AI中的高科技突破,及時的工程,AI培訓,AI,AI RE RE等主題
