dao-ai 0.0.26__tar.gz → 0.0.27__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.26 → dao_ai-0.0.27}/PKG-INFO +2 -2
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie.yaml +44 -34
- dao_ai-0.0.27/config/examples/genie_and_genie_mcp.yaml +185 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/mcp.yaml +60 -13
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/mcp_with_uc_connection.yaml +64 -16
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/prompt_optimization.yaml +3 -151
- {dao_ai-0.0.26 → dao_ai-0.0.27}/environment.yaml +4 -5
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/07_run_evaluation.py +4 -3
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/09_evaluate_inferences.py +4 -2
- {dao_ai-0.0.26 → dao_ai-0.0.27}/pyproject.toml +2 -2
- {dao_ai-0.0.26 → dao_ai-0.0.27}/requirements.txt +3 -25
- {dao_ai-0.0.26 → dao_ai-0.0.27}/schemas/model_config_schema.json +56 -11
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/config.py +146 -20
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/graph.py +17 -2
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/databricks.py +5 -15
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/mcp.py +5 -14
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_function_parsing.py +1 -1
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie.py +2 -2
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_mcp.py +22 -20
- dao_ai-0.0.27/tests/dao_ai/test_mcp_function_model.py +357 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_prompts.py +33 -15
- {dao_ai-0.0.26 → dao_ai-0.0.27}/.gitignore +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/.python-version +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/CHANGELOG.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/CONTRIBUTING.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/LICENSE +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/Makefile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/Makefile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/base-environment-serverless.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/development_workflows.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/Makefile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agent_implementation.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agent_tools_architecture.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agent-troubleshooting.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-best-practices.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-development-patterns.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-performance.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/agents/agent-quickstart.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/ai-agents.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/overview.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/references/agent-reference.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/agents-and-tools/references/tools-reference.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/applications/streamlit-app.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture/overview.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/architecture.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/customer_preparation_guide.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/databricks_integration.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/deployment/production.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/development/contributing.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/employee_tools_guide.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/installation.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/mkdocs-quickstart.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/getting-started/quick-start.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/index.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/mkdocs.yml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/scenario_1_architecture.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/scenario_1_flow.mmd +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/setup-docs.sh +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/task_assignment_workflow_guide.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/docs/tools/overview.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/examples/customer_preparation_workflow.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/examples/task_assignment_workflow.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/load-env.sh +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/CSS_REFACTORING_SUMMARY.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_CONTROLS_RESTORED.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_IMPLEMENTATION_SUMMARY.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/DEMO_QUICK_START.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/Dockerfile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/HOMEPAGE_README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/Makefile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/app.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/app.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/backup_homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/chat.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_charts.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/enhanced_navigation.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/associate_homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/dashboard_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/my_tasks_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/performance_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/products_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/associate/schedule_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/chat_integration.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/kpi_summary.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/common/notifications.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/alerts_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/analytics_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/dashboard_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/demo_alerts.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/inventory_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/manager_homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/operations_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/store_manager/team_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/ai_insights_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/executive_dashboard_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/geographical_analysis_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/performance_metrics_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/strategic_insights_tab.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/homepage/vp_retail_operations/vp_homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/metrics.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/navigation.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/oldhomepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/components/styles.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/config.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/BRAND_REP_DEMO_SUMMARY.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/comprehensive_demo_script.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/brand_rep_product_education_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_associate_ai_assistant_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/demo_docs/demo_scripts/store_manager_alert_response_demo.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/components/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/components/dashboard_card.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/demo_alerts.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/dev/examples/sample_dashboard.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/component_showcase.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/dev_playground.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages/playground.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/daily_operations.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/inventory.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_schedule.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/my_tasks.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/orders.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/products_promotions.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/staff.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pages_wip/team_insights.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/pyproject.toml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/requirements.txt +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/static/css/style.css +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/base.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/components.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/dashboard.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/styles/theme.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/test_vip_notification.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/tests/test_calculations.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/config.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/database.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/model_serving.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app/utils/store_context.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/Makefile +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/app.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_components_enhanced.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/components/tailadmin/tailadmin_styles.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/TAILADMIN_README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/homepage_tailadmin.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_demo.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/tailadmin_implementation_guide.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/test_vp_dashboard.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/old/vp_dashboard_tailadmin.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/components_demo.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/homepage.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/implementation_guide.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_clean.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pages/vp_dashboard_enhanced.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/pyproject.toml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/streamlit_store_app_tailadmin/tests/test_imports.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/manager_demo_script.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/notebook_vector_search_test.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/apps/dais2025/store-app/tests/test_vector_search_integration.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/dais2025/model_config_dais.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/deep_research.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/executive_assistant.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie_and_vector_search.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/genie_with_conversion_id.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/human_in_the_loop.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/jira.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/minimal.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/prompt_registry.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/reservations.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/examples/slack.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/supervisor.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/supervisor_postgres.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/hardware_store/swarm.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/config/quick_serve_restaurant/quick-serve-restaurant.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/appointments.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/appointments_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_queries.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_tables.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/brand_rep_demo_validation.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/customers.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/customers_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/dim_stores.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/dim_stores_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_performance.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_performance_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_tasks.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/employee_tasks_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/inventory.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/inventory_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/managers.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/managers_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/product_data.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/products.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/dais2025/task_assignments.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/inventory.snappy.parquet +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/inventory.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/products.snappy.parquet +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/hardware_store/products.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/fulfil_item_orders.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_description.csv +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_description.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_raw.csv +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/items_raw.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/orders_raw.csv +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/data/quick_serve_restaurant/orders_raw.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/databricks.yaml.template +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/genie.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/README.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/retail_supervisor.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/hardware_store/retail_swarm.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/prompt_optimization_updates.md +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/docs/quick_serve_restaurant/quick-serve-restaurant.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/dais2025/examples.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/deep_research/examples.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/executive_assistant/examples.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/hardware_store/examples.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/examples/quick_serve_restaurant/examples.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/extract_store_numbers.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_by_number.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/dais2025/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_product_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_product_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_store_inventory_by_sku.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/hardware_store/find_store_inventory_by_upc.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/insert_coffee_order.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/lookup_items_by_descriptions.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/match_historical_item_order_by_date.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/functions/quick_serve_restaurant/match_item_by_description_and_price.sql +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/01_ingest_and_transform.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/02_provision_vector_search.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/03_provision_lakebase.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/04_unity_catalog_tools.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/05_deploy_agent.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/06_generate_evaluation_data.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/08_run_examples.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/10_optimize_prompts.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/99_scratchpad.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/notebooks/INVESTech.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/schemas/bundle_config_schema.json +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/models.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/customer.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/employee.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/executive.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/genie.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/inventory.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/models.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dais2025/tools/store.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/agent_as_code.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/catalog.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/chat_models.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/cli.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/guardrails.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/hooks/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/hooks/core.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/base.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/core.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/memory/postgres.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/messages.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/models.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/nodes.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/prompts.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/providers/base.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/state.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/agent.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/core.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/genie.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/human_in_the_loop.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/python.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/slack.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/time.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/unity_catalog.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/tools/vector_search.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/types.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/utils.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/dao_ai/vector_search.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/hooks.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/hardware_store/tools.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/__init__.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/src/quick_serve_restaurant/tools.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/config/test_model_config.yaml +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/conftest.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_catalog.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_chat_history.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_config.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_databricks.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie_conversation_ids_in_outputs.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_genie_databricks_integration.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_hooks.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_inference.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_inference_integration.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_messages.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_models.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_postgres_integration.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_prompt_optimizations.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_state.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_summarization_inference.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_tools.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_types.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_unity_catalog.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_utils.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/test_vector_search.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/dao_ai/weather_server_mcp.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/hardware_store/.gitkeep +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/hardware_store/test_graph.py +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/images/doritos_upc.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/images/lays_upc.png +0 -0
- {dao_ai-0.0.26 → dao_ai-0.0.27}/tests/quick_serve_restaurant/.gitkeep +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dao-ai
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.27
|
|
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
|
|
@@ -41,7 +41,7 @@ Requires-Dist: langgraph>=0.6.10
|
|
|
41
41
|
Requires-Dist: langmem>=0.0.29
|
|
42
42
|
Requires-Dist: loguru>=0.7.3
|
|
43
43
|
Requires-Dist: mcp>=1.17.0
|
|
44
|
-
Requires-Dist: mlflow>=3.5.
|
|
44
|
+
Requires-Dist: mlflow>=3.5.1
|
|
45
45
|
Requires-Dist: nest-asyncio>=1.6.0
|
|
46
46
|
Requires-Dist: openevals>=0.0.19
|
|
47
47
|
Requires-Dist: openpyxl>=3.1.5
|
|
@@ -2,11 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
schemas:
|
|
5
|
-
retail_schema: &retail_schema
|
|
6
|
-
catalog_name: nfleming # Unity Catalog name
|
|
7
|
-
schema_name: retail_ai # Schema within the catalog
|
|
8
5
|
|
|
9
|
-
|
|
6
|
+
quick_serve_restaurant_schema: &quick_serve_restaurant_schema
|
|
10
7
|
catalog_name: retail_consumer_goods # Unity Catalog name
|
|
11
8
|
schema_name: quick_serve_restaurant # Schema within the catalog
|
|
12
9
|
|
|
@@ -14,45 +11,58 @@ resources:
|
|
|
14
11
|
llms:
|
|
15
12
|
# Primary LLM for general tasks
|
|
16
13
|
default_llm: &default_llm
|
|
17
|
-
name: databricks-
|
|
14
|
+
name: databricks-claude-sonnet-4
|
|
18
15
|
temperature: 0.1 # Low temperature for consistent responses
|
|
19
16
|
max_tokens: 8192 # Maximum tokens per response
|
|
20
17
|
on_behalf_of_user: False
|
|
21
18
|
|
|
19
|
+
warehouses:
|
|
20
|
+
|
|
21
|
+
shared_endpoint_warehouse:
|
|
22
|
+
name: "Shared Endpoint Warehouse" # Human-readable name
|
|
23
|
+
description: "A warehouse for shared endpoints" # Description
|
|
24
|
+
warehouse_id: 148ccb90800933a1 # Databricks warehouse ID
|
|
25
|
+
on_behalf_of_user: False
|
|
26
|
+
|
|
22
27
|
tables:
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
28
|
+
|
|
29
|
+
all:
|
|
30
|
+
schema: *quick_serve_restaurant_schema # Reference to schema defined above
|
|
31
|
+
# name: products
|
|
32
|
+
|
|
33
|
+
# product_table: &product_table
|
|
34
|
+
# schema: *quick_serve_restaurant_schema # Reference to schema defined above
|
|
35
|
+
# name: products # Table name
|
|
26
36
|
|
|
27
|
-
inventory_table: &inventory_table
|
|
28
|
-
|
|
29
|
-
|
|
37
|
+
# inventory_table: &inventory_table
|
|
38
|
+
# schema: *quick_serve_restaurant_schema
|
|
39
|
+
# name: inventory
|
|
30
40
|
|
|
31
|
-
items_description: &items_description
|
|
32
|
-
|
|
33
|
-
|
|
41
|
+
# items_description: &items_description
|
|
42
|
+
# schema: *quick_serve_restaurant_schema
|
|
43
|
+
# name: items_description
|
|
34
44
|
|
|
35
|
-
fulfil_item_orders: &fulfil_item_orders
|
|
36
|
-
|
|
37
|
-
|
|
45
|
+
# fulfil_item_orders: &fulfil_item_orders
|
|
46
|
+
# schema: *quick_serve_restaurant_schema
|
|
47
|
+
# name: fulfil_item_orders
|
|
38
48
|
|
|
39
|
-
orders: &orders
|
|
40
|
-
|
|
41
|
-
|
|
49
|
+
# orders: &orders
|
|
50
|
+
# schema: *quick_serve_restaurant_schema
|
|
51
|
+
# name: orders
|
|
42
52
|
|
|
43
53
|
functions:
|
|
44
54
|
|
|
45
|
-
|
|
46
|
-
schema: *
|
|
47
|
-
|
|
55
|
+
all:
|
|
56
|
+
schema: *quick_serve_restaurant_schema
|
|
57
|
+
# name: lookup_items_by_descriptions
|
|
48
58
|
|
|
49
|
-
match_item_by_description_and_price: &match_item_by_description_and_price
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
# match_item_by_description_and_price: &match_item_by_description_and_price
|
|
60
|
+
# schema: *quick_serve_restaurant_schema
|
|
61
|
+
# name: match_item_by_description_and_price
|
|
52
62
|
|
|
53
|
-
match_historical_item_order_by_date: &match_historical_item_order_by_date
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
# match_historical_item_order_by_date: &match_historical_item_order_by_date
|
|
64
|
+
# schema: *quick_serve_restaurant_schema
|
|
65
|
+
# name: match_historical_item_order_by_date
|
|
56
66
|
|
|
57
67
|
genie_rooms:
|
|
58
68
|
# Genie space for retail data queries
|
|
@@ -86,13 +96,13 @@ agents:
|
|
|
86
96
|
|
|
87
97
|
|
|
88
98
|
app:
|
|
89
|
-
name:
|
|
99
|
+
name: dao_genie # Application name
|
|
90
100
|
description: "Multi-agent system that talks to genie"
|
|
91
|
-
log_level:
|
|
101
|
+
log_level: DEBUG # Logging level for the application
|
|
92
102
|
registered_model: # MLflow registered model configuration
|
|
93
|
-
schema: *
|
|
94
|
-
name:
|
|
95
|
-
endpoint_name:
|
|
103
|
+
schema: *quick_serve_restaurant_schema # Schema where model will be registered
|
|
104
|
+
name: dao_genie # Model name in MLflow registry
|
|
105
|
+
endpoint_name: dao_genie # Model serving endpoint name
|
|
96
106
|
tags: # Tags for resource organization
|
|
97
107
|
business: rcg # Business unit identifier
|
|
98
108
|
streaming: true # Indicates streaming capabilities
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# yaml-language-server: $schema=../../schemas/model_config_schema.json
|
|
2
|
+
|
|
3
|
+
variables:
|
|
4
|
+
client_id: &client_id # Service principal client ID
|
|
5
|
+
options:
|
|
6
|
+
- env: RETAIL_AI_DATABRICKS_CLIENT_ID
|
|
7
|
+
- scope: retail_consumer_goods
|
|
8
|
+
secret: RETAIL_AI_DATABRICKS_CLIENT_ID
|
|
9
|
+
client_secret: &client_secret # Service principal secret
|
|
10
|
+
options:
|
|
11
|
+
- env: RETAIL_AI_DATABRICKS_CLIENT_SECRET
|
|
12
|
+
- scope: retail_consumer_goods
|
|
13
|
+
secret: RETAIL_AI_DATABRICKS_CLIENT_SECRET
|
|
14
|
+
workspace_host: &workspace_host # Databricks workspace URL
|
|
15
|
+
options:
|
|
16
|
+
- env: RETAIL_AI_DATABRICKS_HOST
|
|
17
|
+
- scope: retail_consumer_goods
|
|
18
|
+
secret: RETAIL_AI_DATABRICKS_HOST
|
|
19
|
+
|
|
20
|
+
schemas:
|
|
21
|
+
|
|
22
|
+
store_ops_schema: &store_ops_schema
|
|
23
|
+
catalog_name: retail_consumer_goods # Unity Catalog name
|
|
24
|
+
schema_name: store_ops # Schema within the catalog
|
|
25
|
+
|
|
26
|
+
resources:
|
|
27
|
+
llms:
|
|
28
|
+
|
|
29
|
+
fast_llm: &fast_llm
|
|
30
|
+
name: databricks-meta-llama-3-3-70b-instruct
|
|
31
|
+
on_behalf_of_user: False
|
|
32
|
+
|
|
33
|
+
tool_calling_llm: &tool_calling_llm
|
|
34
|
+
name: databricks-claude-sonnet-4
|
|
35
|
+
on_behalf_of_user: False
|
|
36
|
+
|
|
37
|
+
warehouses:
|
|
38
|
+
|
|
39
|
+
shared_endpoint_warehouse:
|
|
40
|
+
name: "Shared Endpoint Warehouse" # Human-readable name
|
|
41
|
+
description: "A warehouse for shared endpoints" # Description
|
|
42
|
+
warehouse_id: 148ccb90800933a1 # Databricks warehouse ID
|
|
43
|
+
on_behalf_of_user: False
|
|
44
|
+
|
|
45
|
+
tables:
|
|
46
|
+
all:
|
|
47
|
+
schema: *store_ops_schema
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
functions:
|
|
51
|
+
all:
|
|
52
|
+
schema: *store_ops_schema
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
genie_rooms:
|
|
56
|
+
# Genie space for retail data queries
|
|
57
|
+
retail_genie_room: &retail_genie_room
|
|
58
|
+
name: "Retail AI Genie Room" # Human-readable name
|
|
59
|
+
description: "A room for Genie agents to interact" # Description
|
|
60
|
+
space_id: 01f05dd06c421ad6b522bf7a517cf6d2 # Databricks Genie space ID
|
|
61
|
+
|
|
62
|
+
prompts:
|
|
63
|
+
# ---------------------------------------------------------------------------
|
|
64
|
+
# Employee Agent Prompt
|
|
65
|
+
# ---------------------------------------------------------------------------
|
|
66
|
+
employee_agent_prompt: &employee_agent_prompt
|
|
67
|
+
schema: *store_ops_schema
|
|
68
|
+
name: employee_prompt
|
|
69
|
+
description: "The employee management agent prompt for retail operations"
|
|
70
|
+
default_template: |
|
|
71
|
+
You are an employee management specialist for retail operations.
|
|
72
|
+
Your role is to help answer questions about employees, their performance,
|
|
73
|
+
tasks, and daily activities using the available data sources.
|
|
74
|
+
|
|
75
|
+
You have access to the following data through your tools:
|
|
76
|
+
- **employee_daily_tasks**: Track daily tasks assigned to employees
|
|
77
|
+
- **employee_performance**: Monitor employee performance metrics and evaluations
|
|
78
|
+
- **employee_tasks**: Manage task assignments and completion status
|
|
79
|
+
|
|
80
|
+
When responding:
|
|
81
|
+
- Be specific when referencing employee data and metrics
|
|
82
|
+
- Use the genie tool to query the employee databases for current information
|
|
83
|
+
- Provide insights on performance trends and task completion rates
|
|
84
|
+
- Respect employee privacy while providing helpful analytics
|
|
85
|
+
- When discussing tasks, always check current status before responding
|
|
86
|
+
- Provide actionable recommendations for task management and performance improvement
|
|
87
|
+
|
|
88
|
+
Available tables in retail_consumer_goods.store_ops schema:
|
|
89
|
+
- employee_daily_tasks
|
|
90
|
+
- employee_performance
|
|
91
|
+
- employee_tasks
|
|
92
|
+
tags:
|
|
93
|
+
environment: development
|
|
94
|
+
agent_type: employee_agent
|
|
95
|
+
|
|
96
|
+
# ---------------------------------------------------------------------------
|
|
97
|
+
# Inventory Agent Prompt
|
|
98
|
+
# ---------------------------------------------------------------------------
|
|
99
|
+
inventory_agent_prompt: &inventory_agent_prompt
|
|
100
|
+
schema: *store_ops_schema
|
|
101
|
+
name: inventory_prompt
|
|
102
|
+
description: "The inventory agent prompt for retail operations"
|
|
103
|
+
default_template: |
|
|
104
|
+
You are an inventory management specialist for retail operations.
|
|
105
|
+
Your role is to help answer questions about product inventory, stock levels,
|
|
106
|
+
and inventory-related queries using the available data sources.
|
|
107
|
+
|
|
108
|
+
When responding:
|
|
109
|
+
- Be precise with inventory numbers and product details
|
|
110
|
+
- Always verify information before providing answers
|
|
111
|
+
- If you need current data, use the genie tool to query the inventory database
|
|
112
|
+
- Provide actionable insights when discussing stock levels
|
|
113
|
+
tags:
|
|
114
|
+
environment: development
|
|
115
|
+
agent_type: inventory_agent
|
|
116
|
+
|
|
117
|
+
tools:
|
|
118
|
+
genie_tool: &genie_tool
|
|
119
|
+
name: genie_tool
|
|
120
|
+
function:
|
|
121
|
+
type: factory # Tool type: factory function
|
|
122
|
+
name: dao_ai.tools.create_genie_tool # Factory function path
|
|
123
|
+
args: # Arguments passed to factory
|
|
124
|
+
name: genie_tool
|
|
125
|
+
description: Answers questions about retail products and inventory
|
|
126
|
+
genie_room: *retail_genie_room # Reference to Genie room config
|
|
127
|
+
|
|
128
|
+
genie_mcp: &genie_mcp # Genie MCP tool configuration
|
|
129
|
+
name: genie_mcp
|
|
130
|
+
function:
|
|
131
|
+
type: mcp # MCP function type
|
|
132
|
+
name: genie_mcp
|
|
133
|
+
genie_room: *retail_genie_room # Use genie_room convenience object
|
|
134
|
+
client_id: *client_id
|
|
135
|
+
client_secret: *client_secret
|
|
136
|
+
workspace_host: *workspace_host
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
agents:
|
|
140
|
+
employee_agent: &employee_agent
|
|
141
|
+
name: employee_agent
|
|
142
|
+
description: "Employee Agent"
|
|
143
|
+
model: *tool_calling_llm
|
|
144
|
+
tools:
|
|
145
|
+
- *genie_tool
|
|
146
|
+
prompt: *employee_agent_prompt
|
|
147
|
+
handoff_prompt: |
|
|
148
|
+
Questions about employees, employee performance, task assignments, daily activities, or workforce management.
|
|
149
|
+
Examples: "What tasks are assigned to John today?", "Show me employee performance metrics", "How is Sarah performing?", "What are the pending employee tasks?", "Who completed the most tasks this week?"
|
|
150
|
+
|
|
151
|
+
inventory_agent: &inventory_agent
|
|
152
|
+
name: inventory_agent
|
|
153
|
+
description: "Inventory Management Agent - handles inventory queries via Genie MCP"
|
|
154
|
+
model: *tool_calling_llm
|
|
155
|
+
tools:
|
|
156
|
+
- *genie_mcp # Uses Genie MCP server tool
|
|
157
|
+
prompt: *inventory_agent_prompt # Uses external prompt from registry
|
|
158
|
+
handoff_prompt: |
|
|
159
|
+
Questions about inventory, stock levels, product availability, or inventory management.
|
|
160
|
+
Examples: "What's the current inventory level?", "Do we have product X in stock?", "Show me low stock items", "What products need reordering?", "What's the inventory status for store 123?"
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
app:
|
|
164
|
+
name: dao_pepsi_genie_demo # Application name
|
|
165
|
+
description: "Multi-agent system that talks to genie"
|
|
166
|
+
log_level: DEBUG # Logging level for the application
|
|
167
|
+
registered_model: # MLflow registered model configuration
|
|
168
|
+
schema: *store_ops_schema # Schema where model will be registered
|
|
169
|
+
name: dao_pepsi_genie_demo # Model name in MLflow registry
|
|
170
|
+
endpoint_name: dao_pepsi_genie_demo # Model serving endpoint name
|
|
171
|
+
tags: # Tags for resource organization
|
|
172
|
+
business: rcg # Business unit identifier
|
|
173
|
+
streaming: true # Indicates streaming capabilities
|
|
174
|
+
permissions: # Model serving permissions
|
|
175
|
+
- principals: [users] # Grant access to all users
|
|
176
|
+
entitlements:
|
|
177
|
+
- CAN_QUERY # Full management permissions
|
|
178
|
+
agents: # List of agents included in the system
|
|
179
|
+
- *employee_agent # Employee management agent
|
|
180
|
+
- *inventory_agent # Inventory management agent
|
|
181
|
+
orchestration: # Agent orchestration configuration
|
|
182
|
+
supervisor: # Supervisor orchestration pattern
|
|
183
|
+
model: *fast_llm # LLM for routing decisions
|
|
184
|
+
|
|
185
|
+
|
|
@@ -19,31 +19,74 @@ variables:
|
|
|
19
19
|
|
|
20
20
|
schemas:
|
|
21
21
|
retail_schema: &retail_schema # Unity Catalog schema configuration
|
|
22
|
-
catalog_name:
|
|
23
|
-
schema_name:
|
|
22
|
+
catalog_name: retail_consumer_goods # Unity Catalog name
|
|
23
|
+
schema_name: hardware_store # Schema within the catalog
|
|
24
24
|
|
|
25
25
|
resources:
|
|
26
26
|
llms:
|
|
27
27
|
default_llm: &default_llm # Default LLM configuration
|
|
28
28
|
name: databricks-claude-3-7-sonnet # Databricks serving endpoint name
|
|
29
29
|
|
|
30
|
+
genie_rooms:
|
|
31
|
+
retail_genie_room: &retail_genie_room # Genie room configuration
|
|
32
|
+
name: "Retail AI Genie Room" # Human-readable name
|
|
33
|
+
description: "Genie room for retail queries"
|
|
34
|
+
space_id: 01f01c91f1f414d59daaefd2b7ec82ea # Databricks Genie space ID
|
|
35
|
+
|
|
36
|
+
tables:
|
|
37
|
+
product_table: &product_table # Table configuration for vector store
|
|
38
|
+
schema: *retail_schema
|
|
39
|
+
name: products
|
|
40
|
+
|
|
41
|
+
vector_stores:
|
|
42
|
+
retail_vector_store: &retail_vector_store # Vector store configuration
|
|
43
|
+
source_table: *product_table # Source table for vector search
|
|
44
|
+
embedding_source_column: description # Column containing embeddings
|
|
45
|
+
endpoint:
|
|
46
|
+
name: dbdemos_vs_endpoint
|
|
47
|
+
index:
|
|
48
|
+
schema: *retail_schema # Schema for vector search index
|
|
49
|
+
name: products_index # Vector search index name
|
|
50
|
+
|
|
30
51
|
tools:
|
|
52
|
+
# Example 1: Using direct URL (generic approach - works with any MCP server)
|
|
53
|
+
generic_mcp: &generic_mcp # Generic MCP tool with direct URL
|
|
54
|
+
name: generic_mcp
|
|
55
|
+
function:
|
|
56
|
+
type: mcp # MCP function type
|
|
57
|
+
name: generic_mcp
|
|
58
|
+
url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/retail_consumer_goods/hardware_store
|
|
59
|
+
client_id: *client_id
|
|
60
|
+
client_secret: *client_secret
|
|
61
|
+
workspace_host: *workspace_host
|
|
62
|
+
|
|
63
|
+
# Example 2: Using convenience object (recommended - automatic URL generation)
|
|
31
64
|
vector_search_mcp: &vector_search_mcp # Vector search MCP tool configuration
|
|
32
65
|
name: vector_search_mcp
|
|
33
66
|
function:
|
|
34
67
|
type: mcp # MCP function type
|
|
35
68
|
name: vector_search_mcp
|
|
36
|
-
|
|
69
|
+
vector_search: *retail_vector_store # Use vector search convenience object
|
|
70
|
+
client_id: *client_id
|
|
71
|
+
client_secret: *client_secret
|
|
72
|
+
workspace_host: *workspace_host
|
|
73
|
+
|
|
74
|
+
sql_mcp: &sql_mcp # DBSQL MCP tool configuration
|
|
75
|
+
name: sql_mcp
|
|
76
|
+
function:
|
|
77
|
+
type: mcp # MCP function type
|
|
78
|
+
name: sql_mcp
|
|
79
|
+
sql: true # Use serverless DBSQL MCP server (no warehouse needed)
|
|
37
80
|
client_id: *client_id
|
|
38
81
|
client_secret: *client_secret
|
|
39
82
|
workspace_host: *workspace_host
|
|
40
83
|
|
|
41
|
-
|
|
42
|
-
name:
|
|
84
|
+
functions_mcp: &functions_mcp # Unity Catalog Functions MCP tool configuration
|
|
85
|
+
name: functions_mcp
|
|
43
86
|
function:
|
|
44
87
|
type: mcp # MCP function type
|
|
45
|
-
name:
|
|
46
|
-
|
|
88
|
+
name: functions_mcp
|
|
89
|
+
functions: *retail_schema # Use functions (UC Functions) convenience object
|
|
47
90
|
client_id: *client_id
|
|
48
91
|
client_secret: *client_secret
|
|
49
92
|
workspace_host: *workspace_host
|
|
@@ -53,7 +96,7 @@ tools:
|
|
|
53
96
|
function:
|
|
54
97
|
type: mcp # MCP function type
|
|
55
98
|
name: genie_mcp
|
|
56
|
-
|
|
99
|
+
genie_room: *retail_genie_room # Use genie_room convenience object
|
|
57
100
|
client_id: *client_id
|
|
58
101
|
client_secret: *client_secret
|
|
59
102
|
workspace_host: *workspace_host
|
|
@@ -63,13 +106,17 @@ agents:
|
|
|
63
106
|
name: mcp_agent # Agent identifier
|
|
64
107
|
model: *default_llm # Reference to LLM configuration
|
|
65
108
|
tools: # Tools available to this agent
|
|
66
|
-
|
|
67
|
-
|
|
109
|
+
# Note: generic_mcp and vector_search_mcp both point to vector search
|
|
110
|
+
# Only one should be used in practice (shown here for demonstration)
|
|
111
|
+
- *generic_mcp # Example: Direct URL approach
|
|
112
|
+
- *vector_search_mcp # Example: Convenience object approach
|
|
113
|
+
- *sql_mcp
|
|
114
|
+
- *functions_mcp
|
|
68
115
|
- *genie_mcp
|
|
69
116
|
prompt: | # System prompt defining agent behavior
|
|
70
|
-
You are a multi-purpose agent that can perform vector search,
|
|
71
|
-
interact with Genie rooms. Use the tools provided to answer
|
|
72
|
-
You
|
|
117
|
+
You are a multi-purpose agent that can perform vector search, execute SQL queries via DBSQL,
|
|
118
|
+
call Unity Catalog functions, and interact with Genie rooms. Use the tools provided to answer
|
|
119
|
+
questions and perform tasks. You may need to use the tools in combination to achieve complex tasks.
|
|
73
120
|
|
|
74
121
|
app:
|
|
75
122
|
name: mcp_agent # Application name
|
|
@@ -21,6 +21,10 @@ schemas:
|
|
|
21
21
|
retail_schema: &retail_schema # Unity Catalog schema configuration
|
|
22
22
|
catalog_name: nfleming # Unity Catalog name
|
|
23
23
|
schema_name: retail_ai # Schema within the catalog
|
|
24
|
+
|
|
25
|
+
hardware_store_schema: &hardware_store_schema # Hardware store schema configuration
|
|
26
|
+
catalog_name: retail_consumer_goods # Unity Catalog name
|
|
27
|
+
schema_name: hardware_store # Schema within the catalog
|
|
24
28
|
|
|
25
29
|
resources:
|
|
26
30
|
llms:
|
|
@@ -29,36 +33,76 @@ resources:
|
|
|
29
33
|
|
|
30
34
|
connections:
|
|
31
35
|
github_connection: &github_connection # UC Connection for GitHub
|
|
32
|
-
name: github_pat_connection_nfleming
|
|
36
|
+
name: github_pat_connection_nfleming # UC Connection name
|
|
37
|
+
|
|
38
|
+
genie_rooms:
|
|
39
|
+
retail_genie_room: &retail_genie_room # Genie room configuration
|
|
40
|
+
name: "Retail AI Genie Room" # Human-readable name
|
|
41
|
+
description: "Genie room for retail queries"
|
|
42
|
+
space_id: 01f01c91f1f414d59daaefd2b7ec82ea # Databricks Genie space ID
|
|
43
|
+
|
|
44
|
+
tables:
|
|
45
|
+
product_table: &product_table # Table configuration for vector store
|
|
46
|
+
schema: *hardware_store_schema
|
|
47
|
+
name: products
|
|
48
|
+
|
|
49
|
+
vector_stores:
|
|
50
|
+
hardware_vector_store: &hardware_vector_store # Vector store configuration
|
|
51
|
+
source_table: *product_table # Source table for vector search
|
|
52
|
+
embedding_source_column: description # Column containing embeddings
|
|
53
|
+
index:
|
|
54
|
+
schema: *hardware_store_schema # Schema for vector search index
|
|
55
|
+
name: products_index # Vector search index name
|
|
33
56
|
|
|
34
57
|
tools:
|
|
35
|
-
# Example
|
|
58
|
+
# Example 1: Using UC Connection (automatic URL generation from connection)
|
|
36
59
|
github_mcp_uc: &github_mcp_uc
|
|
37
60
|
name: github_mcp # Tool name for agent reference
|
|
38
61
|
function:
|
|
39
62
|
type: mcp # Tool type: MCP server
|
|
40
63
|
name: github_mcp # MCP function name
|
|
41
64
|
transport: streamable_http # Transport protocol
|
|
42
|
-
#url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/external/github_u2m_connection # MCP endpoint URL (optional with connection)
|
|
43
65
|
connection: *github_connection # Reference to UC Connection (provides OAuth auth)
|
|
66
|
+
# Note: URL is auto-generated from connection, no need to specify
|
|
44
67
|
|
|
68
|
+
# Example 2: Using direct URL (generic approach - works with any MCP server)
|
|
69
|
+
generic_mcp: &generic_mcp # Generic MCP tool with direct URL
|
|
70
|
+
name: generic_mcp
|
|
71
|
+
function:
|
|
72
|
+
type: mcp # MCP function type
|
|
73
|
+
name: generic_mcp
|
|
74
|
+
url: https://adb-984752964297111.11.azuredatabricks.net/api/2.0/mcp/vector-search/retail_consumer_goods/hardware_store
|
|
75
|
+
client_id: *client_id
|
|
76
|
+
client_secret: *client_secret
|
|
77
|
+
workspace_host: *workspace_host
|
|
45
78
|
|
|
79
|
+
# Example 3: Using convenience object (recommended - automatic URL generation)
|
|
46
80
|
vector_search_mcp: &vector_search_mcp # Vector search MCP tool configuration
|
|
47
81
|
name: vector_search_mcp
|
|
48
82
|
function:
|
|
49
83
|
type: mcp # MCP function type
|
|
50
84
|
name: vector_search_mcp
|
|
51
|
-
|
|
85
|
+
vector_search: *hardware_vector_store # Use vector search convenience object
|
|
86
|
+
client_id: *client_id
|
|
87
|
+
client_secret: *client_secret
|
|
88
|
+
workspace_host: *workspace_host
|
|
89
|
+
|
|
90
|
+
sql_mcp: &sql_mcp # DBSQL MCP tool configuration
|
|
91
|
+
name: sql_mcp
|
|
92
|
+
function:
|
|
93
|
+
type: mcp # MCP function type
|
|
94
|
+
name: sql_mcp
|
|
95
|
+
sql: true # Use serverless DBSQL MCP server (no warehouse needed)
|
|
52
96
|
client_id: *client_id
|
|
53
97
|
client_secret: *client_secret
|
|
54
98
|
workspace_host: *workspace_host
|
|
55
99
|
|
|
56
|
-
|
|
57
|
-
name:
|
|
100
|
+
functions_mcp: &functions_mcp # Unity Catalog Functions MCP tool configuration
|
|
101
|
+
name: functions_mcp
|
|
58
102
|
function:
|
|
59
103
|
type: mcp # MCP function type
|
|
60
|
-
name:
|
|
61
|
-
|
|
104
|
+
name: functions_mcp
|
|
105
|
+
functions: *hardware_store_schema # Use functions (UC Functions) convenience object
|
|
62
106
|
client_id: *client_id
|
|
63
107
|
client_secret: *client_secret
|
|
64
108
|
workspace_host: *workspace_host
|
|
@@ -68,7 +112,7 @@ tools:
|
|
|
68
112
|
function:
|
|
69
113
|
type: mcp # MCP function type
|
|
70
114
|
name: genie_mcp
|
|
71
|
-
|
|
115
|
+
genie_room: *retail_genie_room # Use genie_room convenience object
|
|
72
116
|
client_id: *client_id
|
|
73
117
|
client_secret: *client_secret
|
|
74
118
|
workspace_host: *workspace_host
|
|
@@ -80,19 +124,23 @@ prompts:
|
|
|
80
124
|
name: mcp_agent_prompt
|
|
81
125
|
description: "MCP agent prompt"
|
|
82
126
|
default_template: |
|
|
83
|
-
You are a multi-purpose agent that can perform vector search,
|
|
84
|
-
interact with Genie rooms, and interact with GitHub
|
|
85
|
-
questions and perform tasks. You
|
|
86
|
-
complex tasks.
|
|
127
|
+
You are a multi-purpose agent that can perform vector search, execute SQL queries via DBSQL,
|
|
128
|
+
call Unity Catalog functions, interact with Genie rooms, and interact with GitHub via UC Connection.
|
|
129
|
+
Use the tools provided to answer questions and perform tasks. You may need to use the tools in
|
|
130
|
+
combination to achieve complex tasks.
|
|
87
131
|
|
|
88
132
|
agents:
|
|
89
133
|
mcp_agent: &mcp_agent # MCP agent configuration
|
|
90
134
|
name: mcp_agent # Agent identifier
|
|
91
135
|
model: *default_llm # Reference to LLM configuration
|
|
92
136
|
tools: # Tools available to this agent
|
|
93
|
-
- *github_mcp_uc
|
|
94
|
-
|
|
95
|
-
|
|
137
|
+
- *github_mcp_uc # Example: UC Connection approach
|
|
138
|
+
# Note: generic_mcp and vector_search_mcp both point to vector search
|
|
139
|
+
# Only one should be used in practice (shown here for demonstration)
|
|
140
|
+
- *generic_mcp # Example: Direct URL approach
|
|
141
|
+
- *vector_search_mcp # Example: Convenience object approach
|
|
142
|
+
- *sql_mcp
|
|
143
|
+
- *functions_mcp
|
|
96
144
|
- *genie_mcp
|
|
97
145
|
prompt: *mcp_agent_prompt
|
|
98
146
|
|