From liter-llm
Generates embeddings, performs web searches via 12 providers, runs OCR over documents through 4 providers, and reranks results — all with liter-llm's provider/model routing.
How this skill is triggered — by the user, by Claude, or both
Slash command
/liter-llm:embeddings-and-searchThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
liter-llm exposes embeddings, web search (12 providers), OCR (4 providers), and
liter-llm exposes embeddings, web search (12 providers), OCR (4 providers), and
reranking through the same provider/model routing convention.
import asyncio, os
from liter_llm import LlmClient
async def main() -> None:
client = LlmClient(api_key=os.environ["OPENAI_API_KEY"])
response = await client.embed(
model="openai/text-embedding-3-small",
input=["first document", "second document"],
)
for item in response.data:
print(len(item.embedding))
asyncio.run(main())
Many embedding models support dimension selection and base64 output; pass
dimensions / encoding_format where the provider allows it.
client = LlmClient(api_key=os.environ["BRAVE_API_KEY"])
response = await client.search(
model="brave/web-search",
query="What is the Rust programming language?",
max_results=5,
)
for result in response.results:
print(result.title, result.url)
client = LlmClient(api_key=os.environ["MISTRAL_API_KEY"])
response = await client.ocr(
model="mistral/mistral-ocr-latest",
document={"type": "document_url", "url": "https://example.com/invoice.pdf"},
)
for page in response.pages:
print(page.index, page.markdown[:100])
Use rerank(...) to score and order candidate documents against a query for
retrieval pipelines — combine it with embed for hybrid retrieval. Routing
follows the same provider/model convention.
BRAVE_API_KEY,
MISTRAL_API_KEY); read them from env vars.npx claudepluginhub xberg-io/plugins --plugin liter-llmCreates bite-sized, testable implementation plans from specs or requirements, with file structure and task decomposition. Activates before coding multi-step tasks.