Optiglot
optiglot is a language-agnostic interface for prompt optimization engines (like DSPy). It allows you to use powerful optimization algorithms implemented in Python with your language/framework of choice via a standardized RPC protocol. By separating the optimization logic from the execution environment, optiglot makes prompt optimizers "polyglots" hence the name.
Installation
TypeScript/JavaScript
Install the harness in your project:
npm install optiglot
# or
bun add optiglot
CLI Engine
Install the optimization engine via uv:
uv tool install optiglot
Core Concepts
- Harnesses: The "glue" that connects your framework (e.g., Vercel AI SDK) to the optimization engine. They handle tracing, evaluation, and communication.
- Predictors: Wrappers around LLM calls that record inputs/outputs for the optimizer.
- Module: A collection of predictors that define your AI system's logic.
- Teleprompt: The optimizer that runs the optimization loop.
Defining an Optimizer
In Optiglot, an optimizer is defined using the Teleprompt class. You specify which algorithm to use and its configuration.
import { Teleprompt } from "optiglot";
const optimizer = new Teleprompt("bootstrap", {
numThreads: 4, // Number of concurrent evaluations
maxIterations: 10, // Maximum optimization cycles
// ... other algorithm-specific options
});
Common optimizers include:
vanilla: Basic few-shot prompting.bootstrap: Bootstraps few-shot examples from your training data.teleprompt: Advanced multi-stage optimization.
The Purpose of Harnesses
Harnesses are essential because they bridge the gap between your application code and the optimization engine. They abstract away three critical tasks:
- Tracing: Automatically recording LLM inputs and outputs during a run so the optimizer can "see" what happened.
- Execution Control: Allowing the optimizer to swap out prompts and re-run your code during evaluation.
- Communication: Handling the RPC handshake between your application and the Python-based optimization engine.
By using a harness, you can optimize your prompts without rewriting your existing application logic in Python.
Usage: AI SDK Harness
Here's how to use the Vercel AI SDK harness to optimize a support ticket classifier.
1. Define Your System (Module)
Create a Module with your predictors. A Predict component wraps your LLM call and manages its instructions.
import { Module, Predict } from "optiglot";
import { openai } from "@ai-sdk/openai";
// Define the system structure
const classifier = new Module({
judge: new Predict(
"Classify the ticket into: Billing, Technical, or General."
),
});
// Define the execution logic
classifier.setForward(async (inputs: { ticket: string }) => {
const { text } = await classifier.judge.generateText({
model: openai("gpt-4o-mini"),
prompt: `Ticket: ${inputs.ticket}`,
});
return text;
});
2. Define Your Metric
The metric scores performance on a specific example. It can return a simple score (0 to 1) or rich feedback.
import { type MetricFunction } from "optiglot";
const metric: MetricFunction = (example, prediction) => {
const isCorrect = example.label === prediction.output;
return {
score: isCorrect ? 1.0 : 0.0,
feedback: isCorrect
? "Correctly labeled."
: `Expected ${example.label} but got ${prediction.output}`,
};
};
3. Run Optimization
Use Teleprompt to optimize the instructions in your module.
import { Teleprompt, Dataset } from "optiglot";
// Load training data
const trainset = new Dataset(
[
{ ticket: "I can't log into my account.", label: "Technical" },
{ ticket: "Where is my order #123?", label: "Billing" },
],
["ticket"] // Fields to pass to the forward function
);
const teleprompter = new Teleprompt("bootstrap");
// Compile: This spawns the optimization engine and finds the best prompts
const optimizedModule = await teleprompter.compile(
classifier,
metric,
trainset
);
console.log("Optimized Instructions:", optimizedModule.judge.instructions);
// Save the optimized state
optimizedModule.save("./optimized_prompts.json");
Appendix
Persistence
You can load optimized prompts back into your module for production use:
const productionModule = new Module({
judge: new Predict(""), // Initial instructions don't matter if we're loading
});
productionModule.load("./optimized_prompts.json");
Development
If you are developing optiglot locally, you can use the OPTIGLOT_DEV=true environment variable to run the engine from source.
OPTIGLOT_DEV=true bun run your_optimization_script.ts
Metadata
Release files for optiglot 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| optiglot-0.1.3.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| optiglot-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.5 kB
Release files / optiglot-0.1.3.tar.gz
| Download URL | optiglot-0.1.3.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fd36642a5be1d58de28a7d4ea4084313b195e6c6fbe6a36e3291ce896e17d692
|
|
BLAKE2b-256 checksum How to use checksums |
956bf9d34a034c9221367909f1b3c523d6bf5fa7cfdaad0526b19184a18f8c43
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 14, 2026.
Transparency logRelease files / optiglot-0.1.3-py3-none-any.whl
| Download URL | optiglot-0.1.3-py3-none-any.whl |
|---|---|
| Size | 13.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c0fabc749c1e9df698ebdc5315e0d57b4339469ae6ff97a3eb290ffcf5a83b49
|
|
BLAKE2b-256 checksum How to use checksums |
11f8ca0c203c7aa0f5c88a1a2257419520f83083139d91baf42c87b3db759c92
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jan 14, 2026.
Transparency log