Find the right page without flattening it
Superlinked gives your agent one API to search rendered PDF pages, keep their layout intact and return the evidence that matches each query.
Explain the design principles and functional purposes of the hand signal system described for communication during aircraft refueling operations.
General refueling precautions
The hand-signal page
Layout moves the right page up the ranking
What is the percentage point difference in permanent contract rates between mobile EU healthcare workers and host-country nationals in 2023?
#11 → #1A labour-mobility overview
The boxed contract-rate finding
percentage increase in Morgan Stanley revenue from 2023 to 2024
#25 → #2A risk-weighted-assets table
Revenue bars and the stated 14% increase
percentage of individuals with digital skills in Bulgaria
#8 → #2A Social Scoreboard table
Bulgaria in the digital-skills chart
Run visual search on your own PDF pages
import numpy as npfrom sie_sdk import SIEClientclient = SIEClient( api_key="API keysk-sie-…", base_url="https://api.superlinked.com",)query = "queryDid JPMorganChase execute more than half of its planned $30 billion stock repurchase program by year-end?"pages = [ imagejpmorgan-2024-p106.jpgbrowse, imagejpmorgan-2024-p107.jpgbrowse, imagejpmorgan-2024-p108.jpgbrowse,]q = client.encode( "modelvidore/colpali-v1.3-hf", [{"text": query}], output_types=["multivector"], is_query=True,)[0]["multivector"]docs = client.encode( "modelvidore/colpali-v1.3-hf", [{"images": [page]} for page in pages], output_types=["multivector"], is_query=False,)def maxsim(query_vectors, page_vectors): return sum(max(qt @ dt for dt in page_vectors) for qt in query_vectors)scores = [maxsim(q, doc["multivector"]) for doc in docs]for i in np.argsort(scores)[::-1]: print(f"{scores[i]:.3f} {pages[i]}")page_0=$(base64 < 'jpmorgan-2024-p106.jpg' | tr -d '\n')
page_1=$(base64 < 'jpmorgan-2024-p107.jpg' | tr -d '\n')
page_2=$(base64 < 'jpmorgan-2024-p108.jpg' | tr -d '\n')
curl https://api.superlinked.com/v1/encode/vidore%2Fcolpali-v1.3-hf \
-H "Authorization: Bearer sk-sie-…" \
-H "Content-Type: application/json" \
-d "{\"items\":[{\"text\":\"Did JPMorganChase execute more than half of its planned \$30 billion stock repurchase program by year-end?\"}],\"params\":{\"output_types\":[\"multivector\"],\"is_query\":true}}"
curl https://api.superlinked.com/v1/encode/vidore%2Fcolpali-v1.3-hf \
-H "Authorization: Bearer sk-sie-…" \
-H "Content-Type: application/json" \
-d "{\"items\":[{\"images\":[{\"data\":\"$page_0\",\"format\":\"jpeg\"}]},{\"images\":[{\"data\":\"$page_1\",\"format\":\"jpeg\"}]},{\"images\":[{\"data\":\"$page_2\",\"format\":\"jpeg\"}]}],\"params\":{\"output_types\":[\"multivector\"],\"is_query\":false}}"Build the "Visual document 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: vidore/colpali-v1.3-hf (SIE primitive: /encode). Keep the model id configurable.
Task
- Input: a text query plus one or more document page images.
- Behaviour: return document pages ranked by late-interaction relevance to the query
- Call the selected SIE primitive once per request and map the response into your domain type.
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.
1top match
2
3- Ranks page pixels without flattening the layout
- Matches query tokens to tables, charts and text
Visual document retrieval quality and latency
Deploy your way
Managed Cloud
Full compute toolkit for your agents with zero ops.
- No idle GPUs, pay for what you use
- Fits your stack: SDK, API, CLI, MCP
- Zero lock-in, self-host the same stack
- SOC 2 Type 2, US or EU data residency
no credit card required
Self-host with K8s
Easy & scalable deployment in your own cloud.
- Terraform to your cloud in minutes
- Apache-2.0, same engine as Cloud
- Scales to zero, no bill between jobs
- Per-tenant pools, no noisy neighbors
Deploy SIE to our AWS account with the superlinked/sie/aws Terraform module. Docs: superlinked.com/docs/deploymentDeploy SIE to our GCP project with the superlinked/sie/google Terraform module. Docs: superlinked.com/docs/deploymentDeploy SIE to our Azure AKS cluster via helm install. Requirements: superlinked.com/docs/deployment Run locally
Run the same models on your own machine.
- Runs on NVIDIA GPU or Apple Silicon
- One command, no Docker or cluster
- All 100+ Cloud models, fully offline
- Same SDK and IDs, no code changes
pip install "sie-server[local]" && sie-server servepip install "sie-server[local]" && sie-server serve --device cuda