dao-ai 0.0.6__tar.gz → 0.0.7__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.
- dao_ai-0.0.7/.python-version +1 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/PKG-INFO +10 -11
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/dais2025/model_config_dais.yaml +1 -1
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/hardware_store/supervisor_postgres.yaml +27 -18
- {dao_ai-0.0.6 → dao_ai-0.0.7}/databricks.yaml +8 -9
- dao_ai-0.0.7/environment.yaml +52 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/06_run_evaluation.py +8 -2
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/08_run_examples.py +2 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/pyproject.toml +10 -11
- {dao_ai-0.0.6 → dao_ai-0.0.7}/requirements.txt +15 -15
- {dao_ai-0.0.6 → dao_ai-0.0.7}/schemas/model_config_schema.json +32 -10
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/cli.py +3 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/config.py +21 -3
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/graph.py +31 -31
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/hooks/__init__.py +2 -0
- dao_ai-0.0.7/src/dao_ai/hooks/core.py +223 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/memory/postgres.py +6 -6
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/messages.py +6 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/models.py +66 -32
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/nodes.py +12 -10
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/providers/databricks.py +83 -3
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/state.py +7 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/tools/__init__.py +3 -4
- dao_ai-0.0.7/src/dao_ai/tools/core.py +59 -0
- dao_ai-0.0.7/src/dao_ai/tools/human_in_the_loop.py +96 -0
- dao_ai-0.0.7/src/dao_ai/tools/mcp.py +118 -0
- dao_ai-0.0.7/src/dao_ai/tools/python.py +60 -0
- dao_ai-0.0.7/src/dao_ai/tools/unity_catalog.py +50 -0
- dao_ai-0.0.7/src/hardware_store/hooks.py +68 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_chat_history.py +33 -12
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_config.py +112 -167
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_mcp.py +3 -2
- dao_ai-0.0.7/tests/dao_ai/test_summarization_inference.py +364 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_tools.py +8 -8
- dao_ai-0.0.6/.python-version +0 -1
- dao_ai-0.0.6/src/dao_ai/hooks/core.py +0 -157
- dao_ai-0.0.6/src/dao_ai/tools/core.py +0 -352
- dao_ai-0.0.6/src/hardware_store/hooks.py +0 -61
- {dao_ai-0.0.6 → dao_ai-0.0.7}/.gitignore +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/CHANGELOG.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/LICENSE +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/Makefile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/genie.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/mcp.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/hardware_store/supervisor.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/genie.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/examples/hardware_store/examples.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/01_ingest_and_transform.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/02_provision_vector_search.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/03_generate_evaluation_data.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/04_unity_catalog_tools.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/05_agent_as_code_driver.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/09_evaluate_inferences.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/notebooks/99_scratchpad.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/schemas/bundle_config_schema.json +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/agent_as_code.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/guardrails.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/memory/core.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/prompts.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/tools/agent.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/tools/genie.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/tools/vector_search.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/utils.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/conftest.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_databricks.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_function_parsing.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_inference.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_utils.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/hardware_store/test_graph.py +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.6 → dao_ai-0.0.7}/tests/quick_serve_restaurant/.gitkeep +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.12
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.7
|
|
4
4
|
Summary: DAO AI: A modular, multi-agent orchestration framework for complex AI workflows. Supports agent handoff, tool integration, and dynamic configuration via YAML.
|
|
5
5
|
Project-URL: Homepage, https://github.com/natefleming/dao-ai
|
|
6
6
|
Project-URL: Documentation, https://natefleming.github.io/dao-ai
|
|
@@ -23,28 +23,27 @@ Classifier: Programming Language :: Python :: 3.13
|
|
|
23
23
|
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
24
24
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
25
25
|
Classifier: Topic :: System :: Distributed Computing
|
|
26
|
-
Requires-Python: >=3.
|
|
26
|
+
Requires-Python: >=3.12
|
|
27
27
|
Requires-Dist: databricks-agents>=1.2.0
|
|
28
28
|
Requires-Dist: databricks-langchain>=0.4.2
|
|
29
29
|
Requires-Dist: databricks-sdk[openai]>=0.55.0
|
|
30
30
|
Requires-Dist: databricks-vectorsearch>=0.56
|
|
31
31
|
Requires-Dist: duckduckgo-search>=8.0.2
|
|
32
32
|
Requires-Dist: grandalf>=0.8
|
|
33
|
-
Requires-Dist: langchain-mcp-adapters>=0.1.
|
|
34
|
-
Requires-Dist: langchain>=0.3.
|
|
35
|
-
Requires-Dist: langgraph-checkpoint-postgres>=2.0.
|
|
36
|
-
Requires-Dist: langgraph-
|
|
37
|
-
Requires-Dist: langgraph-
|
|
38
|
-
Requires-Dist: langgraph
|
|
39
|
-
Requires-Dist:
|
|
40
|
-
Requires-Dist: langmem>=0.0.27
|
|
33
|
+
Requires-Dist: langchain-mcp-adapters>=0.1.9
|
|
34
|
+
Requires-Dist: langchain>=0.3.27
|
|
35
|
+
Requires-Dist: langgraph-checkpoint-postgres>=2.0.23
|
|
36
|
+
Requires-Dist: langgraph-supervisor>=0.0.29
|
|
37
|
+
Requires-Dist: langgraph-swarm>=0.0.14
|
|
38
|
+
Requires-Dist: langgraph>=0.6.5
|
|
39
|
+
Requires-Dist: langmem>=0.0.29
|
|
41
40
|
Requires-Dist: loguru>=0.7.3
|
|
42
41
|
Requires-Dist: mcp>=1.9.1
|
|
43
42
|
Requires-Dist: mlflow>=3.1.1
|
|
44
43
|
Requires-Dist: nest-asyncio>=1.6.0
|
|
45
44
|
Requires-Dist: openevals>=0.0.19
|
|
46
45
|
Requires-Dist: openpyxl>=3.1.5
|
|
47
|
-
Requires-Dist: psycopg[binary,pool]>=3.2.
|
|
46
|
+
Requires-Dist: psycopg[binary,pool]>=3.2.9
|
|
48
47
|
Requires-Dist: pydantic>=2.11.3
|
|
49
48
|
Requires-Dist: python-dotenv>=1.1.0
|
|
50
49
|
Requires-Dist: pyyaml>=6.0.2
|
|
@@ -14,10 +14,13 @@ schemas:
|
|
|
14
14
|
retail_schema: &retail_schema
|
|
15
15
|
catalog_name: retail_consumer_goods # Unity Catalog name
|
|
16
16
|
schema_name: hardware_store # Schema within the catalog
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
permissions: # Access permissions for the schema
|
|
18
|
+
- principals: [users] # Grant access to all users
|
|
19
|
+
privileges:
|
|
20
|
+
- USE_CATALOG # Full permissions for demo purposes
|
|
21
|
+
- USE_SCHEMA # Full permissions for demo purposes
|
|
22
|
+
- SELECT # Full permissions for demo purposes
|
|
23
|
+
- EXECUTE # Full permissions for demo purposes
|
|
21
24
|
|
|
22
25
|
# =============================================================================
|
|
23
26
|
# RESOURCES CONFIGURATION
|
|
@@ -33,7 +36,7 @@ resources:
|
|
|
33
36
|
llms:
|
|
34
37
|
# Primary LLM for general tasks
|
|
35
38
|
default_llm: &default_llm
|
|
36
|
-
name: databricks-claude-3-7-sonnet
|
|
39
|
+
name: databricks-claude-3-7-sonnet # Databricks serving endpoint name
|
|
37
40
|
temperature: 0.1 # Low temperature for consistent responses
|
|
38
41
|
max_tokens: 8192 # Maximum tokens per response
|
|
39
42
|
|
|
@@ -462,8 +465,8 @@ agents:
|
|
|
462
465
|
model: *tool_calling_llm # Reference to LLM configuration
|
|
463
466
|
tools: # Tools available to this agent
|
|
464
467
|
- *find_product_details_by_description_tool
|
|
465
|
-
guardrails:
|
|
466
|
-
|
|
468
|
+
guardrails: [] # Quality checks (currently disabled)
|
|
469
|
+
# - *llm_judge_guardrail
|
|
467
470
|
prompt: | # System prompt defining agent behavior
|
|
468
471
|
### User Information
|
|
469
472
|
- **User Id**: {user_id}
|
|
@@ -912,13 +915,13 @@ agents:
|
|
|
912
915
|
# and agent orchestration patterns for the multi-agent system
|
|
913
916
|
|
|
914
917
|
app:
|
|
915
|
-
name:
|
|
918
|
+
name: hardware_store_postgres_beta # Application name
|
|
916
919
|
description: "Multi-agent system for retail customer service and product assistance"
|
|
917
920
|
log_level: DEBUG # Logging level for the application
|
|
918
921
|
registered_model: # MLflow registered model configuration
|
|
919
922
|
schema: *retail_schema # Schema where model will be registered
|
|
920
|
-
name:
|
|
921
|
-
endpoint_name:
|
|
923
|
+
name: hardware_store_postgres_beta # Model name in MLflow registry
|
|
924
|
+
endpoint_name: hardware_store_postgres_beta # Model serving endpoint name
|
|
922
925
|
environment_vars:
|
|
923
926
|
PGHOST: "{{secrets/retail_ai/PGHOST}}" # Databricks host URL
|
|
924
927
|
RETAIL_AI_DATABRICKS_CLIENT_ID: "{{secrets/retail_ai/RETAIL_AI_DATABRICKS_CLIENT_ID}}"
|
|
@@ -926,7 +929,7 @@ app:
|
|
|
926
929
|
RETAIL_AI_DATABRICKS_HOST: "{{secrets/retail_ai/RETAIL_AI_DATABRICKS_HOST}}"
|
|
927
930
|
tags: # Tags for resource organization
|
|
928
931
|
business: rcg # Business unit identifier
|
|
929
|
-
streaming:
|
|
932
|
+
streaming: True # Indicates streaming capabilities
|
|
930
933
|
permissions: # Model serving permissions
|
|
931
934
|
- principals: [users] # Grant access to all users
|
|
932
935
|
entitlements:
|
|
@@ -943,6 +946,9 @@ app:
|
|
|
943
946
|
memory: *memory # Memory store for conversation context
|
|
944
947
|
supervisor: # Supervisor orchestration pattern
|
|
945
948
|
model: *tool_calling_llm # LLM for routing decisions
|
|
949
|
+
# swarm:
|
|
950
|
+
# model: *tool_calling_llm
|
|
951
|
+
# default_agent: *general
|
|
946
952
|
|
|
947
953
|
message_hooks:
|
|
948
954
|
- dao_ai.hooks.null_hook
|
|
@@ -956,14 +962,11 @@ app:
|
|
|
956
962
|
thread_id: "1"
|
|
957
963
|
user_id: my_user_id
|
|
958
964
|
store_num: 87887
|
|
959
|
-
|
|
965
|
+
chat_history:
|
|
960
966
|
#max_tokens: 256
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
# swarm:
|
|
965
|
-
# model: *tool_calling_llm
|
|
966
|
-
# default_agent: *general
|
|
967
|
+
max_messages_before_summary: 5
|
|
968
|
+
model: *fast_llm # Model for summarization tasks
|
|
969
|
+
|
|
967
970
|
|
|
968
971
|
# =============================================================================
|
|
969
972
|
# UNITY CATALOG FUNCTIONS DEPLOYMENT
|
|
@@ -1033,6 +1036,12 @@ evaluation:
|
|
|
1033
1036
|
thread_id: "1"
|
|
1034
1037
|
user_id: nate_fleming
|
|
1035
1038
|
store_num: 87887
|
|
1039
|
+
guidelines:
|
|
1040
|
+
- name: MyRelevanceGuideline
|
|
1041
|
+
guidelines:
|
|
1042
|
+
- Ensure responses are relevant to the user's query
|
|
1043
|
+
- Prioritize information from the user's context
|
|
1044
|
+
- Avoid unnecessary jargon or technical details
|
|
1036
1045
|
|
|
1037
1046
|
# =============================================================================
|
|
1038
1047
|
# DATASETS CONFIGURATION
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# yaml-language-server: $schema=./schemas/bundle_config_schema.json
|
|
2
2
|
|
|
3
|
-
|
|
4
3
|
bundle:
|
|
5
4
|
name: dao-ai-bundle
|
|
6
5
|
|
|
@@ -31,11 +30,11 @@ resources:
|
|
|
31
30
|
spark_version: 16.2.x-scala2.12
|
|
32
31
|
num_workers: 1
|
|
33
32
|
environments:
|
|
34
|
-
- environment_key:
|
|
33
|
+
- environment_key: dao-ai-env
|
|
35
34
|
spec:
|
|
36
|
-
client: "
|
|
35
|
+
client: "4"
|
|
37
36
|
dependencies:
|
|
38
|
-
-
|
|
37
|
+
- -r ${workspace.file_path}/requirements.txt
|
|
39
38
|
tasks:
|
|
40
39
|
- task_key: ingest-and-transform
|
|
41
40
|
notebook_task:
|
|
@@ -50,7 +49,7 @@ resources:
|
|
|
50
49
|
notebook_path: ./notebooks/02_provision_vector_search.py
|
|
51
50
|
base_parameters:
|
|
52
51
|
config-path: ${var.config_path}
|
|
53
|
-
environment_key:
|
|
52
|
+
environment_key: dao-ai-env
|
|
54
53
|
- task_key: generate-evaluation-data
|
|
55
54
|
depends_on:
|
|
56
55
|
- task_key: provision-vector-search
|
|
@@ -58,7 +57,7 @@ resources:
|
|
|
58
57
|
notebook_path: ./notebooks/03_generate_evaluation_data.py
|
|
59
58
|
base_parameters:
|
|
60
59
|
config-path: ${var.config_path}
|
|
61
|
-
environment_key:
|
|
60
|
+
environment_key: dao-ai-env
|
|
62
61
|
- task_key: unity-catalog-tools
|
|
63
62
|
depends_on:
|
|
64
63
|
- task_key: provision-vector-search
|
|
@@ -66,7 +65,7 @@ resources:
|
|
|
66
65
|
notebook_path: ./notebooks/04_unity_catalog_tools.py
|
|
67
66
|
base_parameters:
|
|
68
67
|
config-path: ${var.config_path}
|
|
69
|
-
environment_key:
|
|
68
|
+
environment_key: dao-ai-env
|
|
70
69
|
- task_key: deploy-agents
|
|
71
70
|
depends_on:
|
|
72
71
|
- task_key: unity-catalog-tools
|
|
@@ -74,7 +73,7 @@ resources:
|
|
|
74
73
|
notebook_path: ./notebooks/05_agent_as_code_driver.py
|
|
75
74
|
base_parameters:
|
|
76
75
|
config-path: ${var.config_path}
|
|
77
|
-
environment_key:
|
|
76
|
+
environment_key: dao-ai-env
|
|
78
77
|
- task_key: run-evaluation
|
|
79
78
|
depends_on:
|
|
80
79
|
- task_key: deploy-agents
|
|
@@ -83,7 +82,7 @@ resources:
|
|
|
83
82
|
notebook_path: ./notebooks/06_run_evaluation.py
|
|
84
83
|
base_parameters:
|
|
85
84
|
config-path: ${var.config_path}
|
|
86
|
-
environment_key:
|
|
85
|
+
environment_key: dao-ai-env
|
|
87
86
|
|
|
88
87
|
targets:
|
|
89
88
|
dev:
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
environment_version: '3'
|
|
2
|
+
dependencies:
|
|
3
|
+
- --index-url https://pypi.org/simple
|
|
4
|
+
# Core framework dependencies
|
|
5
|
+
- langchain==0.3.27
|
|
6
|
+
- langchain-core==0.3.72
|
|
7
|
+
- langchain-community==0.3.26
|
|
8
|
+
- langchain-anthropic==0.3.18
|
|
9
|
+
- langchain-openai==0.3.24
|
|
10
|
+
- langgraph==0.6.5
|
|
11
|
+
- langgraph-checkpoint==2.1.1
|
|
12
|
+
- langgraph-checkpoint-postgres==2.0.23
|
|
13
|
+
- langgraph-prebuilt==0.6.3
|
|
14
|
+
- langgraph-supervisor==0.0.29
|
|
15
|
+
- langmem==0.0.29
|
|
16
|
+
- langsmith==0.4.1
|
|
17
|
+
# Databricks dependencies
|
|
18
|
+
- databricks-agents==1.2.0
|
|
19
|
+
- databricks-ai-bridge==0.5.1
|
|
20
|
+
- databricks-langchain==0.5.1
|
|
21
|
+
- databricks-sdk==0.61.0
|
|
22
|
+
- databricks-vectorsearch==0.56
|
|
23
|
+
- unitycatalog-ai==0.3.1
|
|
24
|
+
- unitycatalog-langchain==0.2.0
|
|
25
|
+
# MLflow and AI model dependencies
|
|
26
|
+
- mlflow==3.1.1
|
|
27
|
+
- anthropic==0.60.0
|
|
28
|
+
- openai==1.90.0
|
|
29
|
+
- tiktoken==0.9.0
|
|
30
|
+
# Data processing dependencies
|
|
31
|
+
- pandas==2.3.0
|
|
32
|
+
- numpy==1.26.4
|
|
33
|
+
- pyarrow==20.0.0
|
|
34
|
+
- sqlparse==0.5.3
|
|
35
|
+
- pydantic==2.11.7
|
|
36
|
+
- pydantic-settings==2.10.0
|
|
37
|
+
# Database dependencies
|
|
38
|
+
- psycopg==3.2.9
|
|
39
|
+
- psycopg-binary==3.2.9
|
|
40
|
+
- psycopg-pool==3.2.6
|
|
41
|
+
- sqlalchemy==2.0.41
|
|
42
|
+
# Web framework dependencies
|
|
43
|
+
- fastapi==0.115.13
|
|
44
|
+
- uvicorn==0.34.3
|
|
45
|
+
- starlette==0.46.2
|
|
46
|
+
# Utilities
|
|
47
|
+
- loguru==0.7.3
|
|
48
|
+
- python-dotenv==1.1.0
|
|
49
|
+
- pyyaml==6.0.2
|
|
50
|
+
- requests==2.32.4
|
|
51
|
+
- tenacity==9.1.2
|
|
52
|
+
- typing-extensions==4.14.0
|
|
@@ -225,14 +225,20 @@ eval_df: pd.DataFrame = spark.read.table(payload_table).toPandas()
|
|
|
225
225
|
|
|
226
226
|
evaluation_table_name: str = config.evaluation.table.full_name
|
|
227
227
|
|
|
228
|
-
|
|
228
|
+
scorers = [Safety(), clarity, response_completeness, tool_call_efficiency]
|
|
229
|
+
custom_scorers = []
|
|
230
|
+
|
|
231
|
+
if config.evaluation.guidelines:
|
|
232
|
+
custom_scorers = [Guidelines(name=guideline.name, guidelines=guideline.guidelines) for guideline in config.evaluation.guidelines]
|
|
233
|
+
|
|
234
|
+
scorers += custom_scorers
|
|
229
235
|
|
|
230
236
|
with mlflow.start_run(run_id=model_version.run_id):
|
|
231
237
|
eval_results = mlflow.genai.evaluate(
|
|
232
238
|
data=eval_df,
|
|
233
239
|
predict_fn=predict_fn,
|
|
234
240
|
model_id=model_version.model_id,
|
|
235
|
-
scorers=
|
|
241
|
+
scorers=scorers,
|
|
236
242
|
)
|
|
237
243
|
|
|
238
244
|
|
|
@@ -4,11 +4,11 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dao-ai"
|
|
7
|
-
version = "0.0.
|
|
7
|
+
version = "0.0.7"
|
|
8
8
|
description = "DAO AI: A modular, multi-agent orchestration framework for complex AI workflows. Supports agent handoff, tool integration, and dynamic configuration via YAML."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { text = "MIT" }
|
|
11
|
-
requires-python = ">=3.
|
|
11
|
+
requires-python = ">=3.12"
|
|
12
12
|
authors = [
|
|
13
13
|
{ name = "Nate Fleming", email = "nate.fleming@databricks.com" },
|
|
14
14
|
{ name = "Nate Fleming", email = "nate.fleming@gmail.com" },
|
|
@@ -48,21 +48,20 @@ dependencies = [
|
|
|
48
48
|
"databricks-vectorsearch>=0.56",
|
|
49
49
|
"duckduckgo-search>=8.0.2",
|
|
50
50
|
"grandalf>=0.8",
|
|
51
|
-
"langchain>=0.3.
|
|
52
|
-
"langchain-mcp-adapters>=0.1.
|
|
53
|
-
"langgraph
|
|
54
|
-
"langgraph-checkpoint-postgres>=2.0.
|
|
55
|
-
"langgraph-
|
|
56
|
-
"langgraph-
|
|
57
|
-
"
|
|
58
|
-
"langmem>=0.0.27",
|
|
51
|
+
"langchain>=0.3.27",
|
|
52
|
+
"langchain-mcp-adapters>=0.1.9",
|
|
53
|
+
"langgraph>=0.6.5",
|
|
54
|
+
"langgraph-checkpoint-postgres>=2.0.23",
|
|
55
|
+
"langgraph-supervisor>=0.0.29",
|
|
56
|
+
"langgraph-swarm>=0.0.14",
|
|
57
|
+
"langmem>=0.0.29",
|
|
59
58
|
"loguru>=0.7.3",
|
|
60
59
|
"mcp>=1.9.1",
|
|
61
60
|
"mlflow>=3.1.1",
|
|
62
61
|
"nest-asyncio>=1.6.0",
|
|
63
62
|
"openevals>=0.0.19",
|
|
64
63
|
"openpyxl>=3.1.5",
|
|
65
|
-
"psycopg[binary,pool]>=3.2.
|
|
64
|
+
"psycopg[binary,pool]>=3.2.9",
|
|
66
65
|
"pydantic>=2.11.3",
|
|
67
66
|
"python-dotenv>=1.1.0",
|
|
68
67
|
"pyyaml>=6.0.2",
|
|
@@ -4,7 +4,7 @@ aiohttp-retry==2.9.1
|
|
|
4
4
|
aiosignal==1.3.2
|
|
5
5
|
alembic==1.16.2
|
|
6
6
|
annotated-types==0.7.0
|
|
7
|
-
anthropic==0.
|
|
7
|
+
anthropic==0.60.0
|
|
8
8
|
anyio==4.9.0
|
|
9
9
|
attrs==25.3.0
|
|
10
10
|
blinker==1.9.0
|
|
@@ -20,7 +20,7 @@ contourpy==1.3.2
|
|
|
20
20
|
cycler==0.12.1
|
|
21
21
|
databricks-agents==1.2.0
|
|
22
22
|
databricks-ai-bridge==0.5.1
|
|
23
|
-
databricks-connect==16.
|
|
23
|
+
databricks-connect==16.3.4
|
|
24
24
|
databricks-langchain==0.5.1
|
|
25
25
|
databricks-sdk==0.61.0
|
|
26
26
|
databricks-vectorsearch==0.56
|
|
@@ -65,21 +65,21 @@ joblib==1.5.1
|
|
|
65
65
|
jsonpatch==1.33
|
|
66
66
|
jsonpointer==3.0.0
|
|
67
67
|
kiwisolver==1.4.8
|
|
68
|
-
langchain==0.3.
|
|
69
|
-
langchain-anthropic==0.3.
|
|
68
|
+
langchain==0.3.27
|
|
69
|
+
langchain-anthropic==0.3.18
|
|
70
70
|
langchain-community==0.3.26
|
|
71
|
-
langchain-core==0.3.
|
|
72
|
-
langchain-mcp-adapters==0.1.
|
|
71
|
+
langchain-core==0.3.72
|
|
72
|
+
langchain-mcp-adapters==0.1.9
|
|
73
73
|
langchain-openai==0.3.24
|
|
74
|
-
langchain-text-splitters==0.3.
|
|
75
|
-
langgraph==0.
|
|
76
|
-
langgraph-checkpoint==2.1.
|
|
77
|
-
langgraph-checkpoint-postgres==2.0.
|
|
78
|
-
langgraph-prebuilt==0.
|
|
79
|
-
langgraph-sdk==0.
|
|
80
|
-
langgraph-supervisor==0.0.
|
|
81
|
-
langgraph-swarm==0.0.
|
|
82
|
-
langmem==0.0.
|
|
74
|
+
langchain-text-splitters==0.3.9
|
|
75
|
+
langgraph==0.6.5
|
|
76
|
+
langgraph-checkpoint==2.1.1
|
|
77
|
+
langgraph-checkpoint-postgres==2.0.23
|
|
78
|
+
langgraph-prebuilt==0.6.3
|
|
79
|
+
langgraph-sdk==0.2.0
|
|
80
|
+
langgraph-supervisor==0.0.29
|
|
81
|
+
langgraph-swarm==0.0.14
|
|
82
|
+
langmem==0.0.29
|
|
83
83
|
langsmith==0.4.1
|
|
84
84
|
loguru==0.7.3
|
|
85
85
|
lxml==5.4.0
|
|
@@ -466,16 +466,9 @@
|
|
|
466
466
|
"title": "Max Messages Before Summary"
|
|
467
467
|
},
|
|
468
468
|
"max_summary_tokens": {
|
|
469
|
-
"
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
},
|
|
473
|
-
{
|
|
474
|
-
"type": "null"
|
|
475
|
-
}
|
|
476
|
-
],
|
|
477
|
-
"default": null,
|
|
478
|
-
"title": "Max Summary Tokens"
|
|
469
|
+
"default": 255,
|
|
470
|
+
"title": "Max Summary Tokens",
|
|
471
|
+
"type": "integer"
|
|
479
472
|
}
|
|
480
473
|
},
|
|
481
474
|
"required": [
|
|
@@ -1097,6 +1090,13 @@
|
|
|
1097
1090
|
"additionalProperties": true,
|
|
1098
1091
|
"title": "Custom Inputs",
|
|
1099
1092
|
"type": "object"
|
|
1093
|
+
},
|
|
1094
|
+
"guidelines": {
|
|
1095
|
+
"items": {
|
|
1096
|
+
"$ref": "#/$defs/GuidelineModel"
|
|
1097
|
+
},
|
|
1098
|
+
"title": "Guidelines",
|
|
1099
|
+
"type": "array"
|
|
1100
1100
|
}
|
|
1101
1101
|
},
|
|
1102
1102
|
"required": [
|
|
@@ -1264,6 +1264,28 @@
|
|
|
1264
1264
|
"title": "GuardrailModel",
|
|
1265
1265
|
"type": "object"
|
|
1266
1266
|
},
|
|
1267
|
+
"GuidelineModel": {
|
|
1268
|
+
"additionalProperties": false,
|
|
1269
|
+
"properties": {
|
|
1270
|
+
"name": {
|
|
1271
|
+
"title": "Name",
|
|
1272
|
+
"type": "string"
|
|
1273
|
+
},
|
|
1274
|
+
"guidelines": {
|
|
1275
|
+
"items": {
|
|
1276
|
+
"type": "string"
|
|
1277
|
+
},
|
|
1278
|
+
"title": "Guidelines",
|
|
1279
|
+
"type": "array"
|
|
1280
|
+
}
|
|
1281
|
+
},
|
|
1282
|
+
"required": [
|
|
1283
|
+
"name",
|
|
1284
|
+
"guidelines"
|
|
1285
|
+
],
|
|
1286
|
+
"title": "GuidelineModel",
|
|
1287
|
+
"type": "object"
|
|
1288
|
+
},
|
|
1267
1289
|
"HumanInTheLoopModel": {
|
|
1268
1290
|
"additionalProperties": false,
|
|
1269
1291
|
"properties": {
|
|
@@ -3,6 +3,7 @@ import json
|
|
|
3
3
|
import os
|
|
4
4
|
import subprocess
|
|
5
5
|
import sys
|
|
6
|
+
import traceback
|
|
6
7
|
from argparse import ArgumentParser, Namespace
|
|
7
8
|
from pathlib import Path
|
|
8
9
|
from typing import Optional, Sequence
|
|
@@ -388,7 +389,9 @@ def handle_chat_command(options: Namespace) -> None:
|
|
|
388
389
|
|
|
389
390
|
except Exception as e:
|
|
390
391
|
print(f"\n❌ Error during streaming: {e}")
|
|
392
|
+
print(f"Stack trace:\n{traceback.format_exc()}")
|
|
391
393
|
logger.error(f"Streaming error: {e}")
|
|
394
|
+
logger.error(f"Stack trace: {traceback.format_exc()}")
|
|
392
395
|
|
|
393
396
|
except EOFError:
|
|
394
397
|
# Handle Ctrl-D
|
|
@@ -43,8 +43,6 @@ from mlflow.models.resources import (
|
|
|
43
43
|
)
|
|
44
44
|
from pydantic import BaseModel, ConfigDict, Field, field_serializer, model_validator
|
|
45
45
|
|
|
46
|
-
from dao_ai.chat_models import ChatDatabricksFiltered
|
|
47
|
-
|
|
48
46
|
|
|
49
47
|
class HasValue(ABC):
|
|
50
48
|
@abstractmethod
|
|
@@ -275,9 +273,14 @@ class LLMModel(BaseModel, IsDatabricksResource):
|
|
|
275
273
|
# chat_client: LanguageModelLike = self.as_open_ai_client()
|
|
276
274
|
|
|
277
275
|
# Create ChatDatabricksWrapper instance directly
|
|
276
|
+
from dao_ai.chat_models import ChatDatabricksFiltered
|
|
277
|
+
|
|
278
278
|
chat_client: LanguageModelLike = ChatDatabricksFiltered(
|
|
279
279
|
model=self.name, temperature=self.temperature, max_tokens=self.max_tokens
|
|
280
280
|
)
|
|
281
|
+
# chat_client: LanguageModelLike = ChatDatabricks(
|
|
282
|
+
# model=self.name, temperature=self.temperature, max_tokens=self.max_tokens
|
|
283
|
+
# )
|
|
281
284
|
|
|
282
285
|
fallbacks: Sequence[LanguageModelLike] = []
|
|
283
286
|
for fallback in self.fallbacks:
|
|
@@ -1001,7 +1004,15 @@ class ChatHistoryModel(BaseModel):
|
|
|
1001
1004
|
max_tokens: int = 256
|
|
1002
1005
|
max_tokens_before_summary: Optional[int] = None
|
|
1003
1006
|
max_messages_before_summary: Optional[int] = None
|
|
1004
|
-
max_summary_tokens:
|
|
1007
|
+
max_summary_tokens: int = 255
|
|
1008
|
+
|
|
1009
|
+
@model_validator(mode="after")
|
|
1010
|
+
def validate_max_summary_tokens(self) -> "ChatHistoryModel":
|
|
1011
|
+
if self.max_summary_tokens >= self.max_tokens:
|
|
1012
|
+
raise ValueError(
|
|
1013
|
+
f"max_summary_tokens ({self.max_summary_tokens}) must be less than max_tokens ({self.max_tokens})"
|
|
1014
|
+
)
|
|
1015
|
+
return self
|
|
1005
1016
|
|
|
1006
1017
|
|
|
1007
1018
|
class AppModel(BaseModel):
|
|
@@ -1057,12 +1068,19 @@ class AppModel(BaseModel):
|
|
|
1057
1068
|
return self
|
|
1058
1069
|
|
|
1059
1070
|
|
|
1071
|
+
class GuidelineModel(BaseModel):
|
|
1072
|
+
model_config = ConfigDict(use_enum_values=True, extra="forbid")
|
|
1073
|
+
name: str
|
|
1074
|
+
guidelines: list[str]
|
|
1075
|
+
|
|
1076
|
+
|
|
1060
1077
|
class EvaluationModel(BaseModel):
|
|
1061
1078
|
model_config = ConfigDict(use_enum_values=True, extra="forbid")
|
|
1062
1079
|
model: LLMModel
|
|
1063
1080
|
table: TableModel
|
|
1064
1081
|
num_evals: int
|
|
1065
1082
|
custom_inputs: dict[str, Any] = Field(default_factory=dict)
|
|
1083
|
+
guidelines: list[GuidelineModel] = Field(default_factory=list)
|
|
1066
1084
|
|
|
1067
1085
|
|
|
1068
1086
|
class DatasetFormat(str, Enum):
|