Platform-agnostic, extensible AI-powered ML Development Assistant
Project description
Corvus - ML Development Assistant
Platform-agnostic, extensible AI-powered ML Development Assistant
Overview
Corvus is built on three pillars:
- Universal Skills Framework - 24 ML skill functions across 24 modules for data engineering, model training, deployment, observability, and ML advisory
- MCP Integration - 6 MCP server integrations for GitHub, PostgreSQL, Filesystem, MLflow, Docker, and Cloud Storage
- Knowledge Base - Hybrid retrieval (BM25 + Vector + RRF), GraphRAG with Neo4j, persistent memory with Mem0
- AI Safety - Defense-in-depth security with prompt injection defense, DLP, grounding validation, and quality monitoring
Features
Skills Library (24 Skills)
| Category | Skills |
|---|---|
| Data Engineering | data-profiler, feature-recommender, pipeline-generator, schema-designer, validation-generator |
| Model Training | model-selector, architecture-recommender, pytorch-codegen, experiment-tracker, distributed-config, hyperparameter-optimizer |
| Deployment | endpoint-generator, docker-generator, terraform-generator, k8s-manifest-generator, cicd-generator, quantization-exporter |
| Observability | monitoring-setup, drift-detector, dashboard-creator |
| ML Advisory | ml-spec-generator, experiment-advisor |
| Model Hub | huggingface-skills, github-ml-skills |
MCP Integrations (6 Servers)
| Server | Capabilities |
|---|---|
| GitHub | Repository access, PRs, issues, commits |
| PostgreSQL | Database queries, schema management |
| Filesystem | File operations, directory traversal |
| MLflow | Experiment tracking, model registry |
| Docker | Container management, image operations |
| S3/GCS | Cloud storage operations |
Knowledge Base
| Component | Description |
|---|---|
| Qdrant Vector Store | Semantic search with voyage-code-3 embeddings |
| Hybrid Retrieval | BM25 + Vector search with RRF fusion |
| Cross-Encoder Reranking | Precision improvement for retrieval |
| Neo4j GraphRAG | Knowledge graph with entity extraction |
| Mem0 Memory | Persistent memory across sessions |
AI Safety & Guardrails
| Component | Purpose |
|---|---|
| Prompt Guard | Injection detection and input validation |
| Tool Guard | MCP security and sandboxing |
| Memory Guard | Memory injection prevention |
| Grounding Validator | Hallucination prevention with citations |
| DLP Scanner | PII/credential detection and redaction |
| Quality Monitor | Output quality and drift detection |
Quick Start
Install from PyPI:
pip install corvus-ai
corvus --version
Or clone for development:
git clone https://github.com/CloudlyIO/corvus.git
cd corvus
# Install with all dependencies
pip install -e ".[all]"
# Install pre-commit hooks
pre-commit install --hook-type pre-commit --hook-type commit-msg
# Run tests
make test
Usage Examples
Using Skills
import asyncio
from corvus.skills.library.model_selector import select_model
from corvus.skills.library.pytorch_codegen import generate_pytorch_code
async def main():
# Select a model for your task
result = await select_model(
task_type="classification",
data_characteristics={
"num_samples": 10000,
"num_features": 50,
"num_classes": 3,
},
)
print(f"Recommended: {result['recommended_model']}")
# Generate PyTorch training code
code = await generate_pytorch_code(
model_type="mlp_classifier",
input_features=50,
output_classes=3,
hidden_layers=[128, 64],
)
print(code["model_code"])
asyncio.run(main())
Using Safety Features
from corvus.safety import (
validate_input,
create_dlp_scanner,
assess_quality,
)
# Validate user input for injection attempts
result = validate_input("Help me build a classifier")
if result.is_safe:
print("Input is safe")
# Scan for sensitive data
scanner = create_dlp_scanner()
dlp_result = scanner.scan_content("Contact: john@example.com")
if dlp_result.pii_count > 0:
print("PII detected!")
# Assess response quality
quality = assess_quality(
"Here's a detailed explanation with examples...",
prompt="Explain gradient descent"
)
print(f"Quality score: {quality.overall_score:.2f}")
Running the E2E Demo
# Run the complete ML workflow demo
python3 demos/e2e/ml_workflow_demo.py
Development
# Testing (TDD)
make test # Unit tests
make test-all # All tests
make test-cov # With coverage
# Evaluation (EDD)
make benchmark # Run benchmarks
# Quality
make lint # Ruff linting
make format # Black formatting
make quality # Lint + typecheck
Project Structure
corvus/
├── src/corvus/ # Main package
│ ├── core/ # Config, exceptions
│ ├── skills/ # Universal skills framework (24 skills)
│ ├── llm/ # LLM gateway (LiteLLM)
│ ├── agents/ # Agent orchestration (LangGraph)
│ ├── knowledge/ # Knowledge base (RAG/GraphRAG/Memory)
│ ├── mcp/ # MCP integrations (6 servers)
│ └── safety/ # AI safety & guardrails (6 components)
├── tests/ # Test suite
│ ├── unit/ # 10,168+ tests
│ ├── integration/ # integration tests
│ └── e2e/ # End-to-end tests
├── benchmarks/ # Performance benchmarks
├── demos/ # Executable examples
│ ├── skills/ # Individual skill demos
│ ├── knowledge/ # Knowledge base demos
│ ├── mcp/ # MCP integration demos
│ ├── safety/ # Safety feature demos
│ └── e2e/ # End-to-end workflow demos
└── docs/ # Documentation
Documentation
| Document | Description |
|---|---|
| Documentation Index | All guides, API reference, architecture docs |
| Status | Current project status |
| Architecture | Technical architecture |
| Contributing | Developer workflow |
| Changelog | Version history |
Configuration
# Core
CORVUS_DEBUG=true|false
CORVUS_LOG_LEVEL=INFO|DEBUG|WARNING|ERROR
# LLM
CORVUS_LLM_DEFAULT_PROVIDER=anthropic|openai
CORVUS_LLM_DEFAULT_MODEL=claude-sonnet-4-20250514
# Knowledge Base
CORVUS_KNOWLEDGE_VECTOR_STORE=qdrant
CORVUS_KNOWLEDGE_EMBEDDING_MODEL=voyage-code-3
Technology Stack
| Layer | Technology |
|---|---|
| Agent Orchestration | LangGraph |
| LLM Gateway | LiteLLM |
| Primary LLM | Claude Sonnet 4 / Opus 4.5 |
| Vector Database | Qdrant |
| Knowledge Graph | Neo4j |
| Code Embeddings | voyage-code-3 |
| Text Embeddings | e5-large-v2 |
| Memory System | Mem0 |
| Tool Integration | MCP |
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file corvus_ai-0.3.80.tar.gz.
File metadata
- Download URL: corvus_ai-0.3.80.tar.gz
- Upload date:
- Size: 793.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9fb851b83f797a39cf7ff5550638cd984924250dccfae17fa6623e4d40ef1313
|
|
| MD5 |
dd46cd99a8a9c0134c4b9f7359efef84
|
|
| BLAKE2b-256 |
16f46e28a4b17871c98c9273359b99b1d07e5d8e63c2e9415c06f2f49ab2e812
|
Provenance
The following attestation bundles were made for corvus_ai-0.3.80.tar.gz:
Publisher:
release.yml on CloudlyIO/corvus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
corvus_ai-0.3.80.tar.gz -
Subject digest:
9fb851b83f797a39cf7ff5550638cd984924250dccfae17fa6623e4d40ef1313 - Sigstore transparency entry: 1551892756
- Sigstore integration time:
-
Permalink:
CloudlyIO/corvus@b855e31b413d54cbed2652693f2847cbcaaa6243 -
Branch / Tag:
refs/tags/v0.3.80 - Owner: https://github.com/CloudlyIO
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b855e31b413d54cbed2652693f2847cbcaaa6243 -
Trigger Event:
push
-
Statement type:
File details
Details for the file corvus_ai-0.3.80-py3-none-any.whl.
File metadata
- Download URL: corvus_ai-0.3.80-py3-none-any.whl
- Upload date:
- Size: 872.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
470b612ca7175a7a17cc59703e041d8e25bf9a9b5ad68b2dcda016d64070b85a
|
|
| MD5 |
e453aa2cacaa773074a13dcd07e52012
|
|
| BLAKE2b-256 |
5f4ed88ae043534937a8208f1bb0d7b028a5efe498ee0af29e3385d7c2ed0cd5
|
Provenance
The following attestation bundles were made for corvus_ai-0.3.80-py3-none-any.whl:
Publisher:
release.yml on CloudlyIO/corvus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
corvus_ai-0.3.80-py3-none-any.whl -
Subject digest:
470b612ca7175a7a17cc59703e041d8e25bf9a9b5ad68b2dcda016d64070b85a - Sigstore transparency entry: 1551892766
- Sigstore integration time:
-
Permalink:
CloudlyIO/corvus@b855e31b413d54cbed2652693f2847cbcaaa6243 -
Branch / Tag:
refs/tags/v0.3.80 - Owner: https://github.com/CloudlyIO
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@b855e31b413d54cbed2652693f2847cbcaaa6243 -
Trigger Event:
push
-
Statement type: