Opik Agent Optimizer API Reference
The Opik Agent Optimizer SDK provides a comprehensive set of tools for optimizing LLM prompts and agents. This reference guide documents the standardized API that all optimizers follow, ensuring consistency and interoperability across different optimization algorithms.
Key Features
- Standardized API: All optimizers follow the same interface for
optimize_prompt()
andoptimize_mcp()
methods - Multiple Algorithms: Support for various optimization strategies including evolutionary, few-shot, meta-prompt, MIPRO, and GEPA
- MCP Support: Built-in support for Model Context Protocol tool calling
- Consistent Results: All optimizers return standardized
OptimizationResult
objects - Counter Tracking: Built-in LLM and tool call counters for monitoring usage
Core Classes
The SDK provides several optimizer classes that all inherit from BaseOptimizer
and implement the same standardized interface:
- FewShotBayesianOptimizer: Uses few-shot learning with Bayesian optimization
- MetaPromptOptimizer: Employs meta-prompting techniques for optimization
- MiproOptimizer: Implements MIPRO (Multi-Input Prompt Optimization) algorithm
- EvolutionaryOptimizer: Uses genetic algorithms for prompt evolution
- GepaOptimizer: Leverages GEPA (Genetic-Pareto) optimization approach
Standardized Method Signatures
All optimizers implement these core methods with identical signatures:
optimize_prompt()
optimize_mcp()
FewShotBayesianOptimizer
Parameters:
Methods
cleanup
configure_prompt_model
Parameters:
create_optimization_context
Parameters:
evaluate_prompt
Parameters:
get_history
increment_llm_counter
increment_tool_counter
optimize_mcp
Parameters:
optimize_prompt
Parameters:
reset_counters
setup_agent_class
Parameters:
update_optimization
Parameters:
validate_optimization_inputs
Parameters:
MetaPromptOptimizer
Parameters:
Methods
cleanup
configure_prompt_model
Parameters:
create_optimization_context
Parameters:
evaluate_prompt
Parameters:
get_history
increment_llm_counter
increment_tool_counter
optimize_mcp
Parameters:
optimize_prompt
Parameters:
reset_counters
setup_agent_class
Parameters:
update_optimization
Parameters:
validate_optimization_inputs
Parameters:
MiproOptimizer
Parameters:
Methods
cleanup
configure_prompt_model
Parameters:
continue_optimize_prompt
create_optimization_context
Parameters:
evaluate_prompt
Parameters:
get_best
Parameters:
get_history
increment_llm_counter
increment_tool_counter
load_from_checkpoint
Parameters:
optimize_mcp
Parameters:
optimize_prompt
Parameters:
prepare_optimize_prompt
Parameters:
reset_counters
setup_agent_class
Parameters:
update_optimization
Parameters:
validate_optimization_inputs
Parameters:
EvolutionaryOptimizer
Parameters:
Methods
cleanup
configure_prompt_model
Parameters:
create_optimization_context
Parameters:
evaluate_prompt
Parameters:
get_history
get_llm_crossover_system_prompt
increment_llm_counter
increment_tool_counter
optimize_mcp
Parameters:
optimize_prompt
Parameters:
dataset_item
and llm_output
reset_counters
setup_agent_class
Parameters:
update_optimization
Parameters:
validate_optimization_inputs
Parameters:
GepaOptimizer
Parameters:
Methods
cleanup
configure_prompt_model
Parameters:
create_optimization_context
Parameters:
evaluate_prompt
Parameters:
get_history
increment_llm_counter
increment_tool_counter
optimize_mcp
Parameters:
optimize_prompt
Parameters:
reset_counters
setup_agent_class
Parameters:
update_optimization
Parameters:
validate_optimization_inputs
Parameters:
ChatPrompt
Parameters:
Methods
copy
get_messages
Parameters:
set_messages
Parameters:
to_dict
with_messages
Parameters:
OptimizationResult
Parameters:
OptimizableAgent
Parameters:
Methods
init_agent
Parameters:
init_llm
invoke
Parameters:
invoke_dataset_item
Parameters:
llm_invoke
Parameters: