The text-embedding-3-small is a highly efficient, flexible model with improved performance over its predecessor, text-embedding-ada-002, in various natural language processing tasks.
Embeddings are critical in representing concepts within content such as natural language or code in a form that machine learning models can understand. The text-embedding-3-small is a highly efficient model designed to improve performance over its predecessor, the text-embedding-ada-002, released in December 2022.
text-embedding-3-small Model
The text-embedding-3-small model is a new, highly efficient embedding model designed to significantly upgrade over its predecessor, the text-embedding-ada-002 model. It converts text into a sequence of numbers, representing the underlying concepts effectively for machine learning applications.
Run Openai embedding Model with an API
Running the API with Clarifai's Python SDK
You can run the Embedding-3-small Model Model API using Clarifai’s Python SDK.
Export your PAT as an environment variable. Then, import and initialize the API Client.
from clarifai.client.model import Model
text ='''In India Green Revolution commenced in the early 1960s that led to an increase in food grain production, especially in Punjab, Haryana, and Uttar Pradesh. Major milestones in this undertaking were the development of high-yielding varieties of wheat. The Green revolution is revolutionary in character due to the introduction of new technology, new ideas, the new application of inputs like HYV seeds, fertilizers, irrigation water, pesticides, etc. As all these were brought suddenly and spread quickly to attain dramatic results thus it is termed as a revolution in green agriculture.
'''# The number of dimensions the resulting output embeddings should haveinference_params =dict(dimensions =1024)# Model Predictmodel_prediction = Model("https://clarifai.com/openai/embed/models/text-embedding-3-small").predict_by_bytes(text.encode(),"text", inference_params=inference_params)# print(model_prediction.outputs[0].data.text.raw)embeddings = model_prediction.outputs[0].data.embeddings[0].vector
num_dimensions= model_prediction.outputs[0].data.embeddings[0].num_dimensions
You can also run Openai Embedding API using other Clarifai Client Libraries like Java, cURL, NodeJS, PHP, etc here.
Comparison with text-embedding-ada-002
The text-embedding-3-small outperforms the older text-embedding-ada-002 model, showcasing better performance in benchmarks. Notably, it achieves an average score of 44.0% on the MIRACL benchmark (up from 31.4%) and 62.3% on the MTEB benchmark (up from 61.0%).
Performance Comparison
Eval Benchmark
ada v2
text-embedding-3-small
text-embedding-3-large
MIRACL average
31.4
44.0
54.9
MTEB average
61.0
62.3
64.6
Use Cases
Embeddings are commonly used for:
Search (where results are ranked by relevance to a query string)
Clustering (where text strings are grouped by similarity)
Recommendations (where items with related text strings are recommended)
Anomaly detection (where outliers with little relatedness are identified)
Diversity measurement (where similarity distributions are analyzed)
Classification (where text strings are classified by their most similar label)
Evaluation
The model was evaluated using benchmarks like MIRACL and MTEB, where it demonstrated significant improvements over its predecessor.
Benchmark
text-embedding-ada-002
text-embedding-3-small
MIRACL average
31.4
44.0
MTEB average
61.0
62.3
Advantages
Stronger Performance: text-embedding-3-small outperforms text-embedding-ada-002, demonstrating improved average scores on benchmarks.
Native Support for Shortening Embeddings: The model allows developers to adjust the embedding size (dimensions) without significantly losing conceptual representation.
Native Support for Shortening Embeddings
text-embedding-3-small introduces a novel feature that allows developers to shorten embeddings without significantly losing the concept-representing properties. This is particularly useful in scenarios where resource constraints are a concern, such as when dealing with vector data stores with dimensional limitations.
Embedding Shortening Performance
Model
Embedding Size
Average MTEB Score
ada v2
1536
61.0
text-embedding-3-small
512
61.6
text-embedding-3-large
1536
64.6
This flexibility enables developers to use text-embedding-3-large even in environments with dimensional constraints, ensuring access to the model's high performance while managing resource usage effectively.
Limitations
Trade-off Between Size and Accuracy: While the model allows size adjustments, there is a trade-off between embedding size and accuracy.
ID
Model Type ID
Text Embedder
Input Type
text
Output Type
embeddings
Description
The text-embedding-3-small is a highly efficient, flexible model with improved performance over its predecessor, text-embedding-ada-002, in various natural language processing tasks.