OpenAI

OpenAI / text-embedding-3-large

Il modello di incorporazione del testo più performante di OpenAI; adattato al testo inglese.

Introduzione a text-embedding-3-large

text-embedding-3-large è il modello di incorporazione del testo di grandi dimensioni di OpenAI, che crea incorporazioni con un massimo di 3072 dimensioni. Rispetto agli altri modelli di incorporamento del testo di OpenAI, come text-embedding-ada-002 e text-embedding-3-large, text-embedding-3-large ha prestazioni migliori e prezzi ridotti.

Diamo una rapida occhiata ad alcune nozioni di base.

ModelloDimensioniGettoni massimiModello MIRACL avgMETB avgPrezzo
text-embedding-3-large3072819154.964.6$0.13 / 1M tokens
text-embedding-ada-0021536819131.461.0$0.10 / 1M tokens
text-embedding-3-small1536819144.062.3$0.02 / 1M tokens

Come generare embeddings vettoriali con il modello text-embedding-3-large

Esistono due modi principali per creare le incorporazioni vettoriali:

  • PyMilvus: l'SDK Python per Milvus che integra perfettamente il modello text-embedding-3-large.
  • OpenAI Embedding: l'SDK Python offerto da OpenAI.

Una volta generate le incorporazioni vettoriali, queste possono essere archiviate in Zilliz Cloud (un servizio di database vettoriale completamente gestito da Milvus) e utilizzate per la ricerca di similarità semantica. Ecco i quattro passaggi chiave:

  1. Iscriviti per un account Zilliz Cloud gratuito.
  2. Configurare un cluster serverless e ottenere il Public Endpoint and API Key.
  3. Creare una collezione di vettori e inserire i propri embeddings vettoriali.
  4. Eseguire una ricerca semantica sugli embeddings memorizzati.

Generare embeddings vettoriali tramite PyMilvus e inserirli in Zilliz Cloud per la ricerca semantica.

da pymilvus.model.dense import OpenAIEmbeddingFunction
da pymilvus import MilvusClient

OPENAI_API_KEY = "la tua-openai-api-chiave"
ef = OpenAIEmbeddingFunction("text-embedding-3-large", api_key=OPENAI_API_KEY)

docs = [
   "L'intelligenza artificiale è stata fondata come disciplina accademica nel 1956",
   "Alan Turing è stato il primo a condurre una ricerca sostanziale sull'intelligenza artificiale",
   "Nato a Maida Vale, Londra, Turing è cresciuto nel sud dell'Inghilterra".
]
# Generare le incorporazioni per i documenti
docs_embeddings = ef(docs)

queries = ["Quando è stata fondata l'intelligenza artificiale",
          "Dove è nato Alan Turing?"]
# Generare embeddings per le query
query_embeddings = ef(queries)

# Connettersi a Zilliz Cloud con l'endpoint pubblico e la chiave API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLEZIONE = "documenti"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(nome_raccolta=COLLEZIONE)
client.create_collection(
    nome_collezione=COLLEZIONE,
    dimensione=ef.dim,
    auto_id=True)

per doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
risultati = client.search(
    nome_collezione=COLLEZIONE,
    dati=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

Per ulteriori informazioni, consultare la nostra [documentazione sul modello di incorporazione di PyMilvus] (https://milvus.io/docs/embeddings.md).

Generare embeddings vettoriali tramite l'SDK Python di OpenAI e inserirli in Zilliz Cloud per la ricerca semantica

da openai importare OpenAI
da pymilvus importare MilvusClient

OPENAI_API_KEY = "la tua-openai-api-chiave"
client = OpenAI(api_key=OPENAI_API_KEY)
# Generare embeddings per i documenti
doc_response = client.embeddings.create(
   input=[
   "L'intelligenza artificiale è stata fondata come disciplina accademica nel 1956",
   "Alan Turing è stato il primo a condurre una ricerca sostanziale sull'intelligenza artificiale",
   "Nato a Maida Vale, Londra, Turing è cresciuto nel sud dell'Inghilterra".
   ],
   model="text-embedding-3-large"
   )
doc_embeddings = [data.embedding for data in doc_response.data]

# Generare embeddings per le query
query_response = client.embeddings.create(
   input=["Quando è stata fondata l'intelligenza artificiale",
          "Dove è nato Alan Turing?"],
   model="text-embedding-3-large"
   )
query_embeddings = [data.embedding for data in query_response.data]

# Connettersi a Zilliz Cloud con l'endpoint pubblico e la chiave API
client = MilvusClient(
    uri=ZILLIZ_PUBLIC_ENDPOINT,
    token=ZILLIZ_API_KEY)

COLLEZIONE = "documenti"
if client.has_collection(collection_name=COLLECTION):
    client.drop_collection(nome_raccolta=COLLEZIONE)
client.create_collection(
    nome_collezione=COLLEZIONE,
    dimensione=3072,
    auto_id=True)

per doc, embedding in zip(docs, docs_embeddings):
    client.insert(COLLECTION, {"text": doc, "vector": embedding})
    
risultati = client.search(
    nome_collezione=COLLEZIONE,
    dati=query_embeddings,
    consistency_level="Strong",
    output_fields=["text"])

Per ulteriori informazioni, consultare OpenAI's Embedding Guide.