Intfloat: E5-Base-v2
intfloat E5-Base-v2 turns English text into 768-dimensional embeddings with a 12-layer encoder. Query/passage prefixes and a 512-token window define its preparation for search, paraphrase comparison, clustering and text features.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
E5-Base-v2 is intfloat’s twelve-layer English embedding model with a 768-dimensional representation. It turns prepared text into one numerical vector for retrieval, semantic comparison or use as features in another task. The Base v2 checkpoint is distinct from the twenty-four-layer, 1024-dimensional Large v2 edition and the separately trained multilingual E5 models.
Use the trained role prefixes
E5 expects a role at the beginning of the input. For passage retrieval, a question starts with “query:” and its possible answer-bearing source starts with “passage:”. The manufacturer recommends “query:” on both sides for symmetric tasks such as semantic similarity and paraphrase retrieval. It also recommends that prefix when the vectors will be features for clustering or classification.
For example, a feedback collection can contain several differently worded requests for the same improvement. Encode those records with the recommended symmetric preparation, then compare or cluster the resulting vectors. Keep the original wording and record identifier with each representation so a cluster can be examined as actual customer messages rather than an unexplained group of numbers.
For a search collection, prepare questions and source passages in their corresponding roles. A useful query is “query: Which setting changes the notification frequency?” The corpus passage retains the explanation and its relevant conditions. The prefix is part of the model’s trained preparation; the maker notes that omitting it reduces performance.
Pool and compare the representation
The official example computes an attention-mask-aware average of the token representations, excluding padding, then normalises the resulting vector. A dot product between normalised embeddings provides cosine similarity. The 768 output values describe one text; they are not an answer, a class label or a pairwise reranker score.
In a clustering workflow, another stage forms groups from those vectors. In a classification workflow, another stage uses them as input features. Retaining that distinction makes the result easier to interpret: the embedding represents the record, while the downstream task determines a group or label. Use one model and preparation convention consistently for the representations being compared.
Work within English and 512 tokens
The model card says this edition works only for English and truncates long text to at most 512 tokens. Prepare coherent passages inside that span, including the required role prefix. A long review, report or manual should be divided around meaningful sections rather than embedded as an oversized input whose tail is lost.
Keep a heading with the sentences it introduces, and preserve the condition or exception that changes the meaning of a rule. For short records such as feedback, retain the complete message when it fits. A source identifier and version kept beside the vector let a later collection update replace the correct record.
Interpret similarity for the task
The maker explains that relative cosine-score order is more important than an absolute value. A filtering threshold should be assessed on the collection’s own examples, and vector similarity is not a calibrated probability of a matching label or correct answer. Inspect nearby records and known mismatches when deciding how the vectors will be used.
The useful deliverable is an English search index, a semantic comparison set or numerical text features paired with their source records. This Base v2 profile supplies its own dimensions, pooling and role preparation; another E5 edition’s vector shape or language coverage does not establish an interchangeable representation.
Ailoot Ultra · Embeddings POST /v1/embeddings intfloat/e5-base-v2
intfloat/e5-base-v2Overview
intfloat E5-Base-v2 turns English text into 768-dimensional embeddings with a 12-layer encoder. Query/passage prefixes and a 512-token window define its preparation for search, paraphrase comparison, clustering and text features.
- Accepted inputs
- Text · token_ids
- Results
- embedding
Available in Ailoot · inputs & methods
Ailoot Ultra · Embeddings POST /v1/embeddings
- Input types
text,token_ids- Output types
embedding- Output format
- json
| Field | Type | Requirement | Values & limits | Default |
|---|---|---|---|---|
Fieldmodel | Typestring | RequirementRequired | Values & limits intfloat/e5-base-v2 | Default— |
Fieldinput | Typestring|string[]|integer[]|integer[][] | RequirementRequired | Values & limits Minimum items: 1 Conditions: Nonempty homogeneous batch. Token IDs are nonnegative integers. Input budget: Maximum: 512 · Text unit: UTF8 bytes · Token unit: token-array elements | Default— |
Fieldencoding_format | Typestring | RequirementOptional | Values & limits float | Defaultfloat |
Fielddimensions | Typeinteger | RequirementNot supported | Values & limits Minimum: 1 | Default— |
Fielduser | Typejson_value | RequirementOptional | Values & limits Conditions: Source allows this JSON metadata field; exact upstream semantics are model-specific. | Default— |
Fieldsession_id | Typejson_value | RequirementOptional | Values & limits Conditions: Source allows this JSON metadata field; exact upstream semantics are model-specific. | Default— |
Fieldtrace | Typejson_value | RequirementOptional | Values & limits Conditions: Source allows this JSON metadata field; exact upstream semantics are model-specific. | Default— |
Fieldprovider | Typeobject | RequirementOptional | Values & limits Conditions: provider.options rejected | Default— |
Input material combinations
text_to_embedding
Method parameters and lifecycle
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, input |
Parameterinput_shapes | Contractstring, string[], nonnegative_integer_token_array, nonnegative_integer_token_array[] |
Parameterencoding_format | Contractfloat |
Parameterdimensions_override | Contractfalse |
Parametermax_input_budget_units | Contract512 |
Parametermultimodal_objects | Contractfalse |
Parametermaterial_types | Contracttext, token_ids |
Lifecycle: synchronous_json
Keep every vector index and dimension.
Multimodal model name does not admit image objects on this exact path.
Pricing
Tariff references do not add request options. Supported parameters are listed for the selected method.
- Fast mode
- Not specified When fast mode is selected
- Flex mode
- Not specified When flex mode is selected
- Maximum reasoning effort
- Not specified When maximum reasoning effort uses the default adjustment
Ailoot rates
Prices by configuration
| Configuration | Rate schedule | Charge |
|---|---|---|
| ConfigurationBase token rates | Rate scheduleBase rate | Charge Input · Input tokens $0.00001 / 1K tokens Output · Output tokens $0 / 1K tokens Input · Cache read — / 1K tokens Input · Cache write — / 1K tokens Input · Cache write, 1 hour — / 1K tokens |
Ailoot reserves an estimated amount before a request. After the result, it settles the final charge from measured usage. Streaming settlement uses the final usage record. How reservation and settlement work →
Example requests
Ailoot Ultra · Embeddings
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "intfloat/e5-base-v2", "input": ["First document", "Second document"]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/embeddings \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("data",[]): print(json.dumps({"index":x.get("index"),"embedding":x.get("embedding")}))
PY_RESULT
from openai import OpenAI
import os
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.embeddings.create(model='intfloat/e5-base-v2',input=["First document","Second document"])
print(result)
for item in result.data:print(item.index,item.embedding)
Receive and save results
Ailoot Ultra · Embeddings
json
Keep all completed results
Keep every complete returned response, file and content part.
Keep every vector with its index. Vector count must equal input count; dimensions must be consistent.
If the original response needs checking
No embedding job endpoint is introduced.
Response fields
| Field | Type |
|---|---|
Fieldobject | Typestring |
Fieldmodel | Typestring |
Fielddata[].index | Typeinteger |
Fielddata[].embedding | Typefinite float[] |
Fieldusage | Typeobject |
Errors and next steps
| Response | Condition | Next step |
|---|---|---|
Response400 · invalid_request_error | ConditionInvalid required fields, material representation or parameter value | Next stepCorrect the indicated fields before a new creation request. |
Aliases
Model aliases
Ailoot Ultra intfloat/e5-base-v2
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · Intfloat: E5-Base-v2
- What inputs and results are available?
POST /v1/embeddings·intfloat/e5-base-v2:text,token_ids→embedding- Which fields does the request use?
POST /v1/embeddings·intfloat/e5-base-v2:model,input,encoding_format,provider- What limits apply?
POST /v1/embeddings·intfloat/e5-base-v2:input.budget.maximum:512(UTF8 bytes);input.min_items:1