Models & input types
Ahnlich AI ships with a set of pre-trained models. Think of them in five families — pick the family that matches your data, then pick a size. Every model lists an embedding dim: two models are compatible (usable as index + query in one store) only when their dims match.
Each model name links to its source. The mark is a Hugging Face model card; the mark is a project repository.
📝 Text models
For sentences, paragraphs, FAQs, product descriptions — anything written.
| Model | string name | Max input | Embedding dim | Best for |
|---|---|---|---|---|
| ALL-MiniLM-L6-v2 | all-minilm-l6-v2 | 256 tokens | 384 | Fast, lightweight semantic similarity (FAQ search, chatbots). |
| ALL-MiniLM-L12-v2 | all-minilm-l12-v2 | 256 tokens | 384 | Higher accuracy for nuanced text, a bit more compute. |
| BGE-Base-EN-v1.5 | bge-base-en-v1.5 | 512 tokens | 768 | Balanced speed/quality for production. |
| BGE-Large-EN-v1.5 | bge-large-en-v1.5 | 512 tokens | 1024 | Highest precision when latency matters less. |
🖼️ Image models
For photos, product pictures, and other images.
| Model | string name | Max input | Embedding dim | Best for |
|---|---|---|---|---|
| ResNet-50 | resnet-50 | 224×224 px | 2048 | Image-to-image similarity and clustering. |
| CLIP ViT-B/32 (image) | clip-vit-b32-image | 224×224 px | 512 | The image half of text↔image search (pairs with the CLIP text model). |
🧑 Face models
Detect and recognize faces in an image. These return one embedding per detected face, plus metadata (bounding box, confidence, optional age/gender).
| Model | string name | Max input | Embedding dim | Best for |
|---|---|---|---|---|
| Buffalo-L | buffalo-l | 640×640 px | 512 | Detection + recognition, with optional age/gender. Non-commercial use only. |
| SFace + YuNet | sface-yunet | 640×640 px | 128 | Lightweight detection + recognition. Apache 2.0 / MIT — commercially usable. |
See model constraints for their input rules.
🔊 Audio models
For sound clips — music, speech, effects.
| Model | string name | Max input | Embedding dim | Best for |
|---|---|---|---|---|
| CLAP (audio) | clap-audio | 10 sec | 512 | Audio similarity; the audio half of text↔audio search. |
See audio constraints.
💻 Code models
For source code across many languages.
| Model | string name | Max input | Embedding dim | Best for |
|---|---|---|---|---|
| Jina Code v2 | jina-embeddings-v2-base-code | 8192 tokens | 768 | Code search over 30+ languages — see Code search. |
Cross-modal pairs
Some models come as a matched pair that share a dimension, so you can index one
modality and query with another. Use one as the INDEXMODEL and its partner as the
QUERYMODEL.
| Text encoder | Media encoder | Shared dim | Enables |
|---|---|---|---|
clip-vit-b32-text (77 tokens) | clip-vit-b32-image | 512 | Text-to-image / image-to-text search |
clap-text (512 tokens) | clap-audio | 512 | Text-to-audio / audio-to-text search |
# search product photos with words: index images, query with textCREATESTORE lookbook INDEXMODEL clip-vit-b32-image QUERYMODEL clip-vit-b32-textSupported input types
Whatever the model, you hand the proxy one of three raw input kinds and it does the embedding:
| Input type | What it is | Embedded by |
|---|---|---|
RAW_STRING | Natural text — sentences, paragraphs, code | a text/code model |
IMAGE | An image file | an image or face model |
AUDIO | An audio clip | an audio model |
Quick pick
| If you're working with… | Start with |
|---|---|
| Text, and want speed | all-minilm-l6-v2 |
| Text, and want accuracy | bge-large-en-v1.5 |
| Images only | resnet-50 |
| Searching images by text | CLIP pair (clip-vit-b32-*) |
| Faces (commercial) | sface-yunet |
| Audio | CLAP pair (clap-*) |
| Source code | jina-embeddings-v2-base-code |