Better search than OpenAI text-embedding‑3‑large, 53% cheaper
SIE runs open-source embedding models behind one API. Embed your documents and your users’ questions, and the passage that answers each question comes back first, for site search, document assistants and agent memory.
SIE Qwen3 Embedding 4B
Rule that applies firstQuestion Once my boarding pass has been scanned at the gate, can the airline still bump me off an overbooked flight?
- 1 14 CFR 250.7(a) 14 CFR Part 250, Oversales
A covered air carrier may not deny a revenue passenger traveling on a confirmed reservation permission to board, or involuntarily remove that passenger from the aircraft, once a revenue passenger has: (1) Checked in for the flight prior to the check-in deadline; and (2) Had their ticket or boarding pass collected or electronically scanned and accepted by the gate agent.
If the flight is overbooked, no one will be denied a seat until airline personnel first ask for volunteers willing to give up their reservation in exchange for compensation of the airline's choosing. If there are not enough volunteers, the airline will deny boarding to other persons in accordance with its particular boarding priority.
The answer came second.
OpenAI's embeddings put the look-alike rule first
OpenAI text-embedding-3-large
Offsets setting firstQuestion What's the default number of blocks cached for the pg_multixact members cache, not the offsets cache?
- 1 PostgreSQL, multixact_offset_buffers ( integer ) PostgreSQL documentation, Server Configuration
Specifies the amount of shared memory to use to cache the contents of pg_multixact/offsets (see). If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The default value is 16. This parameter can only be set at server start.
- 2 PostgreSQL, multixact_member_buffers ( integer ) PostgreSQL documentation, Server Configuration
Specifies the amount of shared memory to use to cache the contents of pg_multixact/members (see). If this value is specified without units, it is taken as blocks, that is BLCKSZ bytes, typically 8kB. The default value is 32. This parameter can only be set at server start.
OpenAI text-embedding-3-large
Oral-statement rule firstQuestion If law enforcement gives us a written statement asking us to hold breach notification, how long must we delay it for
- 1 45 CFR 164.412(b) 45 CFR 164 Subpart D, Breach Notification
(b) If the statement is made orally, document the statement, including the identity of the official making the statement, and delay the notification, notice, or posting temporarily and no longer than 30 days from the date of the oral statement, unless a written statement as described in paragraph (a) of this section is submitted during that time.
- 3 45 CFR 164.412(a) 45 CFR 164 Subpart D, Breach Notification
(a) If the statement is in writing and specifies the time for which a delay is required, delay such notification, notice, or posting for the time period specified by the official; or
- plastic-labs / honcho Document (memory) retrieval should use hybrid search (semantic + full-text), not pure embedding #967
This causes systematic failures when retrieving memories containing precise numbers, proper nouns, and brand names
- arXiv:2405.20362 Stanford study: retrieval-based legal AI tools still gave false or unsupported answers to 17% to 33% of questions
Hallucination-Free? Assessing the Reliability of Leading AI Legal Research Tools
“We demonstrate that the providers' claims are overstated.”
Better than OpenAI text-embedding‑3‑large, 53% cheaper; 50% cheaper than Voyage 4 Large
- Tested
- 6,200 questions from 8 public benchmarks: science, finance, legal, medical and programming
- Scored
- A relevant passage is the first result
- Prices
- SIE Serverless and provider list prices
Encode the question and passages into vectors
from sie_sdk import SIEClientclient = SIEClient(api_key="sk-sie-…")query = "queryOur clinic's breach only affected 200 patients, when do we have to notify HHS about it?"documents = [ "document 1(b) Implementation specifications: Breaches involving 500 or more individuals. For breaches of unsecured protected···section contemporaneously with the notice required by § 164.404(a) and in the manner specified on the HHS Web site.", "document 2(c) Implementation specifications: Breaches involving less than 500 individuals. For breaches of unsecured protected···this section for breaches discovered during the preceding calendar year, in the manner specified on the HHS web site.", "document 3(a) Standard. For a breach of unsecured protected health information involving more than 500 residents of a State or jurisdiction, a covered entity shall, following the discovery of the breach as provided in § 164.404(a)(2), notify prominent media outlets serving the State or jurisdiction.",]model = "modelQwen/Qwen3-Embedding-4B"q = client.encode(model, [{"text": query}], is_query=True)[0]["dense"]docs = client.encode(model, [{"text": d} for d in documents])print(q)print([v["dense"] for v in docs])import { SIEClient } from '@superlinked/sie-sdk';
const client = new SIEClient(undefined, { apiKey: 'sk-sie-…' });
const query = "Our clinic's breach only affected 200 patients, when do we have to notify HHS about it?";
const documents = [
"(b) Implementation specifications: Breaches involving 500 or more individuals. For breaches of unsecured protected···section contemporaneously with the notice required by § 164.404(a) and in the manner specified on the HHS Web site.",
"(c) Implementation specifications: Breaches involving less than 500 individuals. For breaches of unsecured protected···this section for breaches discovered during the preceding calendar year, in the manner specified on the HHS web site.",
"(a) Standard. For a breach of unsecured protected health information involving more than 500 residents of a State or jurisdiction, a covered entity shall, following the discovery of the breach as provided in § 164.404(a)(2), notify prominent media outlets serving the State or jurisdiction.",
];
const model = 'Qwen/Qwen3-Embedding-4B';
const [queryVector] = await client.encode(model, [{ text: query }], { outputTypes: ['dense'], isQuery: true });
const documentVectors = await client.encode(model, documents.map((text) => ({ text })), { outputTypes: ['dense'] });
console.log(queryVector?.dense);
console.log(documentVectors.map((vector) => vector.dense));# Encode the query with is_query, then the candidate documents.
curl https://api.superlinked.com/v1/encode/Qwen%2FQwen3-Embedding-4B \
-H "Authorization: Bearer sk-sie-…" \
-H "Content-Type: application/json" \
-d "{\"items\":[{\"text\":\"Our clinic's breach only affected 200 patients, when do we have to notify HHS about it?\"}],\"params\":{\"output_types\":[\"dense\"],\"options\":{\"is_query\":true}}}"
curl https://api.superlinked.com/v1/encode/Qwen%2FQwen3-Embedding-4B \
-H "Authorization: Bearer sk-sie-…" \
-H "Content-Type: application/json" \
-d "{\"items\":[{\"text\":\"(b) Implementation specifications: Breaches involving 500 or more individuals. For breaches of unsecured protected···section contemporaneously with the notice required by § 164.404(a) and in the manner specified on the HHS Web site.\"},{\"text\":\"(c) Implementation specifications: Breaches involving less than 500 individuals. For breaches of unsecured protected···this section for breaches discovered during the preceding calendar year, in the manner specified on the HHS web site.\"},{\"text\":\"(a) Standard. For a breach of unsecured protected health information involving more than 500 residents of a State or jurisdiction, a covered entity shall, following the discovery of the breach as provided in § 164.404(a)(2), notify prominent media outlets serving the State or jurisdiction.\"}],\"params\":{\"output_types\":[\"dense\"]}}"Build the "Search" capability into my app using the Superlinked Inference Engine (SIE).
Context
- SIE is an OpenAI-style inference API. Python SDK: `from sie_sdk import SIEClient`; TypeScript: `@superlinked/sie-sdk`.
- Base URL: https://api.superlinked.com (or my regional endpoint). Auth: Bearer key from env `SIE_API_KEY` (never hard-code it).
- Model: Qwen/Qwen3-Embedding-4B (SIE primitive: /encode). Keep the model id configurable.
Task
- Input: a query string plus a list of candidate documents.
- Behaviour: return the native dense vectors for the query and candidate documents
- Send two POST /v1/encode requests: one item {text: query} with params {output_types: ["dense"], options: {is_query: true}}, then all candidate documents with params {output_types: ["dense"]}. Return the decoded dense vectors in input order. In Python, use encode(..., is_query=True) only for the query call and read each returned ["dense"] array. In TypeScript, use client.encode with outputTypes: ["dense"] for both calls and isQuery: true only for the query, then read each returned .dense array. Native output is vectors; the page computes cosine ranking from its recorded vectors. Keep ranking logic outside the API example. Do not issue one request per candidate.
Deliverables
- A typed client wrapper, an application-level function for this task, error handling for timeouts/empty input, and unit tests with a stubbed client.
- Wire it into my existing stack (ask me which framework if unclear) and add a short usage example.- Cosine ranking from returned vectors
Embed 53% cheaper than OpenAI text-embedding‑3‑large
Serverless API
We host the models; you call one API.
- No idle GPUs, pay for what you use
- Fits your stack: SDK, API, CLI, MCP
- Self-host the same open-source engine
- SOC 2 Type 2, US or EU data residency
- Create an account to try Serverless
Self-hosted (Kubernetes)
Your data stays in your cloud, backed by our engineers.
- Terraform modules for your cloud
- Apache-2.0, same engine as Serverless
- GPU workers scale to zero between jobs
- Separate worker pools for each tenant
Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Google Cloud project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Azure subscription with the superlinked/sie/azure Terraform module. Docs: superlinked.com/docs/deployment.Deploy SIE to our Alibaba Cloud account with the superlinked/sie/alicloud Terraform module. Docs: superlinked.com/docs/deployment. Run locally
The open-source server on your own machine.
- NVIDIA
- One container, no cluster
- Process your data fully offline
- Same SDK and model IDs as Serverless
docker run --gpus all -p 8080:8080 -e SIE_BUNDLE=sglang-embedding ghcr.io/superlinked/sie-server:latest-cuda12-sglang