BAAI: bge-base-en-v1.5
BAAI bge-base-en-v1.5 converts English text into 768-dimensional vectors for semantic search and similarity tasks. Its 512-token input window and query-only retrieval instruction suit focused passages in a document or knowledge-search index.
About the model
This description covers the model’s capabilities. Available in Ailoot inputs, outputs and options are listed for the selected method below.
bge-base-en-v1.5 is BAAI’s base-sized English dense embedding model. It converts each text into a 768-dimensional numerical representation for retrieval and semantic comparison. The model belongs to the BGE v1.5 line, which addresses the earlier family’s similarity-score distribution and improves retrieval when no instruction is supplied. Its output is a vector used to compare texts or find relevant passages.
Prepare queries and passages
For a short query searching longer passages, BAAI recommends prefixing the query with “Represent this sentence for searching relevant passages:”. The corpus passages do not receive that instruction. For other tasks, the original text can be embedded directly. The maker notes that v1.5 works without an instruction as well, so the preparation should be chosen around the task rather than treating the prefix as the only valid input.
A practical search collection can contain help articles, product explanations or technical instructions. A query such as “How do I change the export format?” should retrieve the passage which describes that action. Keep the section heading, relevant conditions and actual source text together. Store the passage’s identifier and location alongside its vector so a search result can return something the user can read or a later answer stage can cite.
Vector format and comparison
The documented representation uses the final hidden state of the first, or CLS, token as the sentence embedding. The manufacturer’s examples normalise the vector and compare normalised embeddings with a dot product, equivalent to cosine similarity. The 768 dimensions are the size of this model’s output representation; they are not a selectable context length or a text-generation allowance.
Use the same model and preparation convention for the query and corpus vectors being compared. A practical check is to retrieve known answer-bearing passages for a small set of actual user questions, then inspect the returned text. A compatible vector shape lets an index store the representation, while the source passage establishes what the result actually says.
Input length and document preparation
The model’s documented sequence length is 512 tokens. A long source should therefore be divided into coherent, answer-bearing passages before embedding. Keep definitions and exceptions with the statement they qualify, and preserve the connection from a passage to its parent document. The text to be embedded includes any instruction or heading you add, so a compact preparation leaves more room for the useful source content.
For a report or manual, choose boundaries around a section or a small group of related paragraphs. A passage that only contains a title or a fragment without its subject may be difficult to interpret when retrieved. Retain the original text and a source version so an index update can replace the corresponding material when the document changes.
Scores and useful output
BAAI cautions that absolute similarity values are not universal thresholds for deciding that two texts mean the same thing. The relative ranking matters, and a filtering threshold should be selected using the distribution on the task’s own data. A high vector similarity is a retrieval signal rather than verification of the passage’s factual content.
The useful deliverable is an English passage index, a set of query vectors or numerical features for semantic comparison. A separate reranker can refine retrieved candidates, and a separate generation stage can write an answer from their text. This exact base English v1.5 model remains distinct from BGE Large, Chinese editions and BGE-M3’s multilingual and hybrid retrieval profiles.
Ailoot Ultra · Embeddings POST /v1/embeddings baai/bge-base-en-v1.5
baai/bge-base-en-v1.5Overview
BAAI bge-base-en-v1.5 converts English text into 768-dimensional vectors for semantic search and similarity tasks. Its 512-token input window and query-only retrieval instruction suit focused passages in a document or knowledge-search index.
- 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 baai/bge-base-en-v1.5 | 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": "baai/bge-base-en-v1.5", "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='baai/bge-base-en-v1.5',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 baai/bge-base-en-v1.5
Method path aliases
Use the method paths shown above.
Related caller IDs
FAQ · BAAI: bge-base-en-v1.5
- What inputs and results are available?
POST /v1/embeddings·baai/bge-base-en-v1.5:text,token_ids→embedding- Which fields does the request use?
POST /v1/embeddings·baai/bge-base-en-v1.5:model,input,encoding_format,provider- What limits apply?
POST /v1/embeddings·baai/bge-base-en-v1.5:input.budget.maximum:512(UTF8 bytes);input.min_items:1