corvus-ai 0.3.78__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. corvus_ai-0.3.78/PKG-INFO +363 -0
  2. corvus_ai-0.3.78/README.md +235 -0
  3. corvus_ai-0.3.78/pyproject.toml +313 -0
  4. corvus_ai-0.3.78/setup.cfg +4 -0
  5. corvus_ai-0.3.78/src/corvus/__init__.py +12 -0
  6. corvus_ai-0.3.78/src/corvus/agents/__init__.py +45 -0
  7. corvus_ai-0.3.78/src/corvus/agents/executor.py +879 -0
  8. corvus_ai-0.3.78/src/corvus/agents/renderers.py +1126 -0
  9. corvus_ai-0.3.78/src/corvus/agents/router_agent.py +1765 -0
  10. corvus_ai-0.3.78/src/corvus/agents/state.py +384 -0
  11. corvus_ai-0.3.78/src/corvus/agents/types.py +195 -0
  12. corvus_ai-0.3.78/src/corvus/api/__init__.py +7 -0
  13. corvus_ai-0.3.78/src/corvus/api/admin_router.py +678 -0
  14. corvus_ai-0.3.78/src/corvus/api/app.py +122 -0
  15. corvus_ai-0.3.78/src/corvus/api/audit_writer.py +66 -0
  16. corvus_ai-0.3.78/src/corvus/api/auth.py +101 -0
  17. corvus_ai-0.3.78/src/corvus/api/auth_router.py +153 -0
  18. corvus_ai-0.3.78/src/corvus/api/config_router.py +321 -0
  19. corvus_ai-0.3.78/src/corvus/api/feedback_router.py +168 -0
  20. corvus_ai-0.3.78/src/corvus/api/health.py +25 -0
  21. corvus_ai-0.3.78/src/corvus/api/keys.py +59 -0
  22. corvus_ai-0.3.78/src/corvus/api/logging.py +46 -0
  23. corvus_ai-0.3.78/src/corvus/api/org_policy.py +120 -0
  24. corvus_ai-0.3.78/src/corvus/api/org_router.py +883 -0
  25. corvus_ai-0.3.78/src/corvus/api/privacy_router.py +112 -0
  26. corvus_ai-0.3.78/src/corvus/api/rbac.py +60 -0
  27. corvus_ai-0.3.78/src/corvus/api/router.py +192 -0
  28. corvus_ai-0.3.78/src/corvus/api/scim_router.py +466 -0
  29. corvus_ai-0.3.78/src/corvus/api/webhook.py +78 -0
  30. corvus_ai-0.3.78/src/corvus/api/workspace_router.py +118 -0
  31. corvus_ai-0.3.78/src/corvus/auth/__init__.py +22 -0
  32. corvus_ai-0.3.78/src/corvus/auth/db.py +55 -0
  33. corvus_ai-0.3.78/src/corvus/auth/device_flow.py +113 -0
  34. corvus_ai-0.3.78/src/corvus/auth/jwt_utils.py +66 -0
  35. corvus_ai-0.3.78/src/corvus/auth/models.py +292 -0
  36. corvus_ai-0.3.78/src/corvus/auth/sso.py +94 -0
  37. corvus_ai-0.3.78/src/corvus/auth/token_store.py +94 -0
  38. corvus_ai-0.3.78/src/corvus/cli.py +3613 -0
  39. corvus_ai-0.3.78/src/corvus/core/__init__.py +100 -0
  40. corvus_ai-0.3.78/src/corvus/core/config.py +315 -0
  41. corvus_ai-0.3.78/src/corvus/core/debug.py +268 -0
  42. corvus_ai-0.3.78/src/corvus/core/exceptions.py +101 -0
  43. corvus_ai-0.3.78/src/corvus/core/health.py +131 -0
  44. corvus_ai-0.3.78/src/corvus/core/logging.py +325 -0
  45. corvus_ai-0.3.78/src/corvus/core/monitoring.py +275 -0
  46. corvus_ai-0.3.78/src/corvus/core/progress.py +478 -0
  47. corvus_ai-0.3.78/src/corvus/core/prometheus.py +414 -0
  48. corvus_ai-0.3.78/src/corvus/core/session.py +478 -0
  49. corvus_ai-0.3.78/src/corvus/core/usage_tracker.py +412 -0
  50. corvus_ai-0.3.78/src/corvus/execution/__init__.py +13 -0
  51. corvus_ai-0.3.78/src/corvus/execution/backends/__init__.py +37 -0
  52. corvus_ai-0.3.78/src/corvus/execution/backends/azure.py +83 -0
  53. corvus_ai-0.3.78/src/corvus/execution/backends/k8s.py +111 -0
  54. corvus_ai-0.3.78/src/corvus/execution/backends/local.py +67 -0
  55. corvus_ai-0.3.78/src/corvus/execution/backends/modal.py +98 -0
  56. corvus_ai-0.3.78/src/corvus/execution/backends/sagemaker.py +109 -0
  57. corvus_ai-0.3.78/src/corvus/execution/backends/skypilot.py +88 -0
  58. corvus_ai-0.3.78/src/corvus/execution/backends/vertex.py +87 -0
  59. corvus_ai-0.3.78/src/corvus/execution/exec_runner.py +60 -0
  60. corvus_ai-0.3.78/src/corvus/execution/runner.py +162 -0
  61. corvus_ai-0.3.78/src/corvus/execution/types.py +74 -0
  62. corvus_ai-0.3.78/src/corvus/jupyter/__init__.py +39 -0
  63. corvus_ai-0.3.78/src/corvus/jupyter/magic.py +495 -0
  64. corvus_ai-0.3.78/src/corvus/jupyter/output.py +262 -0
  65. corvus_ai-0.3.78/src/corvus/jupyter/server_extension.py +62 -0
  66. corvus_ai-0.3.78/src/corvus/knowledge/__init__.py +277 -0
  67. corvus_ai-0.3.78/src/corvus/knowledge/chunking.py +868 -0
  68. corvus_ai-0.3.78/src/corvus/knowledge/context.py +928 -0
  69. corvus_ai-0.3.78/src/corvus/knowledge/document_ingestion.py +849 -0
  70. corvus_ai-0.3.78/src/corvus/knowledge/domain_knowledge.py +747 -0
  71. corvus_ai-0.3.78/src/corvus/knowledge/embeddings.py +904 -0
  72. corvus_ai-0.3.78/src/corvus/knowledge/entity_extraction.py +910 -0
  73. corvus_ai-0.3.78/src/corvus/knowledge/graph_store.py +926 -0
  74. corvus_ai-0.3.78/src/corvus/knowledge/hybrid_retrieval.py +970 -0
  75. corvus_ai-0.3.78/src/corvus/knowledge/ingestion_orchestrator.py +532 -0
  76. corvus_ai-0.3.78/src/corvus/knowledge/memory.py +1507 -0
  77. corvus_ai-0.3.78/src/corvus/knowledge/qdrant_store.py +826 -0
  78. corvus_ai-0.3.78/src/corvus/knowledge/reranking.py +548 -0
  79. corvus_ai-0.3.78/src/corvus/llm/__init__.py +45 -0
  80. corvus_ai-0.3.78/src/corvus/llm/cache_backend.py +150 -0
  81. corvus_ai-0.3.78/src/corvus/llm/cost_tracker.py +323 -0
  82. corvus_ai-0.3.78/src/corvus/llm/fallback.py +390 -0
  83. corvus_ai-0.3.78/src/corvus/llm/router.py +839 -0
  84. corvus_ai-0.3.78/src/corvus/llm/types.py +520 -0
  85. corvus_ai-0.3.78/src/corvus/mcp/__init__.py +96 -0
  86. corvus_ai-0.3.78/src/corvus/mcp/client.py +401 -0
  87. corvus_ai-0.3.78/src/corvus/mcp/integrations/__init__.py +67 -0
  88. corvus_ai-0.3.78/src/corvus/mcp/integrations/base.py +152 -0
  89. corvus_ai-0.3.78/src/corvus/mcp/integrations/cloud_storage.py +1095 -0
  90. corvus_ai-0.3.78/src/corvus/mcp/integrations/docker.py +1090 -0
  91. corvus_ai-0.3.78/src/corvus/mcp/integrations/filesystem.py +637 -0
  92. corvus_ai-0.3.78/src/corvus/mcp/integrations/github.py +1395 -0
  93. corvus_ai-0.3.78/src/corvus/mcp/integrations/huggingface.py +575 -0
  94. corvus_ai-0.3.78/src/corvus/mcp/integrations/mlflow.py +923 -0
  95. corvus_ai-0.3.78/src/corvus/mcp/integrations/postgres.py +706 -0
  96. corvus_ai-0.3.78/src/corvus/mcp/server_manager.py +414 -0
  97. corvus_ai-0.3.78/src/corvus/mcp/tool_adapter.py +254 -0
  98. corvus_ai-0.3.78/src/corvus/mcp_server/__init__.py +16 -0
  99. corvus_ai-0.3.78/src/corvus/mcp_server/auth.py +71 -0
  100. corvus_ai-0.3.78/src/corvus/mcp_server/policy.py +70 -0
  101. corvus_ai-0.3.78/src/corvus/mcp_server/server.py +150 -0
  102. corvus_ai-0.3.78/src/corvus/mlflow/__init__.py +6 -0
  103. corvus_ai-0.3.78/src/corvus/mlflow/config.py +29 -0
  104. corvus_ai-0.3.78/src/corvus/mlflow/injector.py +59 -0
  105. corvus_ai-0.3.78/src/corvus/py.typed +2 -0
  106. corvus_ai-0.3.78/src/corvus/safety/__init__.py +293 -0
  107. corvus_ai-0.3.78/src/corvus/safety/approval_gates.py +729 -0
  108. corvus_ai-0.3.78/src/corvus/safety/context_sanitizer.py +559 -0
  109. corvus_ai-0.3.78/src/corvus/safety/dlp.py +1186 -0
  110. corvus_ai-0.3.78/src/corvus/safety/execution.py +685 -0
  111. corvus_ai-0.3.78/src/corvus/safety/grounding.py +846 -0
  112. corvus_ai-0.3.78/src/corvus/safety/memory_guard.py +665 -0
  113. corvus_ai-0.3.78/src/corvus/safety/prompt_guard.py +665 -0
  114. corvus_ai-0.3.78/src/corvus/safety/quality.py +1023 -0
  115. corvus_ai-0.3.78/src/corvus/safety/rate_limiter.py +712 -0
  116. corvus_ai-0.3.78/src/corvus/safety/retrieval_guard.py +661 -0
  117. corvus_ai-0.3.78/src/corvus/safety/tool_guard.py +928 -0
  118. corvus_ai-0.3.78/src/corvus/skills/__init__.py +53 -0
  119. corvus_ai-0.3.78/src/corvus/skills/adapters/__init__.py +16 -0
  120. corvus_ai-0.3.78/src/corvus/skills/adapters/base.py +72 -0
  121. corvus_ai-0.3.78/src/corvus/skills/adapters/claude_skill.py +419 -0
  122. corvus_ai-0.3.78/src/corvus/skills/adapters/langchain_tool.py +285 -0
  123. corvus_ai-0.3.78/src/corvus/skills/adapters/openapi.py +422 -0
  124. corvus_ai-0.3.78/src/corvus/skills/adapters/python_function.py +392 -0
  125. corvus_ai-0.3.78/src/corvus/skills/async_utils.py +61 -0
  126. corvus_ai-0.3.78/src/corvus/skills/contracts.py +288 -0
  127. corvus_ai-0.3.78/src/corvus/skills/embedding.py +383 -0
  128. corvus_ai-0.3.78/src/corvus/skills/extension_loader.py +77 -0
  129. corvus_ai-0.3.78/src/corvus/skills/library/__init__.py +507 -0
  130. corvus_ai-0.3.78/src/corvus/skills/library/_code_validator.py +71 -0
  131. corvus_ai-0.3.78/src/corvus/skills/library/_constraints.py +175 -0
  132. corvus_ai-0.3.78/src/corvus/skills/library/architecture_recommender.py +5089 -0
  133. corvus_ai-0.3.78/src/corvus/skills/library/cicd_generator.py +1911 -0
  134. corvus_ai-0.3.78/src/corvus/skills/library/dashboard_creator.py +1479 -0
  135. corvus_ai-0.3.78/src/corvus/skills/library/data_profiler.py +1563 -0
  136. corvus_ai-0.3.78/src/corvus/skills/library/distributed_config.py +1003 -0
  137. corvus_ai-0.3.78/src/corvus/skills/library/docker_generator.py +1459 -0
  138. corvus_ai-0.3.78/src/corvus/skills/library/drift_detector.py +5359 -0
  139. corvus_ai-0.3.78/src/corvus/skills/library/endpoint_generator.py +1760 -0
  140. corvus_ai-0.3.78/src/corvus/skills/library/experiment_advisor.py +416 -0
  141. corvus_ai-0.3.78/src/corvus/skills/library/experiment_tracker.py +4294 -0
  142. corvus_ai-0.3.78/src/corvus/skills/library/feature_recommender.py +1919 -0
  143. corvus_ai-0.3.78/src/corvus/skills/library/github_ml_skills.py +1531 -0
  144. corvus_ai-0.3.78/src/corvus/skills/library/huggingface_skills.py +1535 -0
  145. corvus_ai-0.3.78/src/corvus/skills/library/hyperparameter_optimizer.py +2715 -0
  146. corvus_ai-0.3.78/src/corvus/skills/library/k8s_manifest_generator.py +2265 -0
  147. corvus_ai-0.3.78/src/corvus/skills/library/ml_spec_generator.py +181 -0
  148. corvus_ai-0.3.78/src/corvus/skills/library/model_selector.py +2551 -0
  149. corvus_ai-0.3.78/src/corvus/skills/library/monitoring_setup.py +2502 -0
  150. corvus_ai-0.3.78/src/corvus/skills/library/pipeline_generator.py +1915 -0
  151. corvus_ai-0.3.78/src/corvus/skills/library/pytorch_codegen.py +3797 -0
  152. corvus_ai-0.3.78/src/corvus/skills/library/quantization_exporter.py +450 -0
  153. corvus_ai-0.3.78/src/corvus/skills/library/schema_designer.py +4166 -0
  154. corvus_ai-0.3.78/src/corvus/skills/library/terraform_generator.py +3083 -0
  155. corvus_ai-0.3.78/src/corvus/skills/library/validation_generator.py +3040 -0
  156. corvus_ai-0.3.78/src/corvus/skills/output_validator.py +276 -0
  157. corvus_ai-0.3.78/src/corvus/skills/postgres_backend.py +347 -0
  158. corvus_ai-0.3.78/src/corvus/skills/registry.py +539 -0
  159. corvus_ai-0.3.78/src/corvus/skills/sanitization.py +543 -0
  160. corvus_ai-0.3.78/src/corvus/skills/scaffolding.py +159 -0
  161. corvus_ai-0.3.78/src/corvus/skills/schema.py +145 -0
  162. corvus_ai-0.3.78/src/corvus/skills/sdk.py +112 -0
  163. corvus_ai-0.3.78/src/corvus/storage/__init__.py +9 -0
  164. corvus_ai-0.3.78/src/corvus/storage/databricks.py +60 -0
  165. corvus_ai-0.3.78/src/corvus/storage/resolver.py +310 -0
  166. corvus_ai-0.3.78/src/corvus/templates/__init__.py +22 -0
  167. corvus_ai-0.3.78/src/corvus/templates/generator.py +1250 -0
  168. corvus_ai-0.3.78/src/corvus/workspaces/__init__.py +1 -0
  169. corvus_ai-0.3.78/src/corvus/workspaces/context_injector.py +53 -0
  170. corvus_ai-0.3.78/src/corvus/workspaces/manager.py +212 -0
  171. corvus_ai-0.3.78/src/corvus_ai.egg-info/PKG-INFO +363 -0
  172. corvus_ai-0.3.78/src/corvus_ai.egg-info/SOURCES.txt +174 -0
  173. corvus_ai-0.3.78/src/corvus_ai.egg-info/dependency_links.txt +1 -0
  174. corvus_ai-0.3.78/src/corvus_ai.egg-info/entry_points.txt +2 -0
  175. corvus_ai-0.3.78/src/corvus_ai.egg-info/requires.txt +123 -0
  176. corvus_ai-0.3.78/src/corvus_ai.egg-info/top_level.txt +3 -0
@@ -0,0 +1,363 @@
1
+ Metadata-Version: 2.4
2
+ Name: corvus-ai
3
+ Version: 0.3.78
4
+ Summary: Platform-agnostic, extensible AI-powered ML Development Assistant
5
+ Author: Shah Rahman
6
+ Project-URL: Homepage, https://github.com/CloudlyIO/corvus
7
+ Project-URL: Documentation, https://github.com/CloudlyIO/corvus#readme
8
+ Project-URL: Repository, https://github.com/CloudlyIO/corvus
9
+ Project-URL: Issues, https://github.com/CloudlyIO/corvus/issues
10
+ Keywords: ml,ai,assistant,agents,langchain,claude,mcp
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Requires-Python: >=3.10
19
+ Description-Content-Type: text/markdown
20
+ Requires-Dist: pydantic>=2.0
21
+ Requires-Dist: pydantic-settings>=2.0
22
+ Requires-Dist: python-dotenv>=1.0
23
+ Requires-Dist: typer>=0.9
24
+ Requires-Dist: rich>=13.0
25
+ Requires-Dist: prompt-toolkit>=3.0
26
+ Requires-Dist: pyyaml>=6.0
27
+ Requires-Dist: litellm>=1.30
28
+ Requires-Dist: anthropic>=0.25
29
+ Requires-Dist: openai>=1.0
30
+ Requires-Dist: langgraph>=0.1
31
+ Requires-Dist: langchain>=0.2
32
+ Requires-Dist: langchain-core>=0.2
33
+ Requires-Dist: httpx>=0.25
34
+ Requires-Dist: aiofiles>=23.0
35
+ Requires-Dist: python-jose[cryptography]>=3.3
36
+ Requires-Dist: sqlalchemy>=2.0
37
+ Requires-Dist: alembic>=1.13
38
+ Requires-Dist: keyring>=24.0
39
+ Requires-Dist: aiohttp>=3.11.11
40
+ Requires-Dist: urllib3>=2.3.0
41
+ Requires-Dist: werkzeug>=3.1.3
42
+ Requires-Dist: starlette>=0.45.3
43
+ Requires-Dist: setuptools>=75.8.0
44
+ Requires-Dist: certifi>=2024.12.14
45
+ Requires-Dist: jinja2>=3.1.5
46
+ Requires-Dist: cryptography>=44.0.0
47
+ Provides-Extra: dev
48
+ Requires-Dist: pytest>=7.4; extra == "dev"
49
+ Requires-Dist: hypothesis>=6.0; extra == "dev"
50
+ Requires-Dist: pytest-asyncio>=0.21; extra == "dev"
51
+ Requires-Dist: pytest-cov>=4.1; extra == "dev"
52
+ Requires-Dist: pytest-xdist>=3.3; extra == "dev"
53
+ Requires-Dist: pytest-split>=0.8; extra == "dev"
54
+ Requires-Dist: pytest-benchmark>=4.0; extra == "dev"
55
+ Requires-Dist: pytest-mock>=3.10; extra == "dev"
56
+ Requires-Dist: playwright>=1.40; extra == "dev"
57
+ Requires-Dist: ruff>=0.1; extra == "dev"
58
+ Requires-Dist: mypy>=1.5; extra == "dev"
59
+ Requires-Dist: black>=23.0; extra == "dev"
60
+ Requires-Dist: types-PyYAML>=6.0; extra == "dev"
61
+ Requires-Dist: pandas-stubs>=2.0; extra == "dev"
62
+ Requires-Dist: radon>=6.0; extra == "dev"
63
+ Requires-Dist: xenon>=0.9; extra == "dev"
64
+ Requires-Dist: pydocstyle>=6.3; extra == "dev"
65
+ Requires-Dist: sphinx>=7.0; extra == "dev"
66
+ Requires-Dist: sphinx-autodoc-typehints>=2.0; extra == "dev"
67
+ Requires-Dist: mkdocstrings[python]>=0.24; extra == "dev"
68
+ Requires-Dist: pre-commit>=3.5; extra == "dev"
69
+ Requires-Dist: mkdocs>=1.5; extra == "dev"
70
+ Requires-Dist: mkdocs-material>=9.4; extra == "dev"
71
+ Requires-Dist: pandas>=2.0; extra == "dev"
72
+ Requires-Dist: scikit-learn>=1.3; extra == "dev"
73
+ Requires-Dist: scipy>=1.11; extra == "dev"
74
+ Requires-Dist: pyarrow>=14.0; extra == "dev"
75
+ Provides-Extra: knowledge
76
+ Requires-Dist: qdrant-client>=1.7; extra == "knowledge"
77
+ Requires-Dist: sentence-transformers>=2.2; extra == "knowledge"
78
+ Requires-Dist: voyageai>=0.2; extra == "knowledge"
79
+ Requires-Dist: neo4j>=5.0; extra == "knowledge"
80
+ Requires-Dist: unstructured>=0.10; extra == "knowledge"
81
+ Provides-Extra: mcp
82
+ Requires-Dist: mcp>=1.0; extra == "mcp"
83
+ Provides-Extra: ml
84
+ Requires-Dist: torch>=2.0; extra == "ml"
85
+ Requires-Dist: transformers>=4.35; extra == "ml"
86
+ Requires-Dist: huggingface_hub>=0.20; extra == "ml"
87
+ Requires-Dist: mlflow>=2.9; extra == "ml"
88
+ Requires-Dist: wandb>=0.16; extra == "ml"
89
+ Requires-Dist: pandas>=2.0; extra == "ml"
90
+ Requires-Dist: pyarrow>=14.0; extra == "ml"
91
+ Requires-Dist: ydata-profiling>=4.6; extra == "ml"
92
+ Requires-Dist: mem0ai>=0.1; extra == "ml"
93
+ Provides-Extra: eval
94
+ Requires-Dist: dspy-ai>=2.4; extra == "eval"
95
+ Requires-Dist: ragas>=0.1; extra == "eval"
96
+ Requires-Dist: deepeval>=0.20; extra == "eval"
97
+ Requires-Dist: scipy>=1.11; extra == "eval"
98
+ Provides-Extra: api
99
+ Requires-Dist: fastapi>=0.115; extra == "api"
100
+ Requires-Dist: uvicorn[standard]>=0.32; extra == "api"
101
+ Requires-Dist: redis>=5.0; extra == "api"
102
+ Provides-Extra: jupyter
103
+ Requires-Dist: ipython>=7.0; extra == "jupyter"
104
+ Requires-Dist: nest-asyncio>=1.5; extra == "jupyter"
105
+ Requires-Dist: tornado>=6.0; extra == "jupyter"
106
+ Provides-Extra: modal
107
+ Requires-Dist: modal>=0.60; extra == "modal"
108
+ Provides-Extra: aws
109
+ Requires-Dist: sagemaker>=2.200; extra == "aws"
110
+ Requires-Dist: boto3>=1.34; extra == "aws"
111
+ Provides-Extra: gcp
112
+ Requires-Dist: google-cloud-aiplatform>=1.40; extra == "gcp"
113
+ Provides-Extra: azure
114
+ Requires-Dist: azure-ai-ml>=1.14; extra == "azure"
115
+ Requires-Dist: azure-identity>=1.15; extra == "azure"
116
+ Provides-Extra: databricks
117
+ Requires-Dist: databricks-connect>=13.0; extra == "databricks"
118
+ Provides-Extra: run
119
+ Requires-Dist: corvus-ai[aws,azure,gcp,modal]; extra == "run"
120
+ Provides-Extra: storage
121
+ Requires-Dist: fsspec>=2024.1; extra == "storage"
122
+ Requires-Dist: s3fs>=2024.1; extra == "storage"
123
+ Requires-Dist: gcsfs>=2024.1; extra == "storage"
124
+ Requires-Dist: adlfs>=2024.1; extra == "storage"
125
+ Requires-Dist: cloudpathlib[azure,gs,s3]>=0.18; extra == "storage"
126
+ Provides-Extra: all
127
+ Requires-Dist: corvus-ai[api,dev,eval,jupyter,knowledge,mcp,ml,run,storage]; extra == "all"
128
+
129
+ # Corvus - ML Development Assistant
130
+
131
+ [![Test](https://github.com/CloudlyIO/corvus/actions/workflows/test.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/test.yml)
132
+ [![Lint](https://github.com/CloudlyIO/corvus/actions/workflows/lint.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/lint.yml)
133
+ [![Security](https://github.com/CloudlyIO/corvus/actions/workflows/security.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/security.yml)
134
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
135
+ [![Version](https://img.shields.io/badge/version-0.3.78-orange.svg)](CHANGELOG.md)
136
+
137
+ **Platform-agnostic, extensible AI-powered ML Development Assistant**
138
+
139
+ ## Overview
140
+
141
+ Corvus is built on three pillars:
142
+
143
+ 1. **Universal Skills Framework** - 24 ML skill functions across 24 modules for data engineering, model training, deployment, observability, and ML advisory
144
+ 2. **MCP Integration** - 6 MCP server integrations for GitHub, PostgreSQL, Filesystem, MLflow, Docker, and Cloud Storage
145
+ 3. **Knowledge Base** - Hybrid retrieval (BM25 + Vector + RRF), GraphRAG with Neo4j, persistent memory with Mem0
146
+ 4. **AI Safety** - Defense-in-depth security with prompt injection defense, DLP, grounding validation, and quality monitoring
147
+
148
+ ## Features
149
+
150
+ ### Skills Library (24 Skills)
151
+
152
+ | Category | Skills |
153
+ |----------|--------|
154
+ | **Data Engineering** | data-profiler, feature-recommender, pipeline-generator, schema-designer, validation-generator |
155
+ | **Model Training** | model-selector, architecture-recommender, pytorch-codegen, experiment-tracker, distributed-config, hyperparameter-optimizer |
156
+ | **Deployment** | endpoint-generator, docker-generator, terraform-generator, k8s-manifest-generator, cicd-generator, quantization-exporter |
157
+ | **Observability** | monitoring-setup, drift-detector, dashboard-creator |
158
+ | **ML Advisory** | ml-spec-generator, experiment-advisor |
159
+ | **Model Hub** | huggingface-skills, github-ml-skills |
160
+
161
+ ### MCP Integrations (6 Servers)
162
+
163
+ | Server | Capabilities |
164
+ |--------|--------------|
165
+ | **GitHub** | Repository access, PRs, issues, commits |
166
+ | **PostgreSQL** | Database queries, schema management |
167
+ | **Filesystem** | File operations, directory traversal |
168
+ | **MLflow** | Experiment tracking, model registry |
169
+ | **Docker** | Container management, image operations |
170
+ | **S3/GCS** | Cloud storage operations |
171
+
172
+ ### Knowledge Base
173
+
174
+ | Component | Description |
175
+ |-----------|-------------|
176
+ | **Qdrant Vector Store** | Semantic search with voyage-code-3 embeddings |
177
+ | **Hybrid Retrieval** | BM25 + Vector search with RRF fusion |
178
+ | **Cross-Encoder Reranking** | Precision improvement for retrieval |
179
+ | **Neo4j GraphRAG** | Knowledge graph with entity extraction |
180
+ | **Mem0 Memory** | Persistent memory across sessions |
181
+
182
+ ### AI Safety & Guardrails
183
+
184
+ | Component | Purpose |
185
+ |-----------|---------|
186
+ | **Prompt Guard** | Injection detection and input validation |
187
+ | **Tool Guard** | MCP security and sandboxing |
188
+ | **Memory Guard** | Memory injection prevention |
189
+ | **Grounding Validator** | Hallucination prevention with citations |
190
+ | **DLP Scanner** | PII/credential detection and redaction |
191
+ | **Quality Monitor** | Output quality and drift detection |
192
+
193
+ ## Quick Start
194
+
195
+ ```bash
196
+ # Clone
197
+ git clone https://github.com/CloudlyIO/corvus.git
198
+ cd corvus
199
+
200
+ # Install with all dependencies
201
+ pip install -e ".[all]"
202
+
203
+ # Install pre-commit hooks
204
+ pre-commit install --hook-type pre-commit --hook-type commit-msg
205
+
206
+ # Run tests
207
+ make test
208
+ ```
209
+
210
+ ## Usage Examples
211
+
212
+ ### Using Skills
213
+
214
+ ```python
215
+ import asyncio
216
+ from corvus.skills.library.model_selector import select_model
217
+ from corvus.skills.library.pytorch_codegen import generate_pytorch_code
218
+
219
+ async def main():
220
+ # Select a model for your task
221
+ result = await select_model(
222
+ task_type="classification",
223
+ data_characteristics={
224
+ "num_samples": 10000,
225
+ "num_features": 50,
226
+ "num_classes": 3,
227
+ },
228
+ )
229
+ print(f"Recommended: {result['recommended_model']}")
230
+
231
+ # Generate PyTorch training code
232
+ code = await generate_pytorch_code(
233
+ model_type="mlp_classifier",
234
+ input_features=50,
235
+ output_classes=3,
236
+ hidden_layers=[128, 64],
237
+ )
238
+ print(code["model_code"])
239
+
240
+ asyncio.run(main())
241
+ ```
242
+
243
+ ### Using Safety Features
244
+
245
+ ```python
246
+ from corvus.safety import (
247
+ validate_input,
248
+ create_dlp_scanner,
249
+ assess_quality,
250
+ )
251
+
252
+ # Validate user input for injection attempts
253
+ result = validate_input("Help me build a classifier")
254
+ if result.is_safe:
255
+ print("Input is safe")
256
+
257
+ # Scan for sensitive data
258
+ scanner = create_dlp_scanner()
259
+ dlp_result = scanner.scan_content("Contact: john@example.com")
260
+ if dlp_result.pii_count > 0:
261
+ print("PII detected!")
262
+
263
+ # Assess response quality
264
+ quality = assess_quality(
265
+ "Here's a detailed explanation with examples...",
266
+ prompt="Explain gradient descent"
267
+ )
268
+ print(f"Quality score: {quality.overall_score:.2f}")
269
+ ```
270
+
271
+ ### Running the E2E Demo
272
+
273
+ ```bash
274
+ # Run the complete ML workflow demo
275
+ python3 demos/e2e/ml_workflow_demo.py
276
+ ```
277
+
278
+ ## Development
279
+
280
+ ```bash
281
+ # Testing (TDD)
282
+ make test # Unit tests
283
+ make test-all # All tests
284
+ make test-cov # With coverage
285
+
286
+ # Evaluation (EDD)
287
+ make benchmark # Run benchmarks
288
+
289
+ # Quality
290
+ make lint # Ruff linting
291
+ make format # Black formatting
292
+ make quality # Lint + typecheck
293
+ ```
294
+
295
+ ## Project Structure
296
+
297
+ ```
298
+ corvus/
299
+ ├── src/corvus/ # Main package
300
+ │ ├── core/ # Config, exceptions
301
+ │ ├── skills/ # Universal skills framework (24 skills)
302
+ │ ├── llm/ # LLM gateway (LiteLLM)
303
+ │ ├── agents/ # Agent orchestration (LangGraph)
304
+ │ ├── knowledge/ # Knowledge base (RAG/GraphRAG/Memory)
305
+ │ ├── mcp/ # MCP integrations (6 servers)
306
+ │ └── safety/ # AI safety & guardrails (6 components)
307
+ ├── tests/ # Test suite
308
+ │ ├── unit/ # 10,168+ tests
309
+ │ ├── integration/ # integration tests
310
+ │ └── e2e/ # End-to-end tests
311
+ ├── benchmarks/ # Performance benchmarks
312
+ ├── demos/ # Executable examples
313
+ │ ├── skills/ # Individual skill demos
314
+ │ ├── knowledge/ # Knowledge base demos
315
+ │ ├── mcp/ # MCP integration demos
316
+ │ ├── safety/ # Safety feature demos
317
+ │ └── e2e/ # End-to-end workflow demos
318
+ └── docs/ # Documentation
319
+ ```
320
+
321
+ ## Documentation
322
+
323
+ | Document | Description |
324
+ |----------|-------------|
325
+ | [Documentation Index](docs/index.md) | All guides, API reference, architecture docs |
326
+ | [Status](docs/STATUS.md) | Current project status |
327
+ | [Architecture](docs/architecture/overview.md) | Technical architecture |
328
+ | [Contributing](CONTRIBUTING.md) | Developer workflow |
329
+ | [Changelog](CHANGELOG.md) | Version history |
330
+
331
+ ## Configuration
332
+
333
+ ```bash
334
+ # Core
335
+ CORVUS_DEBUG=true|false
336
+ CORVUS_LOG_LEVEL=INFO|DEBUG|WARNING|ERROR
337
+
338
+ # LLM
339
+ CORVUS_LLM_DEFAULT_PROVIDER=anthropic|openai
340
+ CORVUS_LLM_DEFAULT_MODEL=claude-sonnet-4-20250514
341
+
342
+ # Knowledge Base
343
+ CORVUS_KNOWLEDGE_VECTOR_STORE=qdrant
344
+ CORVUS_KNOWLEDGE_EMBEDDING_MODEL=voyage-code-3
345
+ ```
346
+
347
+ ## Technology Stack
348
+
349
+ | Layer | Technology |
350
+ |-------|------------|
351
+ | Agent Orchestration | LangGraph |
352
+ | LLM Gateway | LiteLLM |
353
+ | Primary LLM | Claude Sonnet 4 / Opus 4.5 |
354
+ | Vector Database | Qdrant |
355
+ | Knowledge Graph | Neo4j |
356
+ | Code Embeddings | voyage-code-3 |
357
+ | Text Embeddings | e5-large-v2 |
358
+ | Memory System | Mem0 |
359
+ | Tool Integration | MCP |
360
+
361
+ ## License
362
+
363
+ MIT
@@ -0,0 +1,235 @@
1
+ # Corvus - ML Development Assistant
2
+
3
+ [![Test](https://github.com/CloudlyIO/corvus/actions/workflows/test.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/test.yml)
4
+ [![Lint](https://github.com/CloudlyIO/corvus/actions/workflows/lint.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/lint.yml)
5
+ [![Security](https://github.com/CloudlyIO/corvus/actions/workflows/security.yml/badge.svg)](https://github.com/CloudlyIO/corvus/actions/workflows/security.yml)
6
+ [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
7
+ [![Version](https://img.shields.io/badge/version-0.3.78-orange.svg)](CHANGELOG.md)
8
+
9
+ **Platform-agnostic, extensible AI-powered ML Development Assistant**
10
+
11
+ ## Overview
12
+
13
+ Corvus is built on three pillars:
14
+
15
+ 1. **Universal Skills Framework** - 24 ML skill functions across 24 modules for data engineering, model training, deployment, observability, and ML advisory
16
+ 2. **MCP Integration** - 6 MCP server integrations for GitHub, PostgreSQL, Filesystem, MLflow, Docker, and Cloud Storage
17
+ 3. **Knowledge Base** - Hybrid retrieval (BM25 + Vector + RRF), GraphRAG with Neo4j, persistent memory with Mem0
18
+ 4. **AI Safety** - Defense-in-depth security with prompt injection defense, DLP, grounding validation, and quality monitoring
19
+
20
+ ## Features
21
+
22
+ ### Skills Library (24 Skills)
23
+
24
+ | Category | Skills |
25
+ |----------|--------|
26
+ | **Data Engineering** | data-profiler, feature-recommender, pipeline-generator, schema-designer, validation-generator |
27
+ | **Model Training** | model-selector, architecture-recommender, pytorch-codegen, experiment-tracker, distributed-config, hyperparameter-optimizer |
28
+ | **Deployment** | endpoint-generator, docker-generator, terraform-generator, k8s-manifest-generator, cicd-generator, quantization-exporter |
29
+ | **Observability** | monitoring-setup, drift-detector, dashboard-creator |
30
+ | **ML Advisory** | ml-spec-generator, experiment-advisor |
31
+ | **Model Hub** | huggingface-skills, github-ml-skills |
32
+
33
+ ### MCP Integrations (6 Servers)
34
+
35
+ | Server | Capabilities |
36
+ |--------|--------------|
37
+ | **GitHub** | Repository access, PRs, issues, commits |
38
+ | **PostgreSQL** | Database queries, schema management |
39
+ | **Filesystem** | File operations, directory traversal |
40
+ | **MLflow** | Experiment tracking, model registry |
41
+ | **Docker** | Container management, image operations |
42
+ | **S3/GCS** | Cloud storage operations |
43
+
44
+ ### Knowledge Base
45
+
46
+ | Component | Description |
47
+ |-----------|-------------|
48
+ | **Qdrant Vector Store** | Semantic search with voyage-code-3 embeddings |
49
+ | **Hybrid Retrieval** | BM25 + Vector search with RRF fusion |
50
+ | **Cross-Encoder Reranking** | Precision improvement for retrieval |
51
+ | **Neo4j GraphRAG** | Knowledge graph with entity extraction |
52
+ | **Mem0 Memory** | Persistent memory across sessions |
53
+
54
+ ### AI Safety & Guardrails
55
+
56
+ | Component | Purpose |
57
+ |-----------|---------|
58
+ | **Prompt Guard** | Injection detection and input validation |
59
+ | **Tool Guard** | MCP security and sandboxing |
60
+ | **Memory Guard** | Memory injection prevention |
61
+ | **Grounding Validator** | Hallucination prevention with citations |
62
+ | **DLP Scanner** | PII/credential detection and redaction |
63
+ | **Quality Monitor** | Output quality and drift detection |
64
+
65
+ ## Quick Start
66
+
67
+ ```bash
68
+ # Clone
69
+ git clone https://github.com/CloudlyIO/corvus.git
70
+ cd corvus
71
+
72
+ # Install with all dependencies
73
+ pip install -e ".[all]"
74
+
75
+ # Install pre-commit hooks
76
+ pre-commit install --hook-type pre-commit --hook-type commit-msg
77
+
78
+ # Run tests
79
+ make test
80
+ ```
81
+
82
+ ## Usage Examples
83
+
84
+ ### Using Skills
85
+
86
+ ```python
87
+ import asyncio
88
+ from corvus.skills.library.model_selector import select_model
89
+ from corvus.skills.library.pytorch_codegen import generate_pytorch_code
90
+
91
+ async def main():
92
+ # Select a model for your task
93
+ result = await select_model(
94
+ task_type="classification",
95
+ data_characteristics={
96
+ "num_samples": 10000,
97
+ "num_features": 50,
98
+ "num_classes": 3,
99
+ },
100
+ )
101
+ print(f"Recommended: {result['recommended_model']}")
102
+
103
+ # Generate PyTorch training code
104
+ code = await generate_pytorch_code(
105
+ model_type="mlp_classifier",
106
+ input_features=50,
107
+ output_classes=3,
108
+ hidden_layers=[128, 64],
109
+ )
110
+ print(code["model_code"])
111
+
112
+ asyncio.run(main())
113
+ ```
114
+
115
+ ### Using Safety Features
116
+
117
+ ```python
118
+ from corvus.safety import (
119
+ validate_input,
120
+ create_dlp_scanner,
121
+ assess_quality,
122
+ )
123
+
124
+ # Validate user input for injection attempts
125
+ result = validate_input("Help me build a classifier")
126
+ if result.is_safe:
127
+ print("Input is safe")
128
+
129
+ # Scan for sensitive data
130
+ scanner = create_dlp_scanner()
131
+ dlp_result = scanner.scan_content("Contact: john@example.com")
132
+ if dlp_result.pii_count > 0:
133
+ print("PII detected!")
134
+
135
+ # Assess response quality
136
+ quality = assess_quality(
137
+ "Here's a detailed explanation with examples...",
138
+ prompt="Explain gradient descent"
139
+ )
140
+ print(f"Quality score: {quality.overall_score:.2f}")
141
+ ```
142
+
143
+ ### Running the E2E Demo
144
+
145
+ ```bash
146
+ # Run the complete ML workflow demo
147
+ python3 demos/e2e/ml_workflow_demo.py
148
+ ```
149
+
150
+ ## Development
151
+
152
+ ```bash
153
+ # Testing (TDD)
154
+ make test # Unit tests
155
+ make test-all # All tests
156
+ make test-cov # With coverage
157
+
158
+ # Evaluation (EDD)
159
+ make benchmark # Run benchmarks
160
+
161
+ # Quality
162
+ make lint # Ruff linting
163
+ make format # Black formatting
164
+ make quality # Lint + typecheck
165
+ ```
166
+
167
+ ## Project Structure
168
+
169
+ ```
170
+ corvus/
171
+ ├── src/corvus/ # Main package
172
+ │ ├── core/ # Config, exceptions
173
+ │ ├── skills/ # Universal skills framework (24 skills)
174
+ │ ├── llm/ # LLM gateway (LiteLLM)
175
+ │ ├── agents/ # Agent orchestration (LangGraph)
176
+ │ ├── knowledge/ # Knowledge base (RAG/GraphRAG/Memory)
177
+ │ ├── mcp/ # MCP integrations (6 servers)
178
+ │ └── safety/ # AI safety & guardrails (6 components)
179
+ ├── tests/ # Test suite
180
+ │ ├── unit/ # 10,168+ tests
181
+ │ ├── integration/ # integration tests
182
+ │ └── e2e/ # End-to-end tests
183
+ ├── benchmarks/ # Performance benchmarks
184
+ ├── demos/ # Executable examples
185
+ │ ├── skills/ # Individual skill demos
186
+ │ ├── knowledge/ # Knowledge base demos
187
+ │ ├── mcp/ # MCP integration demos
188
+ │ ├── safety/ # Safety feature demos
189
+ │ └── e2e/ # End-to-end workflow demos
190
+ └── docs/ # Documentation
191
+ ```
192
+
193
+ ## Documentation
194
+
195
+ | Document | Description |
196
+ |----------|-------------|
197
+ | [Documentation Index](docs/index.md) | All guides, API reference, architecture docs |
198
+ | [Status](docs/STATUS.md) | Current project status |
199
+ | [Architecture](docs/architecture/overview.md) | Technical architecture |
200
+ | [Contributing](CONTRIBUTING.md) | Developer workflow |
201
+ | [Changelog](CHANGELOG.md) | Version history |
202
+
203
+ ## Configuration
204
+
205
+ ```bash
206
+ # Core
207
+ CORVUS_DEBUG=true|false
208
+ CORVUS_LOG_LEVEL=INFO|DEBUG|WARNING|ERROR
209
+
210
+ # LLM
211
+ CORVUS_LLM_DEFAULT_PROVIDER=anthropic|openai
212
+ CORVUS_LLM_DEFAULT_MODEL=claude-sonnet-4-20250514
213
+
214
+ # Knowledge Base
215
+ CORVUS_KNOWLEDGE_VECTOR_STORE=qdrant
216
+ CORVUS_KNOWLEDGE_EMBEDDING_MODEL=voyage-code-3
217
+ ```
218
+
219
+ ## Technology Stack
220
+
221
+ | Layer | Technology |
222
+ |-------|------------|
223
+ | Agent Orchestration | LangGraph |
224
+ | LLM Gateway | LiteLLM |
225
+ | Primary LLM | Claude Sonnet 4 / Opus 4.5 |
226
+ | Vector Database | Qdrant |
227
+ | Knowledge Graph | Neo4j |
228
+ | Code Embeddings | voyage-code-3 |
229
+ | Text Embeddings | e5-large-v2 |
230
+ | Memory System | Mem0 |
231
+ | Tool Integration | MCP |
232
+
233
+ ## License
234
+
235
+ MIT