# Harrier OSS v1 Text Embeddings

> Run Harrier OSS v1 Text Embeddings by infsh online or via API. Pay per run, no setup.

**URL:** https://inference.sh/apps/infsh/harrier-oss-v1
**Last updated:** 2026-05-26

---

Multilingual text embedding using Microsoft's Harrier OSS v1 models. Supports retrieval, clustering, semantic similarity, classification, and reranking with state-of-the-art MTEB v2 scores.

- app: `infsh/harrier-oss-v1`
- maker: [infsh](https://inference.sh/apps/infsh.md)
- category: [text](https://inference.sh/apps/category/text.md)
- tasks: [embeddings](https://inference.sh/apps/tag/embeddings.md)
- price: GPU time, billed per millisecond
- runs via: api, javascript and python sdk, belt cli, mcp

## harrier-oss-v1 API Guide

### About
multilingual text embedding using microsoft's harrier oss v1 models. supports retrieval, clustering, semantic similarity, classification, and reranking with state-of-the-art mteb v2 scores.

### 1. Calling the API

#### Install the Client

```bash
pip install inferencesh
```

#### Setup Your API Key
Set `INFERENCE_API_KEY` as an environment variable. Get your key from settings → api keys.

```bash
export INFERENCE_API_KEY="inf_your_key"
```

#### Run and Get Result

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


result = client.run({
        "app": "infsh/harrier-oss-v1@75xvegpp",
        "input": {}
    })

print(result["output"])
```

#### Stream Live Updates

```python
import os
from inferencesh import inference

client = inference(api_key=os.environ["INFERENCE_API_KEY"])


## stream=True yields updates as they arrive
for update in client.run({
        "app": "infsh/harrier-oss-v1@75xvegpp",
        "input": {}
    }, stream=True):
    if update.get("progress"):
        print(f"progress: {update['progress']}%")
    if update.get("output"):
        print(f"output: {update['output']}")
```

### 2. Authentication
The API uses API keys for authentication. See the authentication docs for detailed setup instructions.

### 3. Files

#### Automatic Upload

```python
## local file paths are automatically uploaded
result = client.run({
    "app": "infsh/harrier-oss-v1@75xvegpp",
    "input": {
        "image": "/path/to/local/image.png",  # detected & uploaded
        "audio": "https://example.com/audio.mp3",  # url passed through
    }
})
```

#### Manual Upload

```python
## upload and get a hosted URL
file = client.files.upload("/path/to/file.png")
print(file.uri)  # https://cloud.inference.sh/...
```

### 4. Schema

#### Input
- **texts** (array): Texts to embed (one embedding per text).
- **files** (array): Files containing texts to embed. Supports .txt (one text per line), .jsonl (one JSON string per line), or .json (array of strings).
- **instruction** (string): Task instruction for queries (e.g. 'Given a web search query, retrieve relevant passages that answer the query'). Only needed for query-side encoding, not for documents.
- **prompt_name** (string): Pre-configured prompt name (e.g. 'web_search_query', 'sts_query', 'bitext_query'). Alternative to providing a custom instruction.
- **chunk_strategy** (string): Chunking strategy. 'fixed': split by token count. 'recursive': split at paragraph/sentence/word boundaries within token budget. None: no chunking.
- **chunk_size** (integer): Target chunk size in tokens. Clamped to model max (32768). Only used when chunk_strategy is set.
- **chunk_overlap** (integer): Overlap between chunks in tokens. Only used when chunk_strategy is set.

#### Output
- **count** (integer): Total number of embeddings across all files
- **dimension** (integer): Embedding dimension
- **embeddings** (array): JSON files containing embeddings, one per input text
- **inline_embeddings** (array): Inline embeddings when output is small enough to skip file upload

## other text apps

- [Archive Download](https://inference.sh/apps/archive/download.md): from $0.00000277/sec
- [Archive Metadata](https://inference.sh/apps/archive/metadata.md): from $0.00000277/sec
- [Archive Search](https://inference.sh/apps/archive/search.md): from $0.00000277/sec
- [Wayback Machine Availability Check](https://inference.sh/apps/archive/wayback.md): from $0.00000277/sec
- [Markdown to Word Converter](https://inference.sh/apps/infsh/markdown-to-word.md): from $0.00000277/sec

## faq

### how much does Harrier OSS v1 Text Embeddings cost?

GPU time, billed per millisecond. you pay per run from your inference shell credits. no subscription is required.

### how do I run Harrier OSS v1 Text Embeddings via api?

call infsh/harrier-oss-v1 with the javascript or python sdk, the rest api, or `belt app run infsh/harrier-oss-v1` from a terminal. the api reference on this page lists every input.

### who makes Harrier OSS v1 Text Embeddings?

Harrier OSS v1 Text Embeddings is made by infsh and runs on inference shell. every infsh app is listed at https://inference.sh/apps/infsh.

### can my agent use Harrier OSS v1 Text Embeddings?

yes. agents call it as a tool through the inference shell mcp server (https://api.inference.sh/mcp), the belt cli or the sdk, and pay per run like you do.

### what are the alternatives to Harrier OSS v1 Text Embeddings?

other text apps on inference shell include Archive Download, Archive Metadata, Archive Search, Wayback Machine Availability Check. they run through the same api, so switching is a one-line change.
