Heim > Technologie-Peripheriegeräte > KI > Erkundung von Text-Embedding-3-Large: Ein umfassender Leitfaden für die neuen OpenAI-Einbettungen

Erkundung von Text-Embedding-3-Large: Ein umfassender Leitfaden für die neuen OpenAI-Einbettungen

Jennifer Aniston
Freigeben: 2025-03-07 09:41:10
Original
293 Leute haben es durchsucht

OpenAs neueste Texteinbettungsmodelle text-embedding-3-large und text-embedding-3-small revolutionieren die Textanalyse. Dieser Artikel untersucht ihre Fähigkeiten, Anwendungen und die praktische Verwendung.

Einbettungen übersetzen die menschliche Sprache in maschinenlesbare Formate, entscheidend für AI-Aufgaben. Die neuen Modelle von OpenAI verbessern diesen Prozess für Entwickler und Datenwissenschaftler erheblich. Wir werden ihre Kernfunktionen, Anwendungen und effektive Implementierung abdecken.

Textbettdings

verstehen

Texteinbettungen sind numerische Darstellungen, die die semantische Bedeutung von Text erfassen. Sie sind für verschiedene NLP -Aufgaben, einschließlich Stimmungsanalyse und Textklassifizierung, von wesentlicher Bedeutung. Unser Leitfaden "Einführung in Texteinbettungen mit der OpenAI -API" bietet einen umfassenden Überblick über die Verwendung der OpenAI -API zum Einbetten der Erstellung.

Exploring Text-Embedding-3-Large: A Comprehensive Guide to the new OpenAI Embeddings

Text -Einbettungsabbildung

Neuankömmlinge für Einbettungen sollten unsere "Einführung in die Einbettung mit dem OpenAI -API -Kurs konsultieren.

OpenAIs neue Einbettungsmodelle

veröffentlicht am 25. Januar 2024 sind diese Modelle Text im hochdimensionalen Raum für ein verbessertes Verständnis. text-embedding-3-small priorisiert Geschwindigkeit und Speicher, während text-embedding-3-large überlegene Genauigkeit bietet. Der Parameter dimensions ermöglicht das Einstellen von text-embedding-3-large auf 1536 Abmessungen (aus seinem nativen 3072) ohne signifikanten Leistungsverlust.

Benchmarking

text-embedding-3-large übertrifft frühere Modelle (einschließlich text-embedding-ada-002) auf Miracl- und MTEB -Benchmarks. Die folgende Tabelle fasst den Vergleich zusammen:

width = "99"> 8191
Model Dimension Max token Knowledge cutoff Pricing ($/1k tokens) MIRACL average MTEB average
ada v2 1536 8191 September 2021 0.0001 31.4 61.0
text-embedding-3-small 0.00002 44.0 62.3
text-embedding-3-large 3072 0.00013 54.9 64.6
Model
Dimension Max token Knowledge cutoff Pricing ($/1K -Token) Miracl -Durchschnitt MTEB -Durchschnitt
ada v2 September 2021 0.0001 31.4 61.0
text-embedding-3-small 0.00002 44.0 6 2.3
textembeding-3-large 3072 0,00013 54.9 64.6

höhere Dimensionen in text-embedding-3-large (3072 gegenüber 1536) verbessern die Leistung, erhöhen jedoch die Kosten. Die Modellauswahl hängt von den Aufgabenanforderungen (mehrsprachige Anforderungen, Textkomplexität, Budget) ab. text-embedding-3-large zeichnet sich in komplexen, mehrsprachigen Szenarien aus, während text-embedding-3-small budgetbewusste Anwendungen entspricht.

Anwendungen

Beide Modelle finden verschiedene Anwendungen:

text-embedding-3-large Anwendungen:

Exploring Text-Embedding-3-Large: A Comprehensive Guide to the new OpenAI Embeddings

Anwendungen von Text-Embedding-3-Large (Bilder, die mit GPT-4 erzeugt wurden)

  • Mehrsprachige Kundensupportautomatisierung (18 Sprachen)
  • Fortgeschrittene semantische Suchmaschinen
  • Empfehlungssysteme für Kreuzungsinhalte

text-embedding-3-small Anwendungen:

Exploring Text-Embedding-3-Large: A Comprehensive Guide to the new OpenAI Embeddings

Anwendungen von Text-Embedding-3-small (Bild mit GPT-4)

  • kostengünstige Stimmungsanalyse
  • skalierbare Inhaltskategorisierung
  • Effiziente Sprachlernwerkzeuge

Schritt-für-Schritt-Anleitung: Dokument Ähnlichkeit

Diese Anleitung verwendet den Cord-19-Datensatz (verfügbar auf Kaggle), um die Ähnlichkeit der Dokumente unter Verwendung aller drei Modelle zu demonstrieren. Installieren Sie die erforderlichen Bibliotheken:
pip -q install tiktoken openai
Nach dem Login kopieren

Bibliotheken importieren:
import os
import tiktoken
import numpy as np
import pandas as pd
from openai import OpenAI
from sklearn.metrics.pairwise import cosine_similarity
Nach dem Login kopieren

Last- und Vorverarbeitungsdaten (eine 1000-dokumentale Probe wird für die Kürze verwendet):
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)
Nach dem Login kopieren

Setzen Sie den OpenAI -API -Schlüssel und erstellen Sie Client:
os.environ["OPENAI_API_KEY"] = "YOUR KEY"
client = OpenAI()
Nach dem Login kopieren

erzeugen Einbettungen:
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"))
Nach dem Login kopieren

Finden Sie ähnliche Dokumente mit Kosinusähnlichkeit:
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")
Nach dem Login kopieren

Schlussfolgerung

Die neuen Einbettungsmodelle von OpenAI bieten wesentliche Verbesserungen bei NLP. Die Auswahl zwischen text-embedding-3-large und text-embedding-3-small hängt von den Anforderungen der spezifischen Anwendung, den Ausgleichsgenauigkeit und den Kosten ab. Dieser Leitfaden bietet die Tools, um diese leistungsstarken Modelle in verschiedenen Projekten effektiv zu nutzen. Weitere Ressourcen für die OpenAI-API und die Feinabstimmung sind verfügbar.

Das obige ist der detaillierte Inhalt vonErkundung von Text-Embedding-3-Large: Ein umfassender Leitfaden für die neuen OpenAI-Einbettungen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage