5a558eb09e
TypeScript SDK Compatibility V1.x E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / TypeScript SDK Compatibility V1.x E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
TypeScript SDK E2E Tests / TypeScript SDK E2E Tests Node ${{matrix.node_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
Python SDK E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK E2E Tests / Python SDK E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK E2E Tests / build-opik (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Select Python version matrix (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / Python SDK Compatibility V1.x E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Python SDK Compatibility V1.x E2E Tests / build-opik (push) Has been cancelled
TypeScript SDK E2E Tests / Select Node version matrix (push) Has been cancelled
TypeScript SDK E2E Tests / build-opik (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer E2E Tests Python ${{matrix.python_version}} (push) Has been cancelled
Opik Optimizer - E2E Tests / Opik Optimizer Integration Smoke Tests (push) Has been cancelled
🐙 Code Quality / detect (push) Has been cancelled
🐙 Code Quality / lint (${{ matrix.leg.name }}) (push) Has been cancelled
🐙 Code Quality / summary (push) Has been cancelled
TypeScript SDK Library Integration Tests / Check Secrets (push) Has been cancelled
TypeScript SDK Library Integration Tests / opik-vercel (Vercel AI SDK / eve) (push) Has been cancelled
SDK Library Integration Tests Runner / Check Secrets (push) Has been cancelled
SDK Library Integration Tests Runner / Missed OpenAI API Key Warning (push) Has been cancelled
SDK Library Integration Tests Runner / Build (push) Has been cancelled
SDK Library Integration Tests Runner / openai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_tests (push) Has been cancelled
SDK Library Integration Tests Runner / langchain_legacy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / llama_index_tests (push) Has been cancelled
SDK Library Integration Tests Runner / anthropic_tests (push) Has been cancelled
SDK Library Integration Tests Runner / mistral_tests (push) Has been cancelled
SDK Library Integration Tests Runner / groq_tests (push) Has been cancelled
SDK Library Integration Tests Runner / aisuite_tests (push) Has been cancelled
SDK Library Integration Tests Runner / haystack_tests (push) Has been cancelled
SDK Library Integration Tests Runner / dspy_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / crewai_v1_tests (push) Has been cancelled
SDK Library Integration Tests Runner / genai_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_tests (push) Has been cancelled
SDK Library Integration Tests Runner / adk_legacy_1_3_0_tests (push) Has been cancelled
SDK Library Integration Tests Runner / evaluation_metrics_tests (push) Has been cancelled
SDK Library Integration Tests Runner / bedrock_tests (push) Has been cancelled
SDK Library Integration Tests Runner / litellm_tests (push) Has been cancelled
SDK Library Integration Tests Runner / harbor_tests (push) Has been cancelled
SDK Library Integration Tests Runner / Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / render-equality (push) Has been cancelled
Opik Optimizer - Unit Tests / Opik Optimizer Unit Tests Python ${{matrix.python_version}} (push) Has been cancelled
Python BE E2E Tests / Python BE E2E (push) Has been cancelled
Python Backend Tests / run-python-backend-tests (push) Has been cancelled
Python SDK Unit Tests / Python SDK Unit Tests ${{matrix.python_version}} (push) Has been cancelled
Release Drafter / update_release_draft (push) Has been cancelled
SDK E2E Libraries Integration Tests / Check Secrets (push) Has been cancelled
SDK E2E Libraries Integration Tests / Missed OpenAI API Key Warning (push) Has been cancelled
SDK E2E Libraries Integration Tests / build-opik (push) Has been cancelled
SDK E2E Libraries Integration Tests / E2E Lib Integration Python ${{matrix.python_version}} (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-gemini) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-langchain) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-openai) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-otel) (push) Has been cancelled
TypeScript SDK Integration Build & Publish / build-and-publish (opik-vercel) (push) Has been cancelled
TypeScript SDK Build & Publish / build-and-publish (push) Has been cancelled
TypeScript SDK Unit Tests / Test on Node ${{ matrix.node-version }} (push) Has been cancelled
Backend Tests / discover-tests (push) Has been cancelled
Backend Tests / ${{ matrix.name }} (push) Has been cancelled
Build and Publish SDK / build-and-publish (push) Has been cancelled
Build Opik Docker Images / set-version (push) Has been cancelled
Build Opik Docker Images / build-backend (push) Has been cancelled
Build Opik Docker Images / build-sandbox-executor-python (push) Has been cancelled
Build Opik Docker Images / build-python-backend (push) Has been cancelled
Build Opik Docker Images / build-frontend (push) Has been cancelled
Build Opik Docker Images / create-git-tag (push) Has been cancelled
ClickHouse Migration Cluster Check / validate-clickhouse-migrations (push) Has been cancelled
Docs - Publish / run (push) Has been cancelled
E2E Tests - Post Merge (v2) / 🧪 E2E v2 Tests (${{ github.event.inputs.tier || 't1' }}) (push) Has been cancelled
E2E Tests - Post Merge (v2) / 📢 Slack Notification (push) Has been cancelled
Frontend Unit Tests / Test on Node 20 (push) Has been cancelled
Guardrails E2E Tests / Select Python version matrix (push) Has been cancelled
Guardrails E2E Tests / Guardrails E2E Tests ${{matrix.python_version}} (push) Has been cancelled
Guardrails E2E Tests / 📢 Slack Notification (push) Has been cancelled
Guardrails Backend Unit Tests / Guardrails Backend Unit Tests (push) Has been cancelled
Guardrails Backend Unit Tests / 📢 Slack Notification (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v3.21.0) (push) Has been cancelled
Lint Opik Helm Chart / lint-helm-chart (Helm v4.2.0) (push) Has been cancelled
Lint Opik Helm Chart / unittest-helm-chart (push) Has been cancelled
145 lines
4.6 KiB
Plaintext
145 lines
4.6 KiB
Plaintext
---
|
|
headline: Opik Optimizer | Opik Documentation
|
|
og:description: Contribute effectively to the Agent Optimizer SDK and enhance model
|
|
performance. Start optimizing prompts with our detailed guide.
|
|
og:site_name: Opik Documentation
|
|
og:title: Contribute to the Agent Optimizer - Opik
|
|
title: Opik Optimizer
|
|
canonical-url: https://www.comet.com/docs/opik/contributing/guides/agent-optimizer-sdk
|
|
---
|
|
|
|
# Contributing to the Agent Optimizer SDK
|
|
|
|
This guide will help you get started with contributing to the Agent Optimizer SDK, our tool for optimizing prompts and improving model performance.
|
|
|
|
Before you start, please review our general [Contribution Overview](/v1/contributing/overview) and the [Contributor License Agreement (CLA)](https://github.com/comet-ml/opik/blob/main/CLA.md).
|
|
|
|
## Project Structure
|
|
|
|
The Agent Optimizer is located in the `sdks/opik_optimizer` directory. Here's an overview of the key components:
|
|
|
|
- `src/`: Main source code
|
|
- `benchmarks/`: Benchmarking tools and results
|
|
- `notebooks/`: Example notebooks and tutorials
|
|
- `tests/`: Test files
|
|
- `docs/`: Additional documentation
|
|
- `scripts/`: Utility scripts
|
|
- `setup.py`: Package configuration
|
|
- `requirements.txt`: Python dependencies
|
|
|
|
## Setup
|
|
|
|
<Steps>
|
|
<Step title="Create virtual environment">
|
|
```bash
|
|
python -m venv venv
|
|
source venv/bin/activate # On Windows: venv\Scripts\activate
|
|
```
|
|
</Step>
|
|
<Step title="Install dependencies">
|
|
```bash
|
|
cd sdks/opik_optimizer
|
|
pip install -r requirements.txt
|
|
pip install -e .
|
|
```
|
|
</Step>
|
|
<Step title="Run tests">
|
|
```bash
|
|
pytest tests/
|
|
```
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Development Workflow
|
|
|
|
<Steps>
|
|
<Step title="Create branch">Create a new branch for your changes</Step>
|
|
<Step title="Make changes">Make your changes</Step>
|
|
<Step title="Add tests">Add tests for new functionality</Step>
|
|
<Step title="Run tests">Run the test suite</Step>
|
|
<Step title="Run benchmarks">Run benchmarks if applicable</Step>
|
|
<Step title="Submit PR">Submit a pull request</Step>
|
|
</Steps>
|
|
|
|
## Testing
|
|
|
|
We use pytest for testing. When adding new features:
|
|
|
|
<Steps>
|
|
<Step title="Write unit tests">Write unit tests in the `tests/` directory</Step>
|
|
<Step title="Run tests">Ensure all tests pass with `pytest tests/`</Step>
|
|
</Steps>
|
|
|
|
## Benchmarking
|
|
|
|
The optimizer includes benchmarking tools to measure performance improvements:
|
|
|
|
<Steps>
|
|
<Step title="Run benchmarks">```bash cd benchmarks python run_benchmark.py ```</Step>
|
|
<Step title="View results">View results in the `benchmark_results/` directory</Step>
|
|
<Step title="Add benchmarks">Add new benchmarks for new optimization strategies</Step>
|
|
</Steps>
|
|
|
|
## Documentation
|
|
|
|
When adding new features or making changes:
|
|
|
|
<Steps>
|
|
<Step title="Update README">Update the README.md</Step>
|
|
<Step title="Add docstrings">Add docstrings for new functions and classes</Step>
|
|
<Step title="Add examples">Include examples in the `notebooks/` directory</Step>
|
|
<Step title="Update docs">
|
|
Update the main documentation if necessary. See the [Documentation Guide](documentation) for details.
|
|
</Step>
|
|
</Steps>
|
|
|
|
## Code Style
|
|
|
|
We follow PEP 8 guidelines. Before submitting a PR:
|
|
|
|
<Steps>
|
|
<Step title="Run linter">Run `flake8` to check for style issues</Step>
|
|
<Step title="Fix issues">Fix any linting errors</Step>
|
|
<Step title="Check style">Ensure your code follows Python best practices</Step>
|
|
</Steps>
|
|
|
|
## Pull Request Process
|
|
|
|
<Steps>
|
|
<Step title="Fork repository">Fork the repository</Step>
|
|
<Step title="Create branch">Create your feature branch</Step>
|
|
<Step title="Make changes">Make your changes</Step>
|
|
<Step title="Run checks">Run tests and benchmarks</Step>
|
|
<Step title="Submit PR">Submit a pull request</Step>
|
|
</Steps>
|
|
|
|
Your PR should:
|
|
|
|
- Have a clear description of the changes
|
|
- Include tests for new functionality
|
|
- Pass all CI checks
|
|
- Follow the project's coding standards
|
|
- Include benchmark results if applicable
|
|
|
|
## Notebooks and Examples
|
|
|
|
The `notebooks/` directory contains examples and tutorials. When adding new features:
|
|
|
|
<Steps>
|
|
<Step title="Create notebook">Create a new notebook demonstrating the feature</Step>
|
|
<Step title="Add explanations">Include clear explanations and comments</Step>
|
|
<Step title="Show usage">Show both basic and advanced usage</Step>
|
|
<Step title="Add comparisons">Add performance comparisons if relevant</Step>
|
|
</Steps>
|
|
|
|
## Need Help?
|
|
|
|
If you need help or have questions:
|
|
|
|
- Open an issue on GitHub
|
|
- Join our [Comet Chat](https://chat.comet.com) community
|
|
- Check the existing documentation and notebooks
|
|
|
|
---
|
|
|
|
_Remember to review our [Contributor License Agreement (CLA)](https://github.com/comet-ml/opik/blob/main/CLA.md) before contributing._ |