Skip to content
Back to skills

Embeddings And Search

ASecurity

Use when generating embeddings, calling the 12 web-search providers, or running OCR over documents with the 4 OCR providers through liter-llm. Covers embed, search, and ocr methods plus reranking.

  • 260 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 3, 2026
developmentpythonrustapibackend

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 7, 2026

npx -y skills add xberg-io/liter-llm --skill embeddings-and-search --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Embeddings And Search?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Embeddings And Search
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/xberg-io-embeddings-and-search-liter-llm/badge)](https://www.skillsdirectory.com/skills/xberg-io-embeddings-and-search-liter-llm)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: embeddings-and-search
description: Use when generating embeddings, calling the 12 web-search providers, or running OCR over documents with the 4 OCR providers through liter-llm. Covers embed, search, and ocr methods plus reranking.
---

<!--
AI-RULEZ :: GENERATED FILE — DO NOT EDIT
Content-Hash: blake3:2486d6f9ae493f698ce3c5349658dacd142fb7dd3cd27a707c4acf3aa8877a55
Source-Hash: blake3:02b026777d0c20a671829ba370551050e1d05cf0091923f87a1ff46697f6e603
Schema-Version: v1
-->

# Embeddings and Search

liter-llm exposes embeddings, web search (12 providers), OCR (4 providers), and
reranking through the same `provider/model` routing convention.

## Embeddings

```python
import asyncio, os
from liter_llm import create_client
from liter_llm._internal_bindings import EmbeddingRequest

async def main() -> None:
    client = create_client(api_key=os.environ["OPENAI_API_KEY"])
    request = EmbeddingRequest.from_json(
        '{"model":"openai/text-embedding-3-small","input":["first document","second document"]}'
    )
    response = await client.embed(request)
    for item in response.data:
        print(len(item.embedding))

asyncio.run(main())
```

Many embedding models support dimension selection and base64 output; set
`dimensions` / `encoding_format` in the request where the provider allows it.

## Web search (12 providers)

```python
from liter_llm._internal_bindings import SearchRequest

client = create_client(api_key=os.environ["BRAVE_API_KEY"])
request = SearchRequest.from_json(
    '{"model":"brave/web-search","query":"What is the Rust programming language?","max_results":5}'
)
response = await client.search(request)
for result in response.results:
    print(result.title, result.url)
```

## OCR (4 providers)

```python
from liter_llm._internal_bindings import OcrRequest

client = create_client(api_key=os.environ["MISTRAL_API_KEY"])
request = OcrRequest.from_json(
    '{"model":"mistral/mistral-ocr-latest",'
    '"document":{"type":"document_url","url":"https://example.com/invoice.pdf"}}'
)
response = await client.ocr(request)
for page in response.pages:
    print(page.index, page.markdown[:100])
```

## Reranking

Build a `RerankRequest` (model, query, documents) and call `client.rerank(request)`
to score and order candidate documents against a query for retrieval pipelines —
combine it with `embed` for hybrid retrieval. Each result carries `index` and
`relevance_score`. Routing follows the same `provider/model` convention.

## Notes

- Search and OCR providers each need their own API key (e.g. `BRAVE_API_KEY`,
  `MISTRAL_API_KEY`); read them from env vars.
- See the upstream provider reference for the full list of the 12 search and 4
  OCR backends and their model identifiers.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.