Spaces:
Running
Running
Joseph Pollack commited on
Commit ·
c7402fb
1
Parent(s): 4d6a33a
fix typo mkdocs yaml
Browse files- mkdocs.yml +0 -2
- pyproject.toml +2 -0
- site/404.html +1 -1
- site/api/agents/index.html +1 -52
- site/api/models/index.html +1 -1
- site/api/orchestrators/index.html +1 -35
- site/api/services/index.html +49 -30
- site/api/tools/index.html +0 -0
- site/architecture/agents/index.html +1 -1
- site/architecture/graph-orchestration/index.html +0 -9
- site/architecture/graph_orchestration/index.html +11 -11
- site/architecture/middleware/index.html +40 -20
- site/architecture/orchestrators/index.html +1 -1
- site/architecture/services/index.html +30 -29
- site/architecture/tools/index.html +19 -18
- site/architecture/workflow-diagrams/index.html +16 -31
- site/architecture/workflows/index.html +0 -503
- site/configuration/CONFIGURATION/index.html +0 -130
- site/configuration/index.html +0 -0
- site/contributing/code-quality/index.html +12 -1
- site/contributing/code-style/index.html +23 -3
- site/contributing/error-handling/index.html +9 -9
- site/contributing/implementation-patterns/index.html +10 -10
- site/contributing/index.html +52 -15
- site/contributing/prompt-engineering/index.html +1 -1
- site/contributing/testing/index.html +37 -13
- site/getting-started/examples/index.html +49 -49
- site/getting-started/installation/index.html +27 -21
- site/getting-started/mcp-integration/index.html +35 -35
- site/getting-started/quick-start/index.html +44 -6
- site/index.html +16 -9
- site/license/index.html +1 -1
- site/overview/architecture/index.html +1 -1
- site/overview/features/index.html +1 -1
- site/overview/quick-start/index.html +22 -15
- site/search/search_index.json +0 -0
- site/sitemap.xml +33 -45
- site/team/index.html +1 -1
- uv.lock +52 -0
mkdocs.yml
CHANGED
|
@@ -55,8 +55,6 @@ plugins:
|
|
| 55 |
lang:
|
| 56 |
- en
|
| 57 |
separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|&'
|
| 58 |
-
prebuild_index: true # Faster search initialization
|
| 59 |
-
indexing: full # Full-text indexing for better results
|
| 60 |
- mermaid2
|
| 61 |
- codeinclude
|
| 62 |
- git-revision-date-localized:
|
|
|
|
| 55 |
lang:
|
| 56 |
- en
|
| 57 |
separator: '[\s\-,:!=\[\]()"`/]+|\.(?!\d)|&[lg]t;|&'
|
|
|
|
|
|
|
| 58 |
- mermaid2
|
| 59 |
- codeinclude
|
| 60 |
- git-revision-date-localized:
|
pyproject.toml
CHANGED
|
@@ -70,6 +70,7 @@ dev = [
|
|
| 70 |
"mkdocs-material>=9.0.0",
|
| 71 |
"mkdocs-mermaid2-plugin>=1.1.0",
|
| 72 |
"mkdocs-codeinclude-plugin>=0.2.0",
|
|
|
|
| 73 |
"mkdocs-minify-plugin>=0.8.0",
|
| 74 |
"pymdown-extensions>=10.17.2",
|
| 75 |
]
|
|
@@ -192,6 +193,7 @@ dev = [
|
|
| 192 |
"mkdocs-codeinclude-plugin>=0.2.1",
|
| 193 |
"mkdocs-material>=9.7.0",
|
| 194 |
"mkdocs-mermaid2-plugin>=1.2.3",
|
|
|
|
| 195 |
"mkdocs-minify-plugin>=0.8.0",
|
| 196 |
"structlog>=25.5.0",
|
| 197 |
"ty>=0.0.1a28",
|
|
|
|
| 70 |
"mkdocs-material>=9.0.0",
|
| 71 |
"mkdocs-mermaid2-plugin>=1.1.0",
|
| 72 |
"mkdocs-codeinclude-plugin>=0.2.0",
|
| 73 |
+
"mkdocs-git-revision-date-localized-plugin>=1.2.0",
|
| 74 |
"mkdocs-minify-plugin>=0.8.0",
|
| 75 |
"pymdown-extensions>=10.17.2",
|
| 76 |
]
|
|
|
|
| 193 |
"mkdocs-codeinclude-plugin>=0.2.1",
|
| 194 |
"mkdocs-material>=9.7.0",
|
| 195 |
"mkdocs-mermaid2-plugin>=1.2.3",
|
| 196 |
+
"mkdocs-git-revision-date-localized-plugin>=1.2.0",
|
| 197 |
"mkdocs-minify-plugin>=0.8.0",
|
| 198 |
"structlog>=25.5.0",
|
| 199 |
"ty>=0.0.1a28",
|
site/404.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link rel=icon href=/GradioDemo/assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>The DETERMINATOR</title><link rel=stylesheet href=/GradioDemo/assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=/GradioDemo/assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("/GradioDemo/",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=/GradioDemo/. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=/GradioDemo/. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=/GradioDemo/. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=/GradioDemo/LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>404 - Not found</h1> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "/GradioDemo/", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "/GradioDemo/assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=/GradioDemo/assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link rel=icon href=/GradioDemo/assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>The DETERMINATOR</title><link rel=stylesheet href=/GradioDemo/assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=/GradioDemo/assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=/GradioDemo/css/timeago.css><script>__md_scope=new URL("/GradioDemo/",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=/GradioDemo/. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=/GradioDemo/. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=/GradioDemo/team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=/GradioDemo/. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=/GradioDemo/configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=/GradioDemo/contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=/GradioDemo/contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=/GradioDemo/LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=/GradioDemo/team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1>404 - Not found</h1> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "/GradioDemo/", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "/GradioDemo/assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=/GradioDemo/assets/javascripts/bundle.e71a0d61.min.js></script> <script src=/GradioDemo/js/timeago.min.js></script> <script src=/GradioDemo/js/timeago_mkdocs_material.js></script> </body> </html>
|
site/api/agents/index.html
CHANGED
|
@@ -1,52 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/api/agents/ rel=canonical><link href=../../architecture/services/ rel=prev><link href=../tools/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Agents API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#agents-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Agents API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Agents API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Agents API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#knowledgegapagent class=md-nav__link> <span class=md-ellipsis> KnowledgeGapAgent </span> </a> <nav class=md-nav aria-label=KnowledgeGapAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#evaluate class=md-nav__link> <span class=md-ellipsis> evaluate </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#toolselectoragent class=md-nav__link> <span class=md-ellipsis> ToolSelectorAgent </span> </a> <nav class=md-nav aria-label=ToolSelectorAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#select_tools class=md-nav__link> <span class=md-ellipsis> select_tools </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#writeragent class=md-nav__link> <span class=md-ellipsis> WriterAgent </span> </a> <nav class=md-nav aria-label=WriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#write_report class=md-nav__link> <span class=md-ellipsis> write_report </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#longwriteragent class=md-nav__link> <span class=md-ellipsis> LongWriterAgent </span> </a> <nav class=md-nav aria-label=LongWriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#write_next_section class=md-nav__link> <span class=md-ellipsis> write_next_section </span> </a> </li> <li class=md-nav__item> <a href=#write_report_1 class=md-nav__link> <span class=md-ellipsis> write_report </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#proofreaderagent class=md-nav__link> <span class=md-ellipsis> ProofreaderAgent </span> </a> <nav class=md-nav aria-label=ProofreaderAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_4 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#proofread class=md-nav__link> <span class=md-ellipsis> proofread </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#thinkingagent class=md-nav__link> <span class=md-ellipsis> ThinkingAgent </span> </a> <nav class=md-nav aria-label=ThinkingAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_5 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#generate_observations class=md-nav__link> <span class=md-ellipsis> generate_observations </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#inputparseragent class=md-nav__link> <span class=md-ellipsis> InputParserAgent </span> </a> <nav class=md-nav aria-label=InputParserAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_6 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#parse_query class=md-nav__link> <span class=md-ellipsis> parse_query </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#knowledgegapagent class=md-nav__link> <span class=md-ellipsis> KnowledgeGapAgent </span> </a> <nav class=md-nav aria-label=KnowledgeGapAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#evaluate class=md-nav__link> <span class=md-ellipsis> evaluate </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#toolselectoragent class=md-nav__link> <span class=md-ellipsis> ToolSelectorAgent </span> </a> <nav class=md-nav aria-label=ToolSelectorAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#select_tools class=md-nav__link> <span class=md-ellipsis> select_tools </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#writeragent class=md-nav__link> <span class=md-ellipsis> WriterAgent </span> </a> <nav class=md-nav aria-label=WriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#write_report class=md-nav__link> <span class=md-ellipsis> write_report </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#longwriteragent class=md-nav__link> <span class=md-ellipsis> LongWriterAgent </span> </a> <nav class=md-nav aria-label=LongWriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#write_next_section class=md-nav__link> <span class=md-ellipsis> write_next_section </span> </a> </li> <li class=md-nav__item> <a href=#write_report_1 class=md-nav__link> <span class=md-ellipsis> write_report </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#proofreaderagent class=md-nav__link> <span class=md-ellipsis> ProofreaderAgent </span> </a> <nav class=md-nav aria-label=ProofreaderAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_4 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#proofread class=md-nav__link> <span class=md-ellipsis> proofread </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#thinkingagent class=md-nav__link> <span class=md-ellipsis> ThinkingAgent </span> </a> <nav class=md-nav aria-label=ThinkingAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_5 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#generate_observations class=md-nav__link> <span class=md-ellipsis> generate_observations </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#inputparseragent class=md-nav__link> <span class=md-ellipsis> InputParserAgent </span> </a> <nav class=md-nav aria-label=InputParserAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_6 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#parse_query class=md-nav__link> <span class=md-ellipsis> parse_query </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=agents-api-reference>Agents API Reference<a class=headerlink href=#agents-api-reference title="Permanent link">¶</a></h1> <p>This page documents the API for DeepCritical agents.</p> <h2 id=knowledgegapagent>KnowledgeGapAgent<a class=headerlink href=#knowledgegapagent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.knowledge_gap</code></p> <p><strong>Purpose</strong>: Evaluates research state and identifies knowledge gaps.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Permanent link">¶</a></h3> <h4 id=evaluate><code>evaluate</code><a class=headerlink href=#evaluate title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>evaluate</span><span class=p>(</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=n>background_context</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=n>conversation_history</span><span class=p>:</span> <span class=n>Conversation</span><span class=p>,</span>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>iteration</span><span class=p>:</span> <span class=nb>int</span><span class=p>,</span>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=n>time_elapsed_minutes</span><span class=p>:</span> <span class=nb>float</span><span class=p>,</span>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a> <span class=n>max_time_minutes</span><span class=p>:</span> <span class=nb>float</span>
|
| 9 |
-
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=p>)</span> <span class=o>-></span> <span class=n>KnowledgeGapOutput</span>
|
| 10 |
-
</code></pre></div> <p>Evaluates research completeness and identifies outstanding knowledge gaps.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context for the query - <code>conversation_history</code>: Conversation history with previous iterations - <code>iteration</code>: Current iteration number - <code>time_elapsed_minutes</code>: Elapsed time in minutes - <code>max_time_minutes</code>: Maximum time limit in minutes</p> <p><strong>Returns</strong>: <code>KnowledgeGapOutput</code> with: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <h2 id=toolselectoragent>ToolSelectorAgent<a class=headerlink href=#toolselectoragent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.tool_selector</code></p> <p><strong>Purpose</strong>: Selects appropriate tools for addressing knowledge gaps.</p> <h3 id=methods_1>Methods<a class=headerlink href=#methods_1 title="Permanent link">¶</a></h3> <h4 id=select_tools><code>select_tools</code><a class=headerlink href=#select_tools title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>select_tools</span><span class=p>(</span>
|
| 11 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 12 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 13 |
-
<a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a> <span class=n>knowledge_gaps</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=nb>str</span><span class=p>],</span>
|
| 14 |
-
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=n>available_tools</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=nb>str</span><span class=p>]</span>
|
| 15 |
-
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a><span class=p>)</span> <span class=o>-></span> <span class=n>AgentSelectionPlan</span>
|
| 16 |
-
</code></pre></div> <p>Selects tools for addressing knowledge gaps.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>knowledge_gaps</code>: List of knowledge gaps to address - <code>available_tools</code>: List of available tool names</p> <p><strong>Returns</strong>: <code>AgentSelectionPlan</code> with list of <code>AgentTask</code> objects.</p> <h2 id=writeragent>WriterAgent<a class=headerlink href=#writeragent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.writer</code></p> <p><strong>Purpose</strong>: Generates final reports from research findings.</p> <h3 id=methods_2>Methods<a class=headerlink href=#methods_2 title="Permanent link">¶</a></h3> <h4 id=write_report><code>write_report</code><a class=headerlink href=#write_report title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>write_report</span><span class=p>(</span>
|
| 17 |
-
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 18 |
-
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 19 |
-
<a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=n>findings</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 20 |
-
<a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a> <span class=n>output_length</span><span class=p>:</span> <span class=nb>str</span> <span class=o>=</span> <span class=s2>"medium"</span><span class=p>,</span>
|
| 21 |
-
<a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a> <span class=n>output_instructions</span><span class=p>:</span> <span class=nb>str</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 22 |
-
<a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span>
|
| 23 |
-
</code></pre></div> <p>Generates a markdown report from research findings.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>findings</code>: Research findings to include in report - <code>output_length</code>: Desired output length ("short", "medium", "long") - <code>output_instructions</code>: Additional instructions for report generation</p> <p><strong>Returns</strong>: Markdown string with numbered citations.</p> <h2 id=longwriteragent>LongWriterAgent<a class=headerlink href=#longwriteragent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.long_writer</code></p> <p><strong>Purpose</strong>: Long-form report generation with section-by-section writing.</p> <h3 id=methods_3>Methods<a class=headerlink href=#methods_3 title="Permanent link">¶</a></h3> <h4 id=write_next_section><code>write_next_section</code><a class=headerlink href=#write_next_section title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>write_next_section</span><span class=p>(</span>
|
| 24 |
-
<a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 25 |
-
<a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 26 |
-
<a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a> <span class=n>draft</span><span class=p>:</span> <span class=n>ReportDraft</span><span class=p>,</span>
|
| 27 |
-
<a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a> <span class=n>section_title</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 28 |
-
<a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a> <span class=n>section_content</span><span class=p>:</span> <span class=nb>str</span>
|
| 29 |
-
<a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=p>)</span> <span class=o>-></span> <span class=n>LongWriterOutput</span>
|
| 30 |
-
</code></pre></div> <p>Writes the next section of a long-form report.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>draft</code>: Current report draft - <code>section_title</code>: Title of the section to write - <code>section_content</code>: Content/guidance for the section</p> <p><strong>Returns</strong>: <code>LongWriterOutput</code> with updated draft.</p> <h4 id=write_report_1><code>write_report</code><a class=headerlink href=#write_report_1 title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>write_report</span><span class=p>(</span>
|
| 31 |
-
<a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 32 |
-
<a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 33 |
-
<a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a> <span class=n>report_title</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 34 |
-
<a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a> <span class=n>report_draft</span><span class=p>:</span> <span class=n>ReportDraft</span>
|
| 35 |
-
<a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span>
|
| 36 |
-
</code></pre></div> <p>Generates final report from draft.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>report_title</code>: Title of the report - <code>report_draft</code>: Complete report draft</p> <p><strong>Returns</strong>: Final markdown report string.</p> <h2 id=proofreaderagent>ProofreaderAgent<a class=headerlink href=#proofreaderagent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.proofreader</code></p> <p><strong>Purpose</strong>: Proofreads and polishes report drafts.</p> <h3 id=methods_4>Methods<a class=headerlink href=#methods_4 title="Permanent link">¶</a></h3> <h4 id=proofread><code>proofread</code><a class=headerlink href=#proofread title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>proofread</span><span class=p>(</span>
|
| 37 |
-
<a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 38 |
-
<a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 39 |
-
<a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a> <span class=n>report_title</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 40 |
-
<a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a> <span class=n>report_draft</span><span class=p>:</span> <span class=n>ReportDraft</span>
|
| 41 |
-
<a id=__codelineno-5-6 name=__codelineno-5-6 href=#__codelineno-5-6></a><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span>
|
| 42 |
-
</code></pre></div> <p>Proofreads and polishes a report draft.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>report_title</code>: Title of the report - <code>report_draft</code>: Report draft to proofread</p> <p><strong>Returns</strong>: Polished markdown string.</p> <h2 id=thinkingagent>ThinkingAgent<a class=headerlink href=#thinkingagent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.thinking</code></p> <p><strong>Purpose</strong>: Generates observations from conversation history.</p> <h3 id=methods_5>Methods<a class=headerlink href=#methods_5 title="Permanent link">¶</a></h3> <h4 id=generate_observations><code>generate_observations</code><a class=headerlink href=#generate_observations title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>generate_observations</span><span class=p>(</span>
|
| 43 |
-
<a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 44 |
-
<a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 45 |
-
<a id=__codelineno-6-4 name=__codelineno-6-4 href=#__codelineno-6-4></a> <span class=n>background_context</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 46 |
-
<a id=__codelineno-6-5 name=__codelineno-6-5 href=#__codelineno-6-5></a> <span class=n>conversation_history</span><span class=p>:</span> <span class=n>Conversation</span>
|
| 47 |
-
<a id=__codelineno-6-6 name=__codelineno-6-6 href=#__codelineno-6-6></a><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span>
|
| 48 |
-
</code></pre></div> <p>Generates observations from conversation history.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context - <code>conversation_history</code>: Conversation history</p> <p><strong>Returns</strong>: Observation string.</p> <h2 id=inputparseragent>InputParserAgent<a class=headerlink href=#inputparseragent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.input_parser</code></p> <p><strong>Purpose</strong>: Parses and improves user queries, detects research mode.</p> <h3 id=methods_6>Methods<a class=headerlink href=#methods_6 title="Permanent link">¶</a></h3> <h4 id=parse_query><code>parse_query</code><a class=headerlink href=#parse_query title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>parse_query</span><span class=p>(</span>
|
| 49 |
-
<a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 50 |
-
<a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span>
|
| 51 |
-
<a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a><span class=p>)</span> <span class=o>-></span> <span class=n>ParsedQuery</span>
|
| 52 |
-
</code></pre></div> <p>Parses and improves a user query.</p> <p><strong>Parameters</strong>: - <code>query</code>: Original query string</p> <p><strong>Returns</strong>: <code>ParsedQuery</code> with: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: "iterative" or "deep" - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=factory-functions>Factory Functions<a class=headerlink href=#factory-functions title="Permanent link">¶</a></h2> <p>All agents have factory functions in <code>src.agent_factory.agents</code>:</p> <p><strong>Parameters</strong>: - <code>model</code>: Optional Pydantic AI model. If None, uses <code>get_model()</code> from settings.</p> <p><strong>Returns</strong>: Agent instance.</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../../architecture/agents/ >Architecture - Agents</a> - Architecture overview</li> <li><a href=../models/ >Models API</a> - Data models used by agents</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/api/agents/ rel=canonical><link href=../../architecture/services/ rel=prev><link href=../tools/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Agents API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#agents-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Agents API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Agents API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Agents API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#knowledgegapagent class=md-nav__link> <span class=md-ellipsis> KnowledgeGapAgent </span> </a> <nav class=md-nav aria-label=KnowledgeGapAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#toolselectoragent class=md-nav__link> <span class=md-ellipsis> ToolSelectorAgent </span> </a> <nav class=md-nav aria-label=ToolSelectorAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#writeragent class=md-nav__link> <span class=md-ellipsis> WriterAgent </span> </a> <nav class=md-nav aria-label=WriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#longwriteragent class=md-nav__link> <span class=md-ellipsis> LongWriterAgent </span> </a> <nav class=md-nav aria-label=LongWriterAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#proofreaderagent class=md-nav__link> <span class=md-ellipsis> ProofreaderAgent </span> </a> <nav class=md-nav aria-label=ProofreaderAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_4 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#thinkingagent class=md-nav__link> <span class=md-ellipsis> ThinkingAgent </span> </a> <nav class=md-nav aria-label=ThinkingAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_5 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#inputparseragent class=md-nav__link> <span class=md-ellipsis> InputParserAgent </span> </a> <nav class=md-nav aria-label=InputParserAgent> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_6 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=agents-api-reference>Agents API Reference<a class=headerlink href=#agents-api-reference title="Anchor link to this section">¶</a></h1> <p>This page documents the API for DeepCritical agents.</p> <h2 id=knowledgegapagent>KnowledgeGapAgent<a class=headerlink href=#knowledgegapagent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.knowledge_gap</code></p> <p><strong>Purpose</strong>: Evaluates research state and identifies knowledge gaps.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Anchor link to this section">¶</a></h3> <h4 id=evaluate><code>evaluate</code><a class=headerlink href=#evaluate title="Anchor link to this section">¶</a></h4> <p>Evaluates research completeness and identifies outstanding knowledge gaps.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context for the query (default: "") - <code>conversation_history</code>: History of actions, findings, and thoughts as string (default: "") - <code>iteration</code>: Current iteration number (default: 0) - <code>time_elapsed_minutes</code>: Elapsed time in minutes (default: 0.0) - <code>max_time_minutes</code>: Maximum time limit in minutes (default: 10)</p> <p><strong>Returns</strong>: <code>KnowledgeGapOutput</code> with: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <h2 id=toolselectoragent>ToolSelectorAgent<a class=headerlink href=#toolselectoragent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.tool_selector</code></p> <p><strong>Purpose</strong>: Selects appropriate tools for addressing knowledge gaps.</p> <h3 id=methods_1>Methods<a class=headerlink href=#methods_1 title="Anchor link to this section">¶</a></h3> <h4 id=select_tools><code>select_tools</code><a class=headerlink href=#select_tools title="Anchor link to this section">¶</a></h4> <p>Selects tools for addressing a knowledge gap.</p> <p><strong>Parameters</strong>: - <code>gap</code>: The knowledge gap to address - <code>query</code>: Research query string - <code>background_context</code>: Optional background context (default: "") - <code>conversation_history</code>: History of actions, findings, and thoughts as string (default: "")</p> <p><strong>Returns</strong>: <code>AgentSelectionPlan</code> with list of <code>AgentTask</code> objects.</p> <h2 id=writeragent>WriterAgent<a class=headerlink href=#writeragent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.writer</code></p> <p><strong>Purpose</strong>: Generates final reports from research findings.</p> <h3 id=methods_2>Methods<a class=headerlink href=#methods_2 title="Anchor link to this section">¶</a></h3> <h4 id=write_report><code>write_report</code><a class=headerlink href=#write_report title="Anchor link to this section">¶</a></h4> <p>Generates a markdown report from research findings.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>findings</code>: Research findings to include in report - <code>output_length</code>: Optional description of desired output length (default: "") - <code>output_instructions</code>: Optional additional instructions for report generation (default: "")</p> <p><strong>Returns</strong>: Markdown string with numbered citations.</p> <h2 id=longwriteragent>LongWriterAgent<a class=headerlink href=#longwriteragent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.long_writer</code></p> <p><strong>Purpose</strong>: Long-form report generation with section-by-section writing.</p> <h3 id=methods_3>Methods<a class=headerlink href=#methods_3 title="Anchor link to this section">¶</a></h3> <h4 id=write_next_section><code>write_next_section</code><a class=headerlink href=#write_next_section title="Anchor link to this section">¶</a></h4> <p>Writes the next section of a long-form report.</p> <p><strong>Parameters</strong>: - <code>original_query</code>: The original research query - <code>report_draft</code>: Current report draft as string (all sections written so far) - <code>next_section_title</code>: Title of the section to write - <code>next_section_draft</code>: Draft content for the next section</p> <p><strong>Returns</strong>: <code>LongWriterOutput</code> with formatted section and references.</p> <h4 id=write_report_1><code>write_report</code><a class=headerlink href=#write_report_1 title="Anchor link to this section">¶</a></h4> <p>Generates final report from draft.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>report_title</code>: Title of the report - <code>report_draft</code>: Complete report draft</p> <p><strong>Returns</strong>: Final markdown report string.</p> <h2 id=proofreaderagent>ProofreaderAgent<a class=headerlink href=#proofreaderagent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.proofreader</code></p> <p><strong>Purpose</strong>: Proofreads and polishes report drafts.</p> <h3 id=methods_4>Methods<a class=headerlink href=#methods_4 title="Anchor link to this section">¶</a></h3> <h4 id=proofread><code>proofread</code><a class=headerlink href=#proofread title="Anchor link to this section">¶</a></h4> <p>Proofreads and polishes a report draft.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>report_title</code>: Title of the report - <code>report_draft</code>: Report draft to proofread</p> <p><strong>Returns</strong>: Polished markdown string.</p> <h2 id=thinkingagent>ThinkingAgent<a class=headerlink href=#thinkingagent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.thinking</code></p> <p><strong>Purpose</strong>: Generates observations from conversation history.</p> <h3 id=methods_5>Methods<a class=headerlink href=#methods_5 title="Anchor link to this section">¶</a></h3> <h4 id=generate_observations><code>generate_observations</code><a class=headerlink href=#generate_observations title="Anchor link to this section">¶</a></h4> <p>Generates observations from conversation history.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Optional background context (default: "") - <code>conversation_history</code>: History of actions, findings, and thoughts as string (default: "") - <code>iteration</code>: Current iteration number (default: 1)</p> <p><strong>Returns</strong>: Observation string.</p> <h2 id=inputparseragent>InputParserAgent<a class=headerlink href=#inputparseragent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.agents.input_parser</code></p> <p><strong>Purpose</strong>: Parses and improves user queries, detects research mode.</p> <h3 id=methods_6>Methods<a class=headerlink href=#methods_6 title="Anchor link to this section">¶</a></h3> <h4 id=parse><code>parse</code><a class=headerlink href=#parse title="Anchor link to this section">¶</a></h4> <p>Parses and improves a user query.</p> <p><strong>Parameters</strong>: - <code>query</code>: Original query string</p> <p><strong>Returns</strong>: <code>ParsedQuery</code> with: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: "iterative" or "deep" - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=factory-functions>Factory Functions<a class=headerlink href=#factory-functions title="Anchor link to this section">¶</a></h2> <p>All agents have factory functions in <code>src.agent_factory.agents</code>:</p> <p><strong>Parameters</strong>: - <code>model</code>: Optional Pydantic AI model. If None, uses <code>get_model()</code> from settings. - <code>oauth_token</code>: Optional OAuth token from HuggingFace login (takes priority over env vars)</p> <p><strong>Returns</strong>: Agent instance.</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../../architecture/agents/ >Architecture - Agents</a> - Architecture overview</li> <li><a href=../models/ >Models API</a> - Data models used by agents</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/api/models/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/api/models/ rel=canonical><link href=../services/ rel=prev><link href=../../contributing/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Models API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#models-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Models API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Models API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Models API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#evidence class=md-nav__link> <span class=md-ellipsis> Evidence </span> </a> </li> <li class=md-nav__item> <a href=#citation class=md-nav__link> <span class=md-ellipsis> Citation </span> </a> </li> <li class=md-nav__item> <a href=#knowledgegapoutput class=md-nav__link> <span class=md-ellipsis> KnowledgeGapOutput </span> </a> </li> <li class=md-nav__item> <a href=#agentselectionplan class=md-nav__link> <span class=md-ellipsis> AgentSelectionPlan </span> </a> </li> <li class=md-nav__item> <a href=#agenttask class=md-nav__link> <span class=md-ellipsis> AgentTask </span> </a> </li> <li class=md-nav__item> <a href=#reportdraft class=md-nav__link> <span class=md-ellipsis> ReportDraft </span> </a> </li> <li class=md-nav__item> <a href=#reportsection class=md-nav__link> <span class=md-ellipsis> ReportSection </span> </a> </li> <li class=md-nav__item> <a href=#parsedquery class=md-nav__link> <span class=md-ellipsis> ParsedQuery </span> </a> </li> <li class=md-nav__item> <a href=#conversation class=md-nav__link> <span class=md-ellipsis> Conversation </span> </a> </li> <li class=md-nav__item> <a href=#iterationdata class=md-nav__link> <span class=md-ellipsis> IterationData </span> </a> </li> <li class=md-nav__item> <a href=#agentevent class=md-nav__link> <span class=md-ellipsis> AgentEvent </span> </a> </li> <li class=md-nav__item> <a href=#budgetstatus class=md-nav__link> <span class=md-ellipsis> BudgetStatus </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#evidence class=md-nav__link> <span class=md-ellipsis> Evidence </span> </a> </li> <li class=md-nav__item> <a href=#citation class=md-nav__link> <span class=md-ellipsis> Citation </span> </a> </li> <li class=md-nav__item> <a href=#knowledgegapoutput class=md-nav__link> <span class=md-ellipsis> KnowledgeGapOutput </span> </a> </li> <li class=md-nav__item> <a href=#agentselectionplan class=md-nav__link> <span class=md-ellipsis> AgentSelectionPlan </span> </a> </li> <li class=md-nav__item> <a href=#agenttask class=md-nav__link> <span class=md-ellipsis> AgentTask </span> </a> </li> <li class=md-nav__item> <a href=#reportdraft class=md-nav__link> <span class=md-ellipsis> ReportDraft </span> </a> </li> <li class=md-nav__item> <a href=#reportsection class=md-nav__link> <span class=md-ellipsis> ReportSection </span> </a> </li> <li class=md-nav__item> <a href=#parsedquery class=md-nav__link> <span class=md-ellipsis> ParsedQuery </span> </a> </li> <li class=md-nav__item> <a href=#conversation class=md-nav__link> <span class=md-ellipsis> Conversation </span> </a> </li> <li class=md-nav__item> <a href=#iterationdata class=md-nav__link> <span class=md-ellipsis> IterationData </span> </a> </li> <li class=md-nav__item> <a href=#agentevent class=md-nav__link> <span class=md-ellipsis> AgentEvent </span> </a> </li> <li class=md-nav__item> <a href=#budgetstatus class=md-nav__link> <span class=md-ellipsis> BudgetStatus </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=models-api-reference>Models API Reference<a class=headerlink href=#models-api-reference title="Permanent link">¶</a></h1> <p>This page documents the Pydantic models used throughout DeepCritical.</p> <h2 id=evidence>Evidence<a class=headerlink href=#evidence title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Represents evidence from search results.</p> <p><strong>Fields</strong>: - <code>citation</code>: Citation information (title, URL, date, authors) - <code>content</code>: Evidence text content - <code>relevance_score</code>: Relevance score (0.0-1.0) - <code>metadata</code>: Additional metadata dictionary</p> <h2 id=citation>Citation<a class=headerlink href=#citation title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Citation information for evidence.</p> <p><strong>Fields</strong>: - <code>title</code>: Article/trial title - <code>url</code>: Source URL - <code>date</code>: Publication date (optional) - <code>authors</code>: List of authors (optional)</p> <h2 id=knowledgegapoutput>KnowledgeGapOutput<a class=headerlink href=#knowledgegapoutput title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Output from knowledge gap evaluation.</p> <p><strong>Fields</strong>: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <h2 id=agentselectionplan>AgentSelectionPlan<a class=headerlink href=#agentselectionplan title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Plan for tool/agent selection.</p> <p><strong>Fields</strong>: - <code>tasks</code>: List of agent tasks to execute</p> <h2 id=agenttask>AgentTask<a class=headerlink href=#agenttask title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Individual agent task.</p> <p><strong>Fields</strong>: - <code>agent_name</code>: Name of agent to use - <code>query</code>: Task query - <code>context</code>: Additional context dictionary</p> <h2 id=reportdraft>ReportDraft<a class=headerlink href=#reportdraft title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Draft structure for long-form reports.</p> <p><strong>Fields</strong>: - <code>title</code>: Report title - <code>sections</code>: List of report sections - <code>references</code>: List of citations</p> <h2 id=reportsection>ReportSection<a class=headerlink href=#reportsection title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Individual section in a report draft.</p> <p><strong>Fields</strong>: - <code>title</code>: Section title - <code>content</code>: Section content - <code>order</code>: Section order number</p> <h2 id=parsedquery>ParsedQuery<a class=headerlink href=#parsedquery title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Parsed and improved query.</p> <p><strong>Fields</strong>: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: Research mode ("iterative" or "deep") - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=conversation>Conversation<a class=headerlink href=#conversation title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Conversation history with iterations.</p> <p><strong>Fields</strong>: - <code>iterations</code>: List of iteration data</p> <h2 id=iterationdata>IterationData<a class=headerlink href=#iterationdata title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Data for a single iteration.</p> <p><strong>Fields</strong>: - <code>iteration</code>: Iteration number - <code>observations</code>: Generated observations - <code>knowledge_gaps</code>: Identified knowledge gaps - <code>tool_calls</code>: Tool calls made - <code>findings</code>: Findings from tools - <code>thoughts</code>: Agent thoughts</p> <h2 id=agentevent>AgentEvent<a class=headerlink href=#agentevent title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Event emitted during research execution.</p> <p><strong>Fields</strong>: - <code>type</code>: Event type (e.g., "started", "search_complete", "complete") - <code>iteration</code>: Iteration number (optional) - <code>data</code>: Event data dictionary</p> <h2 id=budgetstatus>BudgetStatus<a class=headerlink href=#budgetstatus title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Current budget status.</p> <p><strong>Fields</strong>: - <code>tokens_used</code>: Tokens used so far - <code>tokens_limit</code>: Token limit - <code>time_elapsed_seconds</code>: Elapsed time in seconds - <code>time_limit_seconds</code>: Time limit in seconds - <code>iterations</code>: Current iteration count - <code>iterations_limit</code>: Iteration limit</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../../architecture/agents/ >Architecture - Agents</a> - How models are used</li> <li><a href=../../configuration/ >Configuration</a> - Model configuration</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/api/models/ rel=canonical><link href=../services/ rel=prev><link href=../../contributing/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Models API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#models-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Models API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Models API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Models API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#evidence class=md-nav__link> <span class=md-ellipsis> Evidence </span> </a> </li> <li class=md-nav__item> <a href=#citation class=md-nav__link> <span class=md-ellipsis> Citation </span> </a> </li> <li class=md-nav__item> <a href=#knowledgegapoutput class=md-nav__link> <span class=md-ellipsis> KnowledgeGapOutput </span> </a> </li> <li class=md-nav__item> <a href=#agentselectionplan class=md-nav__link> <span class=md-ellipsis> AgentSelectionPlan </span> </a> </li> <li class=md-nav__item> <a href=#agenttask class=md-nav__link> <span class=md-ellipsis> AgentTask </span> </a> </li> <li class=md-nav__item> <a href=#reportdraft class=md-nav__link> <span class=md-ellipsis> ReportDraft </span> </a> </li> <li class=md-nav__item> <a href=#reportsection class=md-nav__link> <span class=md-ellipsis> ReportSection </span> </a> </li> <li class=md-nav__item> <a href=#parsedquery class=md-nav__link> <span class=md-ellipsis> ParsedQuery </span> </a> </li> <li class=md-nav__item> <a href=#conversation class=md-nav__link> <span class=md-ellipsis> Conversation </span> </a> </li> <li class=md-nav__item> <a href=#iterationdata class=md-nav__link> <span class=md-ellipsis> IterationData </span> </a> </li> <li class=md-nav__item> <a href=#agentevent class=md-nav__link> <span class=md-ellipsis> AgentEvent </span> </a> </li> <li class=md-nav__item> <a href=#budgetstatus class=md-nav__link> <span class=md-ellipsis> BudgetStatus </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=models-api-reference>Models API Reference<a class=headerlink href=#models-api-reference title="Anchor link to this section">¶</a></h1> <p>This page documents the Pydantic models used throughout DeepCritical.</p> <h2 id=evidence>Evidence<a class=headerlink href=#evidence title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Represents evidence from search results.</p> <p><strong>Fields</strong>: - <code>citation</code>: Citation information (title, URL, date, authors) - <code>content</code>: Evidence text content - <code>relevance</code>: Relevance score (0.0-1.0) - <code>metadata</code>: Additional metadata dictionary</p> <h2 id=citation>Citation<a class=headerlink href=#citation title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Citation information for evidence.</p> <p><strong>Fields</strong>: - <code>source</code>: Source name (e.g., "pubmed", "clinicaltrials", "europepmc", "web", "rag") - <code>title</code>: Article/trial title - <code>url</code>: Source URL - <code>date</code>: Publication date (YYYY-MM-DD or "Unknown") - <code>authors</code>: List of authors (optional)</p> <h2 id=knowledgegapoutput>KnowledgeGapOutput<a class=headerlink href=#knowledgegapoutput title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Output from knowledge gap evaluation.</p> <p><strong>Fields</strong>: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <h2 id=agentselectionplan>AgentSelectionPlan<a class=headerlink href=#agentselectionplan title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Plan for tool/agent selection.</p> <p><strong>Fields</strong>: - <code>tasks</code>: List of agent tasks to execute</p> <h2 id=agenttask>AgentTask<a class=headerlink href=#agenttask title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Individual agent task.</p> <p><strong>Fields</strong>: - <code>gap</code>: The knowledge gap being addressed (optional) - <code>agent</code>: Name of agent to use - <code>query</code>: The specific query for the agent - <code>entity_website</code>: The website of the entity being researched, if known (optional)</p> <h2 id=reportdraft>ReportDraft<a class=headerlink href=#reportdraft title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Draft structure for long-form reports.</p> <p><strong>Fields</strong>: - <code>sections</code>: List of report sections</p> <h2 id=reportsection>ReportSection<a class=headerlink href=#reportsection title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Individual section in a report draft.</p> <p><strong>Fields</strong>: - <code>section_title</code>: The title of the section - <code>section_content</code>: The content of the section</p> <h2 id=parsedquery>ParsedQuery<a class=headerlink href=#parsedquery title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Parsed and improved query.</p> <p><strong>Fields</strong>: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: Research mode ("iterative" or "deep") - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=conversation>Conversation<a class=headerlink href=#conversation title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Conversation history with iterations.</p> <p><strong>Fields</strong>: - <code>history</code>: List of iteration data</p> <h2 id=iterationdata>IterationData<a class=headerlink href=#iterationdata title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Data for a single iteration.</p> <p><strong>Fields</strong>: - <code>gap</code>: The gap addressed in the iteration - <code>tool_calls</code>: The tool calls made - <code>findings</code>: The findings collected from tool calls - <code>thought</code>: The thinking done to reflect on the success of the iteration and next steps</p> <h2 id=agentevent>AgentEvent<a class=headerlink href=#agentevent title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Event emitted during research execution.</p> <p><strong>Fields</strong>: - <code>type</code>: Event type (e.g., "started", "search_complete", "complete") - <code>iteration</code>: Iteration number (optional) - <code>data</code>: Event data dictionary</p> <h2 id=budgetstatus>BudgetStatus<a class=headerlink href=#budgetstatus title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.utils.models</code></p> <p><strong>Purpose</strong>: Current budget status.</p> <p><strong>Fields</strong>: - <code>tokens_used</code>: Total tokens used - <code>tokens_limit</code>: Token budget limit - <code>time_elapsed_seconds</code>: Time elapsed in seconds - <code>time_limit_seconds</code>: Time budget limit (default: 600.0 seconds / 10 minutes) - <code>iterations</code>: Number of iterations completed - <code>iterations_limit</code>: Maximum iterations (default: 10) - <code>iteration_tokens</code>: Tokens used per iteration (iteration number -> token count)</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../../architecture/agents/ >Architecture - Agents</a> - How models are used</li> <li><a href=../../configuration/ >Configuration</a> - Model configuration</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/api/orchestrators/index.html
CHANGED
|
@@ -1,35 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/api/orchestrators/ rel=canonical><link href=../tools/ rel=prev><link href=../services/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Orchestrators API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#orchestrators-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Orchestrators API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Orchestrators API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Orchestrators API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> <nav class=md-nav aria-label=IterativeResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> <nav class=md-nav aria-label=DeepResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_1 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graphorchestrator class=md-nav__link> <span class=md-ellipsis> GraphOrchestrator </span> </a> <nav class=md-nav aria-label=GraphOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_2 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> <nav class=md-nav aria-label="Orchestrator Factory"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#functions class=md-nav__link> <span class=md-ellipsis> Functions </span> </a> <nav class=md-nav aria-label=Functions> <ul class=md-nav__list> <li class=md-nav__item> <a href=#create_orchestrator class=md-nav__link> <span class=md-ellipsis> create_orchestrator </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#magenticorchestrator class=md-nav__link> <span class=md-ellipsis> MagenticOrchestrator </span> </a> <nav class=md-nav aria-label=MagenticOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_3 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> <nav class=md-nav aria-label=IterativeResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> <nav class=md-nav aria-label=DeepResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_1 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graphorchestrator class=md-nav__link> <span class=md-ellipsis> GraphOrchestrator </span> </a> <nav class=md-nav aria-label=GraphOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_2 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> <nav class=md-nav aria-label="Orchestrator Factory"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#functions class=md-nav__link> <span class=md-ellipsis> Functions </span> </a> <nav class=md-nav aria-label=Functions> <ul class=md-nav__list> <li class=md-nav__item> <a href=#create_orchestrator class=md-nav__link> <span class=md-ellipsis> create_orchestrator </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#magenticorchestrator class=md-nav__link> <span class=md-ellipsis> MagenticOrchestrator </span> </a> <nav class=md-nav aria-label=MagenticOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#run_3 class=md-nav__link> <span class=md-ellipsis> run </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=orchestrators-api-reference>Orchestrators API Reference<a class=headerlink href=#orchestrators-api-reference title="Permanent link">¶</a></h1> <p>This page documents the API for DeepCritical orchestrators.</p> <h2 id=iterativeresearchflow>IterativeResearchFlow<a class=headerlink href=#iterativeresearchflow title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.research_flow</code></p> <p><strong>Purpose</strong>: Single-loop research with search-judge-synthesize cycles.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Permanent link">¶</a></h3> <h4 id=run><code>run</code><a class=headerlink href=#run title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>run</span><span class=p>(</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=n>background_context</span><span class=p>:</span> <span class=nb>str</span> <span class=o>=</span> <span class=s2>""</span><span class=p>,</span>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=n>max_iterations</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=n>max_time_minutes</span><span class=p>:</span> <span class=nb>float</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=n>token_budget</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=p>)</span> <span class=o>-></span> <span class=n>AsyncGenerator</span><span class=p>[</span><span class=n>AgentEvent</span><span class=p>,</span> <span class=kc>None</span><span class=p>]</span>
|
| 9 |
-
</code></pre></div> <p>Runs iterative research flow.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context (default: "") - <code>max_iterations</code>: Maximum iterations (default: from settings) - <code>max_time_minutes</code>: Maximum time in minutes (default: from settings) - <code>token_budget</code>: Token budget (default: from settings)</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects for: - <code>started</code>: Research started - <code>search_complete</code>: Search completed - <code>judge_complete</code>: Evidence evaluation completed - <code>synthesizing</code>: Generating report - <code>complete</code>: Research completed - <code>error</code>: Error occurred</p> <h2 id=deepresearchflow>DeepResearchFlow<a class=headerlink href=#deepresearchflow title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.research_flow</code></p> <p><strong>Purpose</strong>: Multi-section parallel research with planning and synthesis.</p> <h3 id=methods_1>Methods<a class=headerlink href=#methods_1 title="Permanent link">¶</a></h3> <h4 id=run_1><code>run</code><a class=headerlink href=#run_1 title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>run</span><span class=p>(</span>
|
| 10 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 11 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 12 |
-
<a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a> <span class=n>background_context</span><span class=p>:</span> <span class=nb>str</span> <span class=o>=</span> <span class=s2>""</span><span class=p>,</span>
|
| 13 |
-
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=n>max_iterations_per_section</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
|
| 14 |
-
<a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=n>max_time_minutes</span><span class=p>:</span> <span class=nb>float</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
|
| 15 |
-
<a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a> <span class=n>token_budget</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 16 |
-
<a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=p>)</span> <span class=o>-></span> <span class=n>AsyncGenerator</span><span class=p>[</span><span class=n>AgentEvent</span><span class=p>,</span> <span class=kc>None</span><span class=p>]</span>
|
| 17 |
-
</code></pre></div> <p>Runs deep research flow.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context (default: "") - <code>max_iterations_per_section</code>: Maximum iterations per section (default: from settings) - <code>max_time_minutes</code>: Maximum time in minutes (default: from settings) - <code>token_budget</code>: Token budget (default: from settings)</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects for: - <code>started</code>: Research started - <code>planning</code>: Creating research plan - <code>looping</code>: Running parallel research loops - <code>synthesizing</code>: Synthesizing results - <code>complete</code>: Research completed - <code>error</code>: Error occurred</p> <h2 id=graphorchestrator>GraphOrchestrator<a class=headerlink href=#graphorchestrator title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.graph_orchestrator</code></p> <p><strong>Purpose</strong>: Graph-based execution using Pydantic AI agents as nodes.</p> <h3 id=methods_2>Methods<a class=headerlink href=#methods_2 title="Permanent link">¶</a></h3> <h4 id=run_2><code>run</code><a class=headerlink href=#run_2 title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>run</span><span class=p>(</span>
|
| 18 |
-
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 19 |
-
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 20 |
-
<a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=n>research_mode</span><span class=p>:</span> <span class=nb>str</span> <span class=o>=</span> <span class=s2>"auto"</span><span class=p>,</span>
|
| 21 |
-
<a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a> <span class=n>use_graph</span><span class=p>:</span> <span class=nb>bool</span> <span class=o>=</span> <span class=kc>True</span>
|
| 22 |
-
<a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=p>)</span> <span class=o>-></span> <span class=n>AsyncGenerator</span><span class=p>[</span><span class=n>AgentEvent</span><span class=p>,</span> <span class=kc>None</span><span class=p>]</span>
|
| 23 |
-
</code></pre></div> <p>Runs graph-based research orchestration.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>research_mode</code>: Research mode ("iterative", "deep", or "auto") - <code>use_graph</code>: Whether to use graph execution (default: True)</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects during graph execution.</p> <h2 id=orchestrator-factory>Orchestrator Factory<a class=headerlink href=#orchestrator-factory title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator_factory</code></p> <p><strong>Purpose</strong>: Factory for creating orchestrators.</p> <h3 id=functions>Functions<a class=headerlink href=#functions title="Permanent link">¶</a></h3> <h4 id=create_orchestrator><code>create_orchestrator</code><a class=headerlink href=#create_orchestrator title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=k>def</span><span class=w> </span><span class=nf>create_orchestrator</span><span class=p>(</span>
|
| 24 |
-
<a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a> <span class=n>search_handler</span><span class=p>:</span> <span class=n>SearchHandlerProtocol</span><span class=p>,</span>
|
| 25 |
-
<a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a> <span class=n>judge_handler</span><span class=p>:</span> <span class=n>JudgeHandlerProtocol</span><span class=p>,</span>
|
| 26 |
-
<a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a> <span class=n>config</span><span class=p>:</span> <span class=nb>dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>Any</span><span class=p>],</span>
|
| 27 |
-
<a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a> <span class=n>mode</span><span class=p>:</span> <span class=nb>str</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 28 |
-
<a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a><span class=p>)</span> <span class=o>-></span> <span class=n>Any</span>
|
| 29 |
-
</code></pre></div> <p>Creates an orchestrator instance.</p> <p><strong>Parameters</strong>: - <code>search_handler</code>: Search handler protocol implementation - <code>judge_handler</code>: Judge handler protocol implementation - <code>config</code>: Configuration dictionary - <code>mode</code>: Orchestrator mode ("simple", "advanced", "magentic", or None for auto-detect)</p> <p><strong>Returns</strong>: Orchestrator instance.</p> <p><strong>Raises</strong>: - <code>ValueError</code>: If requirements not met</p> <p><strong>Modes</strong>: - <code>"simple"</code>: Legacy orchestrator - <code>"advanced"</code> or <code>"magentic"</code>: Magentic orchestrator (requires OpenAI API key) - <code>None</code>: Auto-detect based on API key availability</p> <h2 id=magenticorchestrator>MagenticOrchestrator<a class=headerlink href=#magenticorchestrator title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator_magentic</code></p> <p><strong>Purpose</strong>: Multi-agent coordination using Microsoft Agent Framework.</p> <h3 id=methods_3>Methods<a class=headerlink href=#methods_3 title="Permanent link">¶</a></h3> <h4 id=run_3><code>run</code><a class=headerlink href=#run_3 title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>run</span><span class=p>(</span>
|
| 30 |
-
<a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 31 |
-
<a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 32 |
-
<a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a> <span class=n>max_rounds</span><span class=p>:</span> <span class=nb>int</span> <span class=o>=</span> <span class=mi>15</span><span class=p>,</span>
|
| 33 |
-
<a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a> <span class=n>max_stalls</span><span class=p>:</span> <span class=nb>int</span> <span class=o>=</span> <span class=mi>3</span>
|
| 34 |
-
<a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=p>)</span> <span class=o>-></span> <span class=n>AsyncGenerator</span><span class=p>[</span><span class=n>AgentEvent</span><span class=p>,</span> <span class=kc>None</span><span class=p>]</span>
|
| 35 |
-
</code></pre></div> <p>Runs Magentic orchestration.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>max_rounds</code>: Maximum rounds (default: 15) - <code>max_stalls</code>: Maximum stalls before reset (default: 3)</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects converted from Magentic events.</p> <p><strong>Requirements</strong>: - <code>agent-framework-core</code> package - OpenAI API key</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../../architecture/orchestrators/ >Architecture - Orchestrators</a> - Architecture overview</li> <li><a href=../../architecture/graph-orchestration/ >Graph Orchestration</a> - Graph execution details</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/api/orchestrators/ rel=canonical><link href=../tools/ rel=prev><link href=../services/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Orchestrators API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#orchestrators-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Orchestrators API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Orchestrators API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Orchestrators API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> <nav class=md-nav aria-label=IterativeResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> <nav class=md-nav aria-label=DeepResearchFlow> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graphorchestrator class=md-nav__link> <span class=md-ellipsis> GraphOrchestrator </span> </a> <nav class=md-nav aria-label=GraphOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> <nav class=md-nav aria-label="Orchestrator Factory"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#functions class=md-nav__link> <span class=md-ellipsis> Functions </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#magenticorchestrator class=md-nav__link> <span class=md-ellipsis> MagenticOrchestrator </span> </a> <nav class=md-nav aria-label=MagenticOrchestrator> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_3 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=orchestrators-api-reference>Orchestrators API Reference<a class=headerlink href=#orchestrators-api-reference title="Anchor link to this section">¶</a></h1> <p>This page documents the API for DeepCritical orchestrators.</p> <h2 id=iterativeresearchflow>IterativeResearchFlow<a class=headerlink href=#iterativeresearchflow title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.research_flow</code></p> <p><strong>Purpose</strong>: Single-loop research with search-judge-synthesize cycles.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Anchor link to this section">¶</a></h3> <h4 id=run><code>run</code><a class=headerlink href=#run title="Anchor link to this section">¶</a></h4> <p>Runs iterative research flow.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string - <code>background_context</code>: Background context (default: "") - <code>output_length</code>: Optional description of desired output length (default: "") - <code>output_instructions</code>: Optional additional instructions for report generation (default: "")</p> <p><strong>Returns</strong>: Final report string.</p> <p><strong>Note</strong>: <code>max_iterations</code>, <code>max_time_minutes</code>, and <code>token_budget</code> are constructor parameters, not <code>run()</code> parameters.</p> <h2 id=deepresearchflow>DeepResearchFlow<a class=headerlink href=#deepresearchflow title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.research_flow</code></p> <p><strong>Purpose</strong>: Multi-section parallel research with planning and synthesis.</p> <h3 id=methods_1>Methods<a class=headerlink href=#methods_1 title="Anchor link to this section">¶</a></h3> <h4 id=run_1><code>run</code><a class=headerlink href=#run_1 title="Anchor link to this section">¶</a></h4> <p>Runs deep research flow.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string</p> <p><strong>Returns</strong>: Final report string.</p> <p><strong>Note</strong>: <code>max_iterations_per_section</code>, <code>max_time_minutes</code>, and <code>token_budget</code> are constructor parameters, not <code>run()</code> parameters.</p> <h2 id=graphorchestrator>GraphOrchestrator<a class=headerlink href=#graphorchestrator title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator.graph_orchestrator</code></p> <p><strong>Purpose</strong>: Graph-based execution using Pydantic AI agents as nodes.</p> <h3 id=methods_2>Methods<a class=headerlink href=#methods_2 title="Anchor link to this section">¶</a></h3> <h4 id=run_2><code>run</code><a class=headerlink href=#run_2 title="Anchor link to this section">¶</a></h4> <p>Runs graph-based research orchestration.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects during graph execution.</p> <p><strong>Note</strong>: <code>research_mode</code> and <code>use_graph</code> are constructor parameters, not <code>run()</code> parameters.</p> <h2 id=orchestrator-factory>Orchestrator Factory<a class=headerlink href=#orchestrator-factory title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator_factory</code></p> <p><strong>Purpose</strong>: Factory for creating orchestrators.</p> <h3 id=functions>Functions<a class=headerlink href=#functions title="Anchor link to this section">¶</a></h3> <h4 id=create_orchestrator><code>create_orchestrator</code><a class=headerlink href=#create_orchestrator title="Anchor link to this section">¶</a></h4> <p>Creates an orchestrator instance.</p> <p><strong>Parameters</strong>: - <code>search_handler</code>: Search handler protocol implementation (optional, required for simple mode) - <code>judge_handler</code>: Judge handler protocol implementation (optional, required for simple mode) - <code>config</code>: Configuration object (optional) - <code>mode</code>: Orchestrator mode ("simple", "advanced", "magentic", "iterative", "deep", "auto", or None for auto-detect) - <code>oauth_token</code>: Optional OAuth token from HuggingFace login (takes priority over env vars)</p> <p><strong>Returns</strong>: Orchestrator instance.</p> <p><strong>Raises</strong>: - <code>ValueError</code>: If requirements not met</p> <p><strong>Modes</strong>: - <code>"simple"</code>: Legacy orchestrator - <code>"advanced"</code> or <code>"magentic"</code>: Magentic orchestrator (requires OpenAI API key) - <code>None</code>: Auto-detect based on API key availability</p> <h2 id=magenticorchestrator>MagenticOrchestrator<a class=headerlink href=#magenticorchestrator title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.orchestrator_magentic</code></p> <p><strong>Purpose</strong>: Multi-agent coordination using Microsoft Agent Framework.</p> <h3 id=methods_3>Methods<a class=headerlink href=#methods_3 title="Anchor link to this section">¶</a></h3> <h4 id=run_3><code>run</code><a class=headerlink href=#run_3 title="Anchor link to this section">¶</a></h4> <p>Runs Magentic orchestration.</p> <p><strong>Parameters</strong>: - <code>query</code>: Research query string</p> <p><strong>Yields</strong>: <code>AgentEvent</code> objects converted from Magentic events.</p> <p><strong>Note</strong>: <code>max_rounds</code> and <code>max_stalls</code> are constructor parameters, not <code>run()</code> parameters.</p> <p><strong>Requirements</strong>: - <code>agent-framework-core</code> package - OpenAI API key</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../../architecture/orchestrators/ >Architecture - Orchestrators</a> - Architecture overview</li> <li><a href=../architecture/graph-orchestration.md>Graph Orchestration</a> - Graph execution details</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/api/services/index.html
CHANGED
|
@@ -1,30 +1,49 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/api/services/ rel=canonical><link href=../orchestrators/ rel=prev><link href=../models/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Services API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#services-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Services API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Services API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Services API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embeddingservice class=md-nav__link> <span class=md-ellipsis> EmbeddingService </span> </a> <nav class=md-nav aria-label=EmbeddingService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#embed class=md-nav__link> <span class=md-ellipsis> embed </span> </a> </li> <li class=md-nav__item> <a href=#embed_batch class=md-nav__link> <span class=md-ellipsis> embed_batch </span> </a> </li> <li class=md-nav__item> <a href=#similarity class=md-nav__link> <span class=md-ellipsis> similarity </span> </a> </li> <li class=md-nav__item> <a href=#find_duplicates class=md-nav__link> <span class=md-ellipsis> find_duplicates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-function class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> <nav class=md-nav aria-label="Factory Function"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#get_embedding_service class=md-nav__link> <span class=md-ellipsis> get_embedding_service </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#llamaindexragservice class=md-nav__link> <span class=md-ellipsis> LlamaIndexRAGService </span> </a> <nav class=md-nav aria-label=LlamaIndexRAGService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ingest_evidence class=md-nav__link> <span class=md-ellipsis> ingest_evidence </span> </a> </li> <li class=md-nav__item> <a href=#retrieve class=md-nav__link> <span class=md-ellipsis> retrieve </span> </a> </li> <li class=md-nav__item> <a href=#query class=md-nav__link> <span class=md-ellipsis> query </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-function_1 class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> <nav class=md-nav aria-label="Factory Function"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#get_rag_service class=md-nav__link> <span class=md-ellipsis> get_rag_service </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#statisticalanalyzer class=md-nav__link> <span class=md-ellipsis> StatisticalAnalyzer </span> </a> <nav class=md-nav aria-label=StatisticalAnalyzer> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#analyze class=md-nav__link> <span class=md-ellipsis> analyze </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embeddingservice class=md-nav__link> <span class=md-ellipsis> EmbeddingService </span> </a> <nav class=md-nav aria-label=EmbeddingService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#embed class=md-nav__link> <span class=md-ellipsis> embed </span> </a> </li> <li class=md-nav__item> <a href=#embed_batch class=md-nav__link> <span class=md-ellipsis> embed_batch </span> </a> </li> <li class=md-nav__item> <a href=#similarity class=md-nav__link> <span class=md-ellipsis> similarity </span> </a> </li> <li class=md-nav__item> <a href=#find_duplicates class=md-nav__link> <span class=md-ellipsis> find_duplicates </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-function class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> <nav class=md-nav aria-label="Factory Function"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#get_embedding_service class=md-nav__link> <span class=md-ellipsis> get_embedding_service </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#llamaindexragservice class=md-nav__link> <span class=md-ellipsis> LlamaIndexRAGService </span> </a> <nav class=md-nav aria-label=LlamaIndexRAGService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#ingest_evidence class=md-nav__link> <span class=md-ellipsis> ingest_evidence </span> </a> </li> <li class=md-nav__item> <a href=#retrieve class=md-nav__link> <span class=md-ellipsis> retrieve </span> </a> </li> <li class=md-nav__item> <a href=#query class=md-nav__link> <span class=md-ellipsis> query </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-function_1 class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> <nav class=md-nav aria-label="Factory Function"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#get_rag_service class=md-nav__link> <span class=md-ellipsis> get_rag_service </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#statisticalanalyzer class=md-nav__link> <span class=md-ellipsis> StatisticalAnalyzer </span> </a> <nav class=md-nav aria-label=StatisticalAnalyzer> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> <nav class=md-nav aria-label=Methods> <ul class=md-nav__list> <li class=md-nav__item> <a href=#analyze class=md-nav__link> <span class=md-ellipsis> analyze </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=services-api-reference>Services API Reference<a class=headerlink href=#services-api-reference title="Permanent link">¶</a></h1> <p>This page documents the API for DeepCritical services.</p> <h2 id=embeddingservice>EmbeddingService<a class=headerlink href=#embeddingservice title="Permanent link">¶</a></h2> <p><strong>Module</strong>: <code>src.services.embeddings</code></p> <p><strong>Purpose</strong>: Local sentence-transformers for semantic search and deduplication.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Permanent link">¶</a></h3> <h4 id=embed><code>embed</code><a class=headerlink href=#embed title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>embed</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>text</span><span class=p>:</span> <span class=nb>str</span><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=nb>float</span><span class=p>]</span>
|
| 2 |
-
</code></pre></div> <p>Generates
|
| 3 |
-
</code></pre></div> <p>
|
| 4 |
-
</
|
| 5 |
-
<a id=__codelineno-
|
| 6 |
-
<a id=__codelineno-
|
| 7 |
-
<a id=__codelineno-
|
| 8 |
-
<
|
| 9 |
-
</
|
| 10 |
-
<a id=__codelineno-
|
| 11 |
-
</
|
| 12 |
-
</
|
| 13 |
-
<a id=__codelineno-
|
| 14 |
-
<a id=__codelineno-
|
| 15 |
-
<a id=__codelineno-
|
| 16 |
-
<a id=__codelineno-
|
| 17 |
-
</
|
| 18 |
-
<a id=__codelineno-
|
| 19 |
-
<a id=__codelineno-
|
| 20 |
-
<a id=__codelineno-
|
| 21 |
-
<a id=__codelineno-
|
| 22 |
-
</
|
| 23 |
-
<a id=__codelineno-
|
| 24 |
-
</code></pre></div> <p>
|
| 25 |
-
<a id=__codelineno-
|
| 26 |
-
<a id=__codelineno-
|
| 27 |
-
<a id=__codelineno-
|
| 28 |
-
<a id=__codelineno-
|
| 29 |
-
<a id=__codelineno-
|
| 30 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/api/services/ rel=canonical><link href=../orchestrators/ rel=prev><link href=../models/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Services API Reference - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#services-api-reference class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Services API Reference </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_6 checked> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=true> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Services API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Services API Reference </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embeddingservice class=md-nav__link> <span class=md-ellipsis> EmbeddingService </span> </a> <nav class=md-nav aria-label=EmbeddingService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> <li class=md-nav__item> <a href=#factory-function class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#llamaindexragservice class=md-nav__link> <span class=md-ellipsis> LlamaIndexRAGService </span> </a> <nav class=md-nav aria-label=LlamaIndexRAGService> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_1 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> <li class=md-nav__item> <a href=#factory-function_1 class=md-nav__link> <span class=md-ellipsis> Factory Function </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#statisticalanalyzer class=md-nav__link> <span class=md-ellipsis> StatisticalAnalyzer </span> </a> <nav class=md-nav aria-label=StatisticalAnalyzer> <ul class=md-nav__list> <li class=md-nav__item> <a href=#methods_2 class=md-nav__link> <span class=md-ellipsis> Methods </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=services-api-reference>Services API Reference<a class=headerlink href=#services-api-reference title="Anchor link to this section">¶</a></h1> <p>This page documents the API for DeepCritical services.</p> <h2 id=embeddingservice>EmbeddingService<a class=headerlink href=#embeddingservice title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.services.embeddings</code></p> <p><strong>Purpose</strong>: Local sentence-transformers for semantic search and deduplication.</p> <h3 id=methods>Methods<a class=headerlink href=#methods title="Anchor link to this section">¶</a></h3> <h4 id=embed><code>embed</code><a class=headerlink href=#embed title="Anchor link to this section">¶</a></h4> <p>Generates embedding for a text string.</p> <p><strong>Parameters</strong>: - <code>text</code>: Text to embed</p> <p><strong>Returns</strong>: Embedding vector as list of floats.</p> <h4 id=embed_batch><code>embed_batch</code><a class=headerlink href=#embed_batch title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>embed_batch</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>texts</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=nb>str</span><span class=p>])</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=nb>list</span><span class=p>[</span><span class=nb>float</span><span class=p>]]</span>
|
| 2 |
+
</span></code></pre></div> <p>Generates embeddings for multiple texts.</p> <p><strong>Parameters</strong>: - <code>texts</code>: List of texts to embed</p> <p><strong>Returns</strong>: List of embedding vectors.</p> <h4 id=similarity><code>similarity</code><a class=headerlink href=#similarity title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>similarity</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>text1</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span> <span class=n>text2</span><span class=p>:</span> <span class=nb>str</span><span class=p>)</span> <span class=o>-></span> <span class=nb>float</span>
|
| 3 |
+
</span></code></pre></div> <p>Calculates similarity between two texts.</p> <p><strong>Parameters</strong>: - <code>text1</code>: First text - <code>text2</code>: Second text</p> <p><strong>Returns</strong>: Similarity score (0.0-1.0).</p> <h4 id=find_duplicates><code>find_duplicates</code><a class=headerlink href=#find_duplicates title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>find_duplicates</span><span class=p>(</span>
|
| 4 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 5 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a> <span class=n>texts</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=nb>str</span><span class=p>],</span>
|
| 6 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=n>threshold</span><span class=p>:</span> <span class=nb>float</span> <span class=o>=</span> <span class=mf>0.85</span>
|
| 7 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=nb>tuple</span><span class=p>[</span><span class=nb>int</span><span class=p>,</span> <span class=nb>int</span><span class=p>]]</span>
|
| 8 |
+
</span></code></pre></div> <p>Finds duplicate texts based on similarity threshold.</p> <p><strong>Parameters</strong>: - <code>texts</code>: List of texts to check - <code>threshold</code>: Similarity threshold (default: 0.85)</p> <p><strong>Returns</strong>: List of (index1, index2) tuples for duplicate pairs.</p> <h4 id=add_evidence><code>add_evidence</code><a class=headerlink href=#add_evidence title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>add_evidence</span><span class=p>(</span>
|
| 9 |
+
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 10 |
+
</span><span id=__span-3-3><a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a> <span class=n>evidence_id</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 11 |
+
</span><span id=__span-3-4><a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a> <span class=n>content</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 12 |
+
</span><span id=__span-3-5><a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a> <span class=n>metadata</span><span class=p>:</span> <span class=nb>dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>Any</span><span class=p>]</span>
|
| 13 |
+
</span><span id=__span-3-6><a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a><span class=p>)</span> <span class=o>-></span> <span class=kc>None</span>
|
| 14 |
+
</span></code></pre></div> <p>Adds evidence to vector store for semantic search.</p> <p><strong>Parameters</strong>: - <code>evidence_id</code>: Unique identifier for the evidence - <code>content</code>: Evidence text content - <code>metadata</code>: Additional metadata dictionary</p> <h4 id=search_similar><code>search_similar</code><a class=headerlink href=#search_similar title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>search_similar</span><span class=p>(</span>
|
| 15 |
+
</span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 16 |
+
</span><span id=__span-4-3><a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 17 |
+
</span><span id=__span-4-4><a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a> <span class=n>n_results</span><span class=p>:</span> <span class=nb>int</span> <span class=o>=</span> <span class=mi>5</span>
|
| 18 |
+
</span><span id=__span-4-5><a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=nb>dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>Any</span><span class=p>]]</span>
|
| 19 |
+
</span></code></pre></div> <p>Finds semantically similar evidence.</p> <p><strong>Parameters</strong>: - <code>query</code>: Search query string - <code>n_results</code>: Number of results to return (default: 5)</p> <p><strong>Returns</strong>: List of dictionaries with <code>id</code>, <code>content</code>, <code>metadata</code>, and <code>distance</code> keys.</p> <h4 id=deduplicate><code>deduplicate</code><a class=headerlink href=#deduplicate title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>deduplicate</span><span class=p>(</span>
|
| 20 |
+
</span><span id=__span-5-2><a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 21 |
+
</span><span id=__span-5-3><a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a> <span class=n>new_evidence</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=n>Evidence</span><span class=p>],</span>
|
| 22 |
+
</span><span id=__span-5-4><a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a> <span class=n>threshold</span><span class=p>:</span> <span class=nb>float</span> <span class=o>=</span> <span class=mf>0.9</span>
|
| 23 |
+
</span><span id=__span-5-5><a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=n>Evidence</span><span class=p>]</span>
|
| 24 |
+
</span></code></pre></div> <p>Removes semantically duplicate evidence.</p> <p><strong>Parameters</strong>: - <code>new_evidence</code>: List of evidence items to deduplicate - <code>threshold</code>: Similarity threshold (default: 0.9, where 0.9 = 90% similar is duplicate)</p> <p><strong>Returns</strong>: List of unique evidence items (not already in vector store).</p> <h3 id=factory-function>Factory Function<a class=headerlink href=#factory-function title="Anchor link to this section">¶</a></h3> <h4 id=get_embedding_service><code>get_embedding_service</code><a class=headerlink href=#get_embedding_service title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a><span class=nd>@lru_cache</span><span class=p>(</span><span class=n>maxsize</span><span class=o>=</span><span class=mi>1</span><span class=p>)</span>
|
| 25 |
+
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a><span class=k>def</span><span class=w> </span><span class=nf>get_embedding_service</span><span class=p>()</span> <span class=o>-></span> <span class=n>EmbeddingService</span>
|
| 26 |
+
</span></code></pre></div> <p>Returns singleton EmbeddingService instance.</p> <h2 id=llamaindexragservice>LlamaIndexRAGService<a class=headerlink href=#llamaindexragservice title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.services.rag</code></p> <p><strong>Purpose</strong>: Retrieval-Augmented Generation using LlamaIndex.</p> <h3 id=methods_1>Methods<a class=headerlink href=#methods_1 title="Anchor link to this section">¶</a></h3> <h4 id=ingest_evidence><code>ingest_evidence</code><a class=headerlink href=#ingest_evidence title="Anchor link to this section">¶</a></h4> <p>Ingests evidence into RAG service.</p> <p><strong>Parameters</strong>: - <code>evidence_list</code>: List of Evidence objects to ingest</p> <p><strong>Note</strong>: Supports multiple embedding providers (OpenAI, local sentence-transformers, Hugging Face).</p> <h4 id=retrieve><code>retrieve</code><a class=headerlink href=#retrieve title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a><span class=k>def</span><span class=w> </span><span class=nf>retrieve</span><span class=p>(</span>
|
| 27 |
+
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 28 |
+
</span><span id=__span-7-3><a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 29 |
+
</span><span id=__span-7-4><a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a> <span class=n>top_k</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 30 |
+
</span><span id=__span-7-5><a id=__codelineno-7-5 name=__codelineno-7-5 href=#__codelineno-7-5></a><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=nb>dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>Any</span><span class=p>]]</span>
|
| 31 |
+
</span></code></pre></div> <p>Retrieves relevant documents for a query.</p> <p><strong>Parameters</strong>: - <code>query</code>: Search query string - <code>top_k</code>: Number of top results to return (defaults to <code>similarity_top_k</code> from constructor)</p> <p><strong>Returns</strong>: List of dictionaries with <code>text</code>, <code>score</code>, and <code>metadata</code> keys.</p> <h4 id=query><code>query</code><a class=headerlink href=#query title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a><span class=k>def</span><span class=w> </span><span class=nf>query</span><span class=p>(</span>
|
| 32 |
+
</span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 33 |
+
</span><span id=__span-8-3><a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a> <span class=n>query_str</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 34 |
+
</span><span id=__span-8-4><a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a> <span class=n>top_k</span><span class=p>:</span> <span class=nb>int</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 35 |
+
</span><span id=__span-8-5><a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span>
|
| 36 |
+
</span></code></pre></div> <p>Queries RAG service and returns synthesized response.</p> <p><strong>Parameters</strong>: - <code>query_str</code>: Query string - <code>top_k</code>: Number of results to use (defaults to <code>similarity_top_k</code> from constructor)</p> <p><strong>Returns</strong>: Synthesized response string.</p> <p><strong>Raises</strong>: - <code>ConfigurationError</code>: If no LLM API key is available for query synthesis</p> <h4 id=ingest_documents><code>ingest_documents</code><a class=headerlink href=#ingest_documents title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=k>def</span><span class=w> </span><span class=nf>ingest_documents</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>documents</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=n>Any</span><span class=p>])</span> <span class=o>-></span> <span class=kc>None</span>
|
| 37 |
+
</span></code></pre></div> <p>Ingests raw LlamaIndex Documents.</p> <p><strong>Parameters</strong>: - <code>documents</code>: List of LlamaIndex Document objects</p> <h4 id=clear_collection><code>clear_collection</code><a class=headerlink href=#clear_collection title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a><span class=k>def</span><span class=w> </span><span class=nf>clear_collection</span><span class=p>(</span><span class=bp>self</span><span class=p>)</span> <span class=o>-></span> <span class=kc>None</span>
|
| 38 |
+
</span></code></pre></div> <p>Clears all documents from the collection.</p> <h3 id=factory-function_1>Factory Function<a class=headerlink href=#factory-function_1 title="Anchor link to this section">¶</a></h3> <h4 id=get_rag_service><code>get_rag_service</code><a class=headerlink href=#get_rag_service title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=k>def</span><span class=w> </span><span class=nf>get_rag_service</span><span class=p>(</span>
|
| 39 |
+
</span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a> <span class=n>collection_name</span><span class=p>:</span> <span class=nb>str</span> <span class=o>=</span> <span class=s2>"deepcritical_evidence"</span><span class=p>,</span>
|
| 40 |
+
</span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a> <span class=n>oauth_token</span><span class=p>:</span> <span class=nb>str</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span><span class=p>,</span>
|
| 41 |
+
</span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a> <span class=o>**</span><span class=n>kwargs</span><span class=p>:</span> <span class=n>Any</span>
|
| 42 |
+
</span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><span class=p>)</span> <span class=o>-></span> <span class=n>LlamaIndexRAGService</span>
|
| 43 |
+
</span></code></pre></div> <p>Get or create a RAG service instance.</p> <p><strong>Parameters</strong>: - <code>collection_name</code>: Name of the ChromaDB collection (default: "deepcritical_evidence") - <code>oauth_token</code>: Optional OAuth token from HuggingFace login (takes priority over env vars) - <code>**kwargs</code>: Additional arguments for LlamaIndexRAGService (e.g., <code>use_openai_embeddings=False</code>)</p> <p><strong>Returns</strong>: Configured LlamaIndexRAGService instance.</p> <p><strong>Note</strong>: By default, uses local embeddings (sentence-transformers) which require no API keys.</p> <h2 id=statisticalanalyzer>StatisticalAnalyzer<a class=headerlink href=#statisticalanalyzer title="Anchor link to this section">¶</a></h2> <p><strong>Module</strong>: <code>src.services.statistical_analyzer</code></p> <p><strong>Purpose</strong>: Secure execution of AI-generated statistical code.</p> <h3 id=methods_2>Methods<a class=headerlink href=#methods_2 title="Anchor link to this section">¶</a></h3> <h4 id=analyze><code>analyze</code><a class=headerlink href=#analyze title="Anchor link to this section">¶</a></h4> <div class="language-python highlight"><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>analyze</span><span class=p>(</span>
|
| 44 |
+
</span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a> <span class=bp>self</span><span class=p>,</span>
|
| 45 |
+
</span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span>
|
| 46 |
+
</span><span id=__span-12-4><a id=__codelineno-12-4 name=__codelineno-12-4 href=#__codelineno-12-4></a> <span class=n>evidence</span><span class=p>:</span> <span class=nb>list</span><span class=p>[</span><span class=n>Evidence</span><span class=p>],</span>
|
| 47 |
+
</span><span id=__span-12-5><a id=__codelineno-12-5 name=__codelineno-12-5 href=#__codelineno-12-5></a> <span class=n>hypothesis</span><span class=p>:</span> <span class=nb>dict</span><span class=p>[</span><span class=nb>str</span><span class=p>,</span> <span class=n>Any</span><span class=p>]</span> <span class=o>|</span> <span class=kc>None</span> <span class=o>=</span> <span class=kc>None</span>
|
| 48 |
+
</span><span id=__span-12-6><a id=__codelineno-12-6 name=__codelineno-12-6 href=#__codelineno-12-6></a><span class=p>)</span> <span class=o>-></span> <span class=n>AnalysisResult</span>
|
| 49 |
+
</span></code></pre></div> <p>Analyzes a research question using statistical methods.</p> <p><strong>Parameters</strong>: - <code>query</code>: The research question - <code>evidence</code>: List of Evidence objects to analyze - <code>hypothesis</code>: Optional hypothesis dict with <code>drug</code>, <code>target</code>, <code>pathway</code>, <code>effect</code>, <code>confidence</code> keys</p> <p><strong>Returns</strong>: <code>AnalysisResult</code> with: - <code>verdict</code>: SUPPORTED, REFUTED, or INCONCLUSIVE - <code>confidence</code>: Confidence in verdict (0.0-1.0) - <code>statistical_evidence</code>: Summary of statistical findings - <code>code_generated</code>: Python code that was executed - <code>execution_output</code>: Output from code execution - <code>key_takeaways</code>: Key takeaways from analysis - <code>limitations</code>: List of limitations</p> <p><strong>Note</strong>: Requires Modal credentials for sandbox execution.</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../../architecture/services/ >Architecture - Services</a> - Architecture overview</li> <li><a href=../../configuration/ >Configuration</a> - Service configuration</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/api/tools/index.html
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
site/architecture/agents/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/agents/ rel=canonical><link href=../workflow-diagrams/ rel=prev><link href=../orchestrators/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Agents - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#agents-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Agents </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Agents </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Agents </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#agent-pattern class=md-nav__link> <span class=md-ellipsis> Agent Pattern </span> </a> </li> <li class=md-nav__item> <a href=#model-initialization class=md-nav__link> <span class=md-ellipsis> Model Initialization </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#input-validation class=md-nav__link> <span class=md-ellipsis> Input Validation </span> </a> </li> <li class=md-nav__item> <a href=#output-types class=md-nav__link> <span class=md-ellipsis> Output Types </span> </a> </li> <li class=md-nav__item> <a href=#agent-types class=md-nav__link> <span class=md-ellipsis> Agent Types </span> </a> <nav class=md-nav aria-label="Agent Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#knowledge-gap-agent class=md-nav__link> <span class=md-ellipsis> Knowledge Gap Agent </span> </a> </li> <li class=md-nav__item> <a href=#tool-selector-agent class=md-nav__link> <span class=md-ellipsis> Tool Selector Agent </span> </a> </li> <li class=md-nav__item> <a href=#writer-agent class=md-nav__link> <span class=md-ellipsis> Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#long-writer-agent class=md-nav__link> <span class=md-ellipsis> Long Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#proofreader-agent class=md-nav__link> <span class=md-ellipsis> Proofreader Agent </span> </a> </li> <li class=md-nav__item> <a href=#thinking-agent class=md-nav__link> <span class=md-ellipsis> Thinking Agent </span> </a> </li> <li class=md-nav__item> <a href=#input-parser-agent class=md-nav__link> <span class=md-ellipsis> Input Parser Agent </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#agent-pattern class=md-nav__link> <span class=md-ellipsis> Agent Pattern </span> </a> </li> <li class=md-nav__item> <a href=#model-initialization class=md-nav__link> <span class=md-ellipsis> Model Initialization </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#input-validation class=md-nav__link> <span class=md-ellipsis> Input Validation </span> </a> </li> <li class=md-nav__item> <a href=#output-types class=md-nav__link> <span class=md-ellipsis> Output Types </span> </a> </li> <li class=md-nav__item> <a href=#agent-types class=md-nav__link> <span class=md-ellipsis> Agent Types </span> </a> <nav class=md-nav aria-label="Agent Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#knowledge-gap-agent class=md-nav__link> <span class=md-ellipsis> Knowledge Gap Agent </span> </a> </li> <li class=md-nav__item> <a href=#tool-selector-agent class=md-nav__link> <span class=md-ellipsis> Tool Selector Agent </span> </a> </li> <li class=md-nav__item> <a href=#writer-agent class=md-nav__link> <span class=md-ellipsis> Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#long-writer-agent class=md-nav__link> <span class=md-ellipsis> Long Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#proofreader-agent class=md-nav__link> <span class=md-ellipsis> Proofreader Agent </span> </a> </li> <li class=md-nav__item> <a href=#thinking-agent class=md-nav__link> <span class=md-ellipsis> Thinking Agent </span> </a> </li> <li class=md-nav__item> <a href=#input-parser-agent class=md-nav__link> <span class=md-ellipsis> Input Parser Agent </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=agents-architecture>Agents Architecture<a class=headerlink href=#agents-architecture title="Permanent link">¶</a></h1> <p>DeepCritical uses Pydantic AI agents for all AI-powered operations. All agents follow a consistent pattern and use structured output types.</p> <h2 id=agent-pattern>Agent Pattern<a class=headerlink href=#agent-pattern title="Permanent link">¶</a></h2> <p>All agents use the Pydantic AI <code>Agent</code> class with the following structure:</p> <ul> <li><strong>System Prompt</strong>: Module-level constant with date injection</li> <li><strong>Agent Class</strong>: <code>__init__(model: Any | None = None)</code></li> <li><strong>Main Method</strong>: Async method (e.g., <code>async def evaluate()</code>, <code>async def write_report()</code>)</li> <li><strong>Factory Function</strong>: <code>def create_agent_name(model: Any | None = None) -> AgentName</code></li> </ul> <h2 id=model-initialization>Model Initialization<a class=headerlink href=#model-initialization title="Permanent link">¶</a></h2> <p>Agents use <code>get_model()</code> from <code>src/agent_factory/judges.py</code> if no model is provided. This supports:</p> <ul> <li>OpenAI models</li> <li>Anthropic models</li> <li>HuggingFace Inference API models</li> </ul> <p>The model selection is based on the configured <code>LLM_PROVIDER</code> in settings.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Permanent link">¶</a></h2> <p>Agents return fallback values on failure rather than raising exceptions:</p> <ul> <li><code>KnowledgeGapOutput(research_complete=False, outstanding_gaps=[...])</code></li> <li>Empty strings for text outputs</li> <li>Default structured outputs</li> </ul> <p>All errors are logged with context using structlog.</p> <h2 id=input-validation>Input Validation<a class=headerlink href=#input-validation title="Permanent link">¶</a></h2> <p>All agents validate inputs:</p> <ul> <li>Check that queries/inputs are not empty</li> <li>Truncate very long inputs with warnings</li> <li>Handle None values gracefully</li> </ul> <h2 id=output-types>Output Types<a class=headerlink href=#output-types title="Permanent link">¶</a></h2> <p>Agents use structured output types from <code>src/utils/models.py</code>:</p> <ul> <li><code>KnowledgeGapOutput</code>: Research completeness evaluation</li> <li><code>AgentSelectionPlan</code>: Tool selection plan</li> <li><code>ReportDraft</code>: Long-form report structure</li> <li><code>ParsedQuery</code>: Query parsing and mode detection</li> </ul> <p>For text output (writer agents), agents return <code>str</code> directly.</p> <h2 id=agent-types>Agent Types<a class=headerlink href=#agent-types title="Permanent link">¶</a></h2> <h3 id=knowledge-gap-agent>Knowledge Gap Agent<a class=headerlink href=#knowledge-gap-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/knowledge_gap.py</code></p> <p><strong>Purpose</strong>: Evaluates research state and identifies knowledge gaps.</p> <p><strong>Output</strong>: <code>KnowledgeGapOutput</code> with: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <p><strong>Methods</strong>: - <code>async def evaluate(query, background_context, conversation_history, iteration, time_elapsed_minutes, max_time_minutes) -> KnowledgeGapOutput</code></p> <h3 id=tool-selector-agent>Tool Selector Agent<a class=headerlink href=#tool-selector-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/tool_selector.py</code></p> <p><strong>Purpose</strong>: Selects appropriate tools for addressing knowledge gaps.</p> <p><strong>Output</strong>: <code>AgentSelectionPlan</code> with list of <code>AgentTask</code> objects.</p> <p><strong>Available Agents</strong>: - <code>WebSearchAgent</code>: General web search for fresh information - <code>SiteCrawlerAgent</code>: Research specific entities/companies - <code>RAGAgent</code>: Semantic search within collected evidence</p> <h3 id=writer-agent>Writer Agent<a class=headerlink href=#writer-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/writer.py</code></p> <p><strong>Purpose</strong>: Generates final reports from research findings.</p> <p><strong>Output</strong>: Markdown string with numbered citations.</p> <p><strong>Methods</strong>: - <code>async def write_report(query, findings, output_length, output_instructions) -> str</code></p> <p><strong>Features</strong>: - Validates inputs - Truncates very long findings (max 50000 chars) with warning - Retry logic for transient failures (3 retries) - Citation validation before returning</p> <h3 id=long-writer-agent>Long Writer Agent<a class=headerlink href=#long-writer-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/long_writer.py</code></p> <p><strong>Purpose</strong>: Long-form report generation with section-by-section writing.</p> <p><strong>Input/Output</strong>: Uses <code>ReportDraft</code> models.</p> <p><strong>Methods</strong>: - <code>async def write_next_section(query, draft, section_title, section_content) -> LongWriterOutput</code> - <code>async def write_report(query, report_title, report_draft) -> str</code></p> <p><strong>Features</strong>: - Writes sections iteratively - Aggregates references across sections - Reformats section headings and references - Deduplicates and renumbers references</p> <h3 id=proofreader-agent>Proofreader Agent<a class=headerlink href=#proofreader-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/proofreader.py</code></p> <p><strong>Purpose</strong>: Proofreads and polishes report drafts.</p> <p><strong>Input</strong>: <code>ReportDraft</code> <strong>Output</strong>: Polished markdown string</p> <p><strong>Methods</strong>: - <code>async def proofread(query, report_title, report_draft) -> str</code></p> <p><strong>Features</strong>: - Removes duplicate content across sections - Adds executive summary if multiple sections - Preserves all references and citations - Improves flow and readability</p> <h3 id=thinking-agent>Thinking Agent<a class=headerlink href=#thinking-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/thinking.py</code></p> <p><strong>Purpose</strong>: Generates observations from conversation history.</p> <p><strong>Output</strong>: Observation string</p> <p><strong>Methods</strong>: - <code>async def generate_observations(query, background_context, conversation_history) -> str</code></p> <h3 id=input-parser-agent>Input Parser Agent<a class=headerlink href=#input-parser-agent title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/agents/input_parser.py</code></p> <p><strong>Purpose</strong>: Parses and improves user queries, detects research mode.</p> <p><strong>Output</strong>: <code>ParsedQuery</code> with: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: "iterative" or "deep" - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=factory-functions>Factory Functions<a class=headerlink href=#factory-functions title="Permanent link">¶</a></h2> <p>All agents have factory functions in <code>src/agent_factory/agents.py</code>:</p> <p>Factory functions: - Use <code>get_model()</code> if no model provided - Raise <code>ConfigurationError</code> if creation fails - Log agent creation</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - How agents are orchestrated</li> <li><a href=../../api/agents/ >API Reference - Agents</a> - API documentation</li> <li><a href=../../contributing/code-style/ >Contributing - Code Style</a> - Development guidelines</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/agents/ rel=canonical><link href=../workflow-diagrams/ rel=prev><link href=../orchestrators/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Agents - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#agents-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Agents </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Agents </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Agents </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#agent-pattern class=md-nav__link> <span class=md-ellipsis> Agent Pattern </span> </a> <nav class=md-nav aria-label="Agent Pattern"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pydantic-ai-agents class=md-nav__link> <span class=md-ellipsis> Pydantic AI Agents </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#model-initialization class=md-nav__link> <span class=md-ellipsis> Model Initialization </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#input-validation class=md-nav__link> <span class=md-ellipsis> Input Validation </span> </a> </li> <li class=md-nav__item> <a href=#output-types class=md-nav__link> <span class=md-ellipsis> Output Types </span> </a> </li> <li class=md-nav__item> <a href=#agent-types class=md-nav__link> <span class=md-ellipsis> Agent Types </span> </a> <nav class=md-nav aria-label="Agent Types"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#knowledge-gap-agent class=md-nav__link> <span class=md-ellipsis> Knowledge Gap Agent </span> </a> </li> <li class=md-nav__item> <a href=#tool-selector-agent class=md-nav__link> <span class=md-ellipsis> Tool Selector Agent </span> </a> </li> <li class=md-nav__item> <a href=#writer-agent class=md-nav__link> <span class=md-ellipsis> Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#long-writer-agent class=md-nav__link> <span class=md-ellipsis> Long Writer Agent </span> </a> </li> <li class=md-nav__item> <a href=#proofreader-agent class=md-nav__link> <span class=md-ellipsis> Proofreader Agent </span> </a> </li> <li class=md-nav__item> <a href=#thinking-agent class=md-nav__link> <span class=md-ellipsis> Thinking Agent </span> </a> </li> <li class=md-nav__item> <a href=#input-parser-agent class=md-nav__link> <span class=md-ellipsis> Input Parser Agent </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#magentic-agents class=md-nav__link> <span class=md-ellipsis> Magentic Agents </span> </a> <nav class=md-nav aria-label="Magentic Agents"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#hypothesis-agent class=md-nav__link> <span class=md-ellipsis> Hypothesis Agent </span> </a> </li> <li class=md-nav__item> <a href=#search-agent class=md-nav__link> <span class=md-ellipsis> Search Agent </span> </a> </li> <li class=md-nav__item> <a href=#analysis-agent class=md-nav__link> <span class=md-ellipsis> Analysis Agent </span> </a> </li> <li class=md-nav__item> <a href=#report-agent-magentic class=md-nav__link> <span class=md-ellipsis> Report Agent (Magentic) </span> </a> </li> <li class=md-nav__item> <a href=#judge-agent class=md-nav__link> <span class=md-ellipsis> Judge Agent </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#agent-patterns class=md-nav__link> <span class=md-ellipsis> Agent Patterns </span> </a> <nav class=md-nav aria-label="Agent Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-pydantic-ai-agents-traditional-pattern class=md-nav__link> <span class=md-ellipsis> 1. Pydantic AI Agents (Traditional Pattern) </span> </a> </li> <li class=md-nav__item> <a href=#2-magentic-agents-agent-framework-pattern class=md-nav__link> <span class=md-ellipsis> 2. Magentic Agents (Agent-Framework Pattern) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#factory-functions class=md-nav__link> <span class=md-ellipsis> Factory Functions </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=agents-architecture>Agents Architecture<a class=headerlink href=#agents-architecture title="Anchor link to this section">¶</a></h1> <p>DeepCritical uses Pydantic AI agents for all AI-powered operations. All agents follow a consistent pattern and use structured output types.</p> <h2 id=agent-pattern>Agent Pattern<a class=headerlink href=#agent-pattern title="Anchor link to this section">¶</a></h2> <h3 id=pydantic-ai-agents>Pydantic AI Agents<a class=headerlink href=#pydantic-ai-agents title="Anchor link to this section">¶</a></h3> <p>Pydantic AI agents use the <code>Agent</code> class with the following structure:</p> <ul> <li><strong>System Prompt</strong>: Module-level constant with date injection</li> <li><strong>Agent Class</strong>: <code>__init__(model: Any | None = None)</code></li> <li><strong>Main Method</strong>: Async method (e.g., <code>async def evaluate()</code>, <code>async def write_report()</code>)</li> <li><strong>Factory Function</strong>: <code>def create_agent_name(model: Any | None = None, oauth_token: str | None = None) -> AgentName</code></li> </ul> <p><strong>Note</strong>: Factory functions accept an optional <code>oauth_token</code> parameter for HuggingFace authentication, which takes priority over environment variables.</p> <h2 id=model-initialization>Model Initialization<a class=headerlink href=#model-initialization title="Anchor link to this section">¶</a></h2> <p>Agents use <code>get_model()</code> from <code>src/agent_factory/judges.py</code> if no model is provided. This supports:</p> <ul> <li>OpenAI models</li> <li>Anthropic models</li> <li>HuggingFace Inference API models</li> </ul> <p>The model selection is based on the configured <code>LLM_PROVIDER</code> in settings.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Anchor link to this section">¶</a></h2> <p>Agents return fallback values on failure rather than raising exceptions:</p> <ul> <li><code>KnowledgeGapOutput(research_complete=False, outstanding_gaps=[...])</code></li> <li>Empty strings for text outputs</li> <li>Default structured outputs</li> </ul> <p>All errors are logged with context using structlog.</p> <h2 id=input-validation>Input Validation<a class=headerlink href=#input-validation title="Anchor link to this section">¶</a></h2> <p>All agents validate inputs:</p> <ul> <li>Check that queries/inputs are not empty</li> <li>Truncate very long inputs with warnings</li> <li>Handle None values gracefully</li> </ul> <h2 id=output-types>Output Types<a class=headerlink href=#output-types title="Anchor link to this section">¶</a></h2> <p>Agents use structured output types from <code>src/utils/models.py</code>:</p> <ul> <li><code>KnowledgeGapOutput</code>: Research completeness evaluation</li> <li><code>AgentSelectionPlan</code>: Tool selection plan</li> <li><code>ReportDraft</code>: Long-form report structure</li> <li><code>ParsedQuery</code>: Query parsing and mode detection</li> </ul> <p>For text output (writer agents), agents return <code>str</code> directly.</p> <h2 id=agent-types>Agent Types<a class=headerlink href=#agent-types title="Anchor link to this section">¶</a></h2> <h3 id=knowledge-gap-agent>Knowledge Gap Agent<a class=headerlink href=#knowledge-gap-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/knowledge_gap.py</code></p> <p><strong>Purpose</strong>: Evaluates research state and identifies knowledge gaps.</p> <p><strong>Output</strong>: <code>KnowledgeGapOutput</code> with: - <code>research_complete</code>: Boolean indicating if research is complete - <code>outstanding_gaps</code>: List of remaining knowledge gaps</p> <p><strong>Methods</strong>: - <code>async def evaluate(query, background_context, conversation_history, iteration, time_elapsed_minutes, max_time_minutes) -> KnowledgeGapOutput</code></p> <h3 id=tool-selector-agent>Tool Selector Agent<a class=headerlink href=#tool-selector-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/tool_selector.py</code></p> <p><strong>Purpose</strong>: Selects appropriate tools for addressing knowledge gaps.</p> <p><strong>Output</strong>: <code>AgentSelectionPlan</code> with list of <code>AgentTask</code> objects.</p> <p><strong>Available Agents</strong>: - <code>WebSearchAgent</code>: General web search for fresh information - <code>SiteCrawlerAgent</code>: Research specific entities/companies - <code>RAGAgent</code>: Semantic search within collected evidence</p> <h3 id=writer-agent>Writer Agent<a class=headerlink href=#writer-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/writer.py</code></p> <p><strong>Purpose</strong>: Generates final reports from research findings.</p> <p><strong>Output</strong>: Markdown string with numbered citations.</p> <p><strong>Methods</strong>: - <code>async def write_report(query, findings, output_length, output_instructions) -> str</code></p> <p><strong>Features</strong>: - Validates inputs - Truncates very long findings (max 50000 chars) with warning - Retry logic for transient failures (3 retries) - Citation validation before returning</p> <h3 id=long-writer-agent>Long Writer Agent<a class=headerlink href=#long-writer-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/long_writer.py</code></p> <p><strong>Purpose</strong>: Long-form report generation with section-by-section writing.</p> <p><strong>Input/Output</strong>: Uses <code>ReportDraft</code> models.</p> <p><strong>Methods</strong>: - <code>async def write_next_section(query, draft, section_title, section_content) -> LongWriterOutput</code> - <code>async def write_report(query, report_title, report_draft) -> str</code></p> <p><strong>Features</strong>: - Writes sections iteratively - Aggregates references across sections - Reformats section headings and references - Deduplicates and renumbers references</p> <h3 id=proofreader-agent>Proofreader Agent<a class=headerlink href=#proofreader-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/proofreader.py</code></p> <p><strong>Purpose</strong>: Proofreads and polishes report drafts.</p> <p><strong>Input</strong>: <code>ReportDraft</code> <strong>Output</strong>: Polished markdown string</p> <p><strong>Methods</strong>: - <code>async def proofread(query, report_title, report_draft) -> str</code></p> <p><strong>Features</strong>: - Removes duplicate content across sections - Adds executive summary if multiple sections - Preserves all references and citations - Improves flow and readability</p> <h3 id=thinking-agent>Thinking Agent<a class=headerlink href=#thinking-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/thinking.py</code></p> <p><strong>Purpose</strong>: Generates observations from conversation history.</p> <p><strong>Output</strong>: Observation string</p> <p><strong>Methods</strong>: - <code>async def generate_observations(query, background_context, conversation_history) -> str</code></p> <h3 id=input-parser-agent>Input Parser Agent<a class=headerlink href=#input-parser-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/input_parser.py</code></p> <p><strong>Purpose</strong>: Parses and improves user queries, detects research mode.</p> <p><strong>Output</strong>: <code>ParsedQuery</code> with: - <code>original_query</code>: Original query string - <code>improved_query</code>: Refined query string - <code>research_mode</code>: "iterative" or "deep" - <code>key_entities</code>: List of key entities - <code>research_questions</code>: List of research questions</p> <h2 id=magentic-agents>Magentic Agents<a class=headerlink href=#magentic-agents title="Anchor link to this section">¶</a></h2> <p>The following agents use the <code>BaseAgent</code> pattern from <code>agent-framework</code> and are used exclusively with <code>MagenticOrchestrator</code>:</p> <h3 id=hypothesis-agent>Hypothesis Agent<a class=headerlink href=#hypothesis-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/hypothesis_agent.py</code></p> <p><strong>Purpose</strong>: Generates mechanistic hypotheses based on evidence.</p> <p><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code></p> <p><strong>Methods</strong>: - <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code></p> <p><strong>Features</strong>: - Uses internal Pydantic AI <code>Agent</code> with <code>HypothesisAssessment</code> output type - Accesses shared <code>evidence_store</code> for evidence - Uses embedding service for diverse evidence selection (MMR algorithm) - Stores hypotheses in shared context</p> <h3 id=search-agent>Search Agent<a class=headerlink href=#search-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/search_agent.py</code></p> <p><strong>Purpose</strong>: Wraps <code>SearchHandler</code> as an agent for Magentic orchestrator.</p> <p><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code></p> <p><strong>Methods</strong>: - <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code></p> <p><strong>Features</strong>: - Executes searches via <code>SearchHandlerProtocol</code> - Deduplicates evidence using embedding service - Searches for semantically related evidence - Updates shared evidence store</p> <h3 id=analysis-agent>Analysis Agent<a class=headerlink href=#analysis-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/analysis_agent.py</code></p> <p><strong>Purpose</strong>: Performs statistical analysis using Modal sandbox.</p> <p><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code></p> <p><strong>Methods</strong>: - <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code></p> <p><strong>Features</strong>: - Wraps <code>StatisticalAnalyzer</code> service - Analyzes evidence and hypotheses - Returns verdict (SUPPORTED/REFUTED/INCONCLUSIVE) - Stores analysis results in shared context</p> <h3 id=report-agent-magentic>Report Agent (Magentic)<a class=headerlink href=#report-agent-magentic title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/report_agent.py</code></p> <p><strong>Purpose</strong>: Generates structured scientific reports from evidence and hypotheses.</p> <p><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code></p> <p><strong>Methods</strong>: - <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code></p> <p><strong>Features</strong>: - Uses internal Pydantic AI <code>Agent</code> with <code>ResearchReport</code> output type - Accesses shared evidence store and hypotheses - Validates citations before returning - Formats report as markdown</p> <h3 id=judge-agent>Judge Agent<a class=headerlink href=#judge-agent title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/agents/judge_agent.py</code></p> <p><strong>Purpose</strong>: Evaluates evidence quality and determines if sufficient for synthesis.</p> <p><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code></p> <p><strong>Methods</strong>: - <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code> - <code>async def run_stream(messages, thread, **kwargs) -> AsyncIterable[AgentRunResponseUpdate]</code></p> <p><strong>Features</strong>: - Wraps <code>JudgeHandlerProtocol</code> - Accesses shared evidence store - Returns <code>JudgeAssessment</code> with sufficient flag, confidence, and recommendation</p> <h2 id=agent-patterns>Agent Patterns<a class=headerlink href=#agent-patterns title="Anchor link to this section">¶</a></h2> <p>DeepCritical uses two distinct agent patterns:</p> <h3 id=1-pydantic-ai-agents-traditional-pattern>1. Pydantic AI Agents (Traditional Pattern)<a class=headerlink href=#1-pydantic-ai-agents-traditional-pattern title="Anchor link to this section">¶</a></h3> <p>These agents use the Pydantic AI <code>Agent</code> class directly and are used in iterative and deep research flows:</p> <ul> <li><strong>Pattern</strong>: <code>Agent(model, output_type, system_prompt)</code></li> <li><strong>Initialization</strong>: <code>__init__(model: Any | None = None)</code></li> <li><strong>Methods</strong>: Agent-specific async methods (e.g., <code>async def evaluate()</code>, <code>async def write_report()</code>)</li> <li><strong>Examples</strong>: <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>WriterAgent</code>, <code>LongWriterAgent</code>, <code>ProofreaderAgent</code>, <code>ThinkingAgent</code>, <code>InputParserAgent</code></li> </ul> <h3 id=2-magentic-agents-agent-framework-pattern>2. Magentic Agents (Agent-Framework Pattern)<a class=headerlink href=#2-magentic-agents-agent-framework-pattern title="Anchor link to this section">¶</a></h3> <p>These agents use the <code>BaseAgent</code> class from <code>agent-framework</code> and are used in Magentic orchestrator:</p> <ul> <li><strong>Pattern</strong>: <code>BaseAgent</code> from <code>agent-framework</code> with <code>async def run()</code> method</li> <li><strong>Initialization</strong>: <code>__init__(evidence_store, embedding_service, ...)</code></li> <li><strong>Methods</strong>: <code>async def run(messages, thread, **kwargs) -> AgentRunResponse</code></li> <li><strong>Examples</strong>: <code>HypothesisAgent</code>, <code>SearchAgent</code>, <code>AnalysisAgent</code>, <code>ReportAgent</code>, <code>JudgeAgent</code></li> </ul> <p><strong>Note</strong>: Magentic agents are used exclusively with the <code>MagenticOrchestrator</code> and follow the agent-framework protocol for multi-agent coordination.</p> <h2 id=factory-functions>Factory Functions<a class=headerlink href=#factory-functions title="Anchor link to this section">¶</a></h2> <p>All agents have factory functions in <code>src/agent_factory/agents.py</code>:</p> <p>Factory functions: - Use <code>get_model()</code> if no model provided - Accept <code>oauth_token</code> parameter for HuggingFace authentication - Raise <code>ConfigurationError</code> if creation fails - Log agent creation</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - How agents are orchestrated</li> <li><a href=../../api/agents/ >API Reference - Agents</a> - API documentation</li> <li><a href=../../contributing/code-style/ >Contributing - Code Style</a> - Development guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/graph-orchestration/index.html
DELETED
|
@@ -1,9 +0,0 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/graph-orchestration/ rel=canonical><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Graph Orchestration Architecture - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#graph-orchestration-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Graph Orchestration Architecture </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#overview class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=#graph-structure class=md-nav__link> <span class=md-ellipsis> Graph Structure </span> </a> <nav class=md-nav aria-label="Graph Structure"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#nodes class=md-nav__link> <span class=md-ellipsis> Nodes </span> </a> </li> <li class=md-nav__item> <a href=#edges class=md-nav__link> <span class=md-ellipsis> Edges </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graph-patterns class=md-nav__link> <span class=md-ellipsis> Graph Patterns </span> </a> <nav class=md-nav aria-label="Graph Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterative-research-graph class=md-nav__link> <span class=md-ellipsis> Iterative Research Graph </span> </a> </li> <li class=md-nav__item> <a href=#deep-research-graph class=md-nav__link> <span class=md-ellipsis> Deep Research Graph </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a href=#execution-flow class=md-nav__link> <span class=md-ellipsis> Execution Flow </span> </a> </li> <li class=md-nav__item> <a href=#conditional-routing class=md-nav__link> <span class=md-ellipsis> Conditional Routing </span> </a> </li> <li class=md-nav__item> <a href=#parallel-execution class=md-nav__link> <span class=md-ellipsis> Parallel Execution </span> </a> </li> <li class=md-nav__item> <a href=#budget-enforcement class=md-nav__link> <span class=md-ellipsis> Budget Enforcement </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#backward-compatibility class=md-nav__link> <span class=md-ellipsis> Backward Compatibility </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=graph-orchestration-architecture>Graph Orchestration Architecture<a class=headerlink href=#graph-orchestration-architecture title="Permanent link">¶</a></h1> <h2 id=overview>Overview<a class=headerlink href=#overview title="Permanent link">¶</a></h2> <p>Phase 4 implements a graph-based orchestration system for research workflows using Pydantic AI agents as nodes. This enables better parallel execution, conditional routing, and state management compared to simple agent chains.</p> <h2 id=graph-structure>Graph Structure<a class=headerlink href=#graph-structure title="Permanent link">¶</a></h2> <h3 id=nodes>Nodes<a class=headerlink href=#nodes title="Permanent link">¶</a></h3> <p>Graph nodes represent different stages in the research workflow:</p> <ol> <li><strong>Agent Nodes</strong>: Execute Pydantic AI agents</li> <li>Input: Prompt/query</li> <li>Output: Structured or unstructured response</li> <li> <p>Examples: <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>ThinkingAgent</code></p> </li> <li> <p><strong>State Nodes</strong>: Update or read workflow state</p> </li> <li>Input: Current state</li> <li>Output: Updated state</li> <li> <p>Examples: Update evidence, update conversation history</p> </li> <li> <p><strong>Decision Nodes</strong>: Make routing decisions based on conditions</p> </li> <li>Input: Current state/results</li> <li>Output: Next node ID</li> <li> <p>Examples: Continue research vs. complete research</p> </li> <li> <p><strong>Parallel Nodes</strong>: Execute multiple nodes concurrently</p> </li> <li>Input: List of node IDs</li> <li>Output: Aggregated results</li> <li>Examples: Parallel iterative research loops</li> </ol> <h3 id=edges>Edges<a class=headerlink href=#edges title="Permanent link">¶</a></h3> <p>Edges define transitions between nodes:</p> <ol> <li><strong>Sequential Edges</strong>: Always traversed (no condition)</li> <li>From: Source node</li> <li>To: Target node</li> <li> <p>Condition: None (always True)</p> </li> <li> <p><strong>Conditional Edges</strong>: Traversed based on condition</p> </li> <li>From: Source node</li> <li>To: Target node</li> <li>Condition: Callable that returns bool</li> <li> <p>Example: If research complete → go to writer, else → continue loop</p> </li> <li> <p><strong>Parallel Edges</strong>: Used for parallel execution branches</p> </li> <li>From: Parallel node</li> <li>To: Multiple target nodes</li> <li>Execution: All targets run concurrently</li> </ol> <h2 id=graph-patterns>Graph Patterns<a class=headerlink href=#graph-patterns title="Permanent link">¶</a></h2> <h3 id=iterative-research-graph>Iterative Research Graph<a class=headerlink href=#iterative-research-graph title="Permanent link">¶</a></h3> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>[Input] → [Thinking] → [Knowledge Gap] → [Decision: Complete?]
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> ↓ No ↓ Yes
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> [Tool Selector] [Writer]
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> ↓
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> [Execute Tools] → [Loop Back]
|
| 6 |
-
</code></pre></div> <h3 id=deep-research-graph>Deep Research Graph<a class=headerlink href=#deep-research-graph title="Permanent link">¶</a></h3> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>[Input] → [Planner] → [Parallel Iterative Loops] → [Synthesizer]
|
| 7 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a> ↓ ↓ ↓
|
| 8 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a> [Loop1] [Loop2] [Loop3]
|
| 9 |
-
</code></pre></div> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Permanent link">¶</a></h2> <p>State is managed via <code>WorkflowState</code> using <code>ContextVar</code> for thread-safe isolation:</p> <ul> <li><strong>Evidence</strong>: Collected evidence from searches</li> <li><strong>Conversation</strong>: Iteration history (gaps, tool calls, findings, thoughts)</li> <li><strong>Embedding Service</strong>: For semantic search</li> </ul> <p>State transitions occur at state nodes, which update the global workflow state.</p> <h2 id=execution-flow>Execution Flow<a class=headerlink href=#execution-flow title="Permanent link">¶</a></h2> <ol> <li><strong>Graph Construction</strong>: Build graph from nodes and edges</li> <li><strong>Graph Validation</strong>: Ensure graph is valid (no cycles, all nodes reachable)</li> <li><strong>Graph Execution</strong>: Traverse graph from entry node</li> <li><strong>Node Execution</strong>: Execute each node based on type</li> <li><strong>Edge Evaluation</strong>: Determine next node(s) based on edges</li> <li><strong>Parallel Execution</strong>: Use <code>asyncio.gather()</code> for parallel nodes</li> <li><strong>State Updates</strong>: Update state at state nodes</li> <li><strong>Event Streaming</strong>: Yield events during execution for UI</li> </ol> <h2 id=conditional-routing>Conditional Routing<a class=headerlink href=#conditional-routing title="Permanent link">¶</a></h2> <p>Decision nodes evaluate conditions and return next node IDs:</p> <ul> <li><strong>Knowledge Gap Decision</strong>: If <code>research_complete</code> → writer, else → tool selector</li> <li><strong>Budget Decision</strong>: If budget exceeded → exit, else → continue</li> <li><strong>Iteration Decision</strong>: If max iterations → exit, else → continue</li> </ul> <h2 id=parallel-execution>Parallel Execution<a class=headerlink href=#parallel-execution title="Permanent link">¶</a></h2> <p>Parallel nodes execute multiple nodes concurrently:</p> <ul> <li>Each parallel branch runs independently</li> <li>Results are aggregated after all branches complete</li> <li>State is synchronized after parallel execution</li> <li>Errors in one branch don't stop other branches</li> </ul> <h2 id=budget-enforcement>Budget Enforcement<a class=headerlink href=#budget-enforcement title="Permanent link">¶</a></h2> <p>Budget constraints are enforced at decision nodes:</p> <ul> <li><strong>Token Budget</strong>: Track LLM token usage</li> <li><strong>Time Budget</strong>: Track elapsed time</li> <li><strong>Iteration Budget</strong>: Track iteration count</li> </ul> <p>If any budget is exceeded, execution routes to exit node.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Permanent link">¶</a></h2> <p>Errors are handled at multiple levels:</p> <ol> <li><strong>Node Level</strong>: Catch errors in individual node execution</li> <li><strong>Graph Level</strong>: Handle errors during graph traversal</li> <li><strong>State Level</strong>: Rollback state changes on error</li> </ol> <p>Errors are logged and yield error events for UI.</p> <h2 id=backward-compatibility>Backward Compatibility<a class=headerlink href=#backward-compatibility title="Permanent link">¶</a></h2> <p>Graph execution is optional via feature flag:</p> <ul> <li><code>USE_GRAPH_EXECUTION=true</code>: Use graph-based execution</li> <li><code>USE_GRAPH_EXECUTION=false</code>: Use agent chain execution (existing)</li> </ul> <p>This allows gradual migration and fallback if needed.</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/architecture/graph_orchestration/index.html
CHANGED
|
@@ -1,12 +1,12 @@
|
|
| 1 |
-
<!DOCTYPE html><html class=no-js lang=en> <head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><meta content="Generalist Deep Research Agent that Stops at Nothing" name=description><meta content="The DETERMINATOR Team" name=author><link href=https://deepcritical.github.io/GradioDemo/architecture/graph_orchestration/ rel=canonical><link href=../../configuration/CONFIGURATION/ rel=prev><link href=../workflow-diagrams/ rel=next><link href=../../assets/images/favicon.png rel=icon><meta content="mkdocs-1.6.1, mkdocs-material-9.7.0" name=generator><title>Graph Orchestration - The DETERMINATOR</title><link href=../../assets/stylesheets/main.618322db.min.css rel=stylesheet><link href=../../assets/stylesheets/palette.ab4e12ef.min.css rel=stylesheet><link crossorigin href=https://fonts.gstatic.com rel=preconnect><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel=stylesheet><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body data-md-color-accent=red data-md-color-primary=orange data-md-color-scheme=default dir=ltr> <input autocomplete=off class=md-toggle data-md-toggle=drawer id=__drawer type=checkbox> <input autocomplete=off class=md-toggle data-md-toggle=search id=__search type=checkbox> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a class=md-skip href=#graph-orchestration-architecture> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav aria-label=Header class="md-header__inner md-grid"> <a aria-label="The DETERMINATOR" class="md-header__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Graph Orchestration </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input aria-label="Switch to dark mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=default id=__palette_0 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_1 hidden title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to light mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=slate id=__palette_1 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_0 hidden title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input aria-label=Search autocapitalize=off autocomplete=off autocorrect=off class=md-search__input data-md-component=search-query name=query placeholder=Search required spellcheck=false type=text> <label class="md-search__icon md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label=Search class=md-search__options> <button aria-label=Clear class="md-search__icon md-icon" tabindex=-1 title=Clear type=reset> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix tabindex=0> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav aria-label=Tabs class=md-tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a class=md-tabs__link href=../..> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label=Navigation class="md-nav md-nav--primary md-nav--lifted" data-md-level=0> <label class=md-nav__title for=__drawer> <a aria-label="The DETERMINATOR" class="md-nav__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=../..> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_2 type=checkbox> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_2_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_3 type=checkbox> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_3_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_4 type=checkbox> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_4_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input checked class="md-nav__toggle md-toggle" id=__nav_5 type=checkbox> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=true aria-labelledby=__nav_5_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" id=__toc type=checkbox> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Graph Orchestration </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Graph Orchestration </span> </a> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#graph-patterns> <span class=md-ellipsis> Graph Patterns </span> </a> <nav aria-label="Graph Patterns" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research-graph> <span class=md-ellipsis> Iterative Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research-graph> <span class=md-ellipsis> Deep Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research> <span class=md-ellipsis> Deep Research </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research> <span class=md-ellipsis> Iterative Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#graph-structure> <span class=md-ellipsis> Graph Structure </span> </a> <nav aria-label="Graph Structure" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#nodes> <span class=md-ellipsis> Nodes </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#edges> <span class=md-ellipsis> Edges </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#state-management> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#execution-flow> <span class=md-ellipsis> Execution Flow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#conditional-routing> <span class=md-ellipsis> Conditional Routing </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#parallel-execution> <span class=md-ellipsis> Parallel Execution </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#budget-enforcement> <span class=md-ellipsis> Budget Enforcement </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#error-handling> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#backward-compatibility> <span class=md-ellipsis> Backward Compatibility </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_6 type=checkbox> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_6_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_7 type=checkbox> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_7_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#graph-patterns> <span class=md-ellipsis> Graph Patterns </span> </a> <nav aria-label="Graph Patterns" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research-graph> <span class=md-ellipsis> Iterative Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research-graph> <span class=md-ellipsis> Deep Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research> <span class=md-ellipsis> Deep Research </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research> <span class=md-ellipsis> Iterative Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#graph-structure> <span class=md-ellipsis> Graph Structure </span> </a> <nav aria-label="Graph Structure" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#nodes> <span class=md-ellipsis> Nodes </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#edges> <span class=md-ellipsis> Edges </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#state-management> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#execution-flow> <span class=md-ellipsis> Execution Flow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#conditional-routing> <span class=md-ellipsis> Conditional Routing </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#parallel-execution> <span class=md-ellipsis> Parallel Execution </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#budget-enforcement> <span class=md-ellipsis> Budget Enforcement </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#error-handling> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#backward-compatibility> <span class=md-ellipsis> Backward Compatibility </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=graph-orchestration-architecture>Graph Orchestration Architecture<a class=headerlink href=#graph-orchestration-architecture title="Permanent link">¶</a></h1> <h2 id=graph-patterns>Graph Patterns<a class=headerlink href=#graph-patterns title="Permanent link">¶</a></h2> <h3 id=iterative-research-graph>Iterative Research Graph<a class=headerlink href=#iterative-research-graph title="Permanent link">¶</a></h3> <div class=highlight><pre><span></span><code><a href=#__codelineno-0-1 id=__codelineno-0-1 name=__codelineno-0-1></a>[Input] → [Thinking] → [Knowledge Gap] → [Decision: Complete?]
|
| 2 |
-
<a href=#__codelineno-0-2 id=__codelineno-0-2 name=__codelineno-0-2></a> ↓ No ↓ Yes
|
| 3 |
-
<a href=#__codelineno-0-3 id=__codelineno-0-3 name=__codelineno-0-3></a> [Tool Selector] [Writer]
|
| 4 |
-
<a href=#__codelineno-0-4 id=__codelineno-0-4 name=__codelineno-0-4></a> ↓
|
| 5 |
-
<a href=#__codelineno-0-5 id=__codelineno-0-5 name=__codelineno-0-5></a> [Execute Tools] → [Loop Back]
|
| 6 |
-
</code></pre></div> <h3 id=deep-research-graph>Deep Research Graph<a class=headerlink href=#deep-research-graph title="
|
| 7 |
-
<a href=#__codelineno-1-2 id=__codelineno-1-2 name=__codelineno-1-2></a>
|
| 8 |
-
<a href=#__codelineno-1-3 id=__codelineno-1-3 name=__codelineno-1-3></a>
|
| 9 |
-
</code></pre></div> <h3 id=deep-research>Deep Research<a class=headerlink href=#deep-research title="
|
| 10 |
sequenceDiagram
|
| 11 |
actor User
|
| 12 |
participant GraphOrchestrator
|
|
@@ -41,7 +41,7 @@ sequenceDiagram
|
|
| 41 |
end
|
| 42 |
|
| 43 |
GraphOrchestrator->>User: AsyncGenerator[AgentEvent]
|
| 44 |
-
</code></pre> <h3 id=iterative-research>Iterative Research<a class=headerlink href=#iterative-research title="
|
| 45 |
participant IterativeFlow
|
| 46 |
participant ThinkingAgent
|
| 47 |
participant KnowledgeGapAgent
|
|
@@ -72,4 +72,4 @@ sequenceDiagram
|
|
| 72 |
IterativeFlow->>JudgeHandler: assess_evidence()
|
| 73 |
JudgeHandler-->>IterativeFlow: should_continue
|
| 74 |
end
|
| 75 |
-
end</code></pre> <h2 id=graph-structure>Graph Structure<a class=headerlink href=#graph-structure title="Permanent link">¶</a></h2> <h3 id=nodes>Nodes<a class=headerlink href=#nodes title="Permanent link">¶</a></h3> <p>Graph nodes represent different stages in the research workflow:</p> <ol> <li><strong>Agent Nodes</strong>: Execute Pydantic AI agents</li> <li>Input: Prompt/query</li> <li>Output: Structured or unstructured response</li> <li> <p>Examples: <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>ThinkingAgent</code></p> </li> <li> <p><strong>State Nodes</strong>: Update or read workflow state</p> </li> <li>Input: Current state</li> <li>Output: Updated state</li> <li> <p>Examples: Update evidence, update conversation history</p> </li> <li> <p><strong>Decision Nodes</strong>: Make routing decisions based on conditions</p> </li> <li>Input: Current state/results</li> <li>Output: Next node ID</li> <li> <p>Examples: Continue research vs. complete research</p> </li> <li> <p><strong>Parallel Nodes</strong>: Execute multiple nodes concurrently</p> </li> <li>Input: List of node IDs</li> <li>Output: Aggregated results</li> <li>Examples: Parallel iterative research loops</li> </ol> <h3 id=edges>Edges<a class=headerlink href=#edges title="Permanent link">¶</a></h3> <p>Edges define transitions between nodes:</p> <ol> <li><strong>Sequential Edges</strong>: Always traversed (no condition)</li> <li>From: Source node</li> <li>To: Target node</li> <li> <p>Condition: None (always True)</p> </li> <li> <p><strong>Conditional Edges</strong>: Traversed based on condition</p> </li> <li>From: Source node</li> <li>To: Target node</li> <li>Condition: Callable that returns bool</li> <li> <p>Example: If research complete → go to writer, else → continue loop</p> </li> <li> <p><strong>Parallel Edges</strong>: Used for parallel execution branches</p> </li> <li>From: Parallel node</li> <li>To: Multiple target nodes</li> <li>Execution: All targets run concurrently</li> </ol> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Permanent link">¶</a></h2> <p>State is managed via <code>WorkflowState</code> using <code>ContextVar</code> for thread-safe isolation:</p> <ul> <li><strong>Evidence</strong>: Collected evidence from searches</li> <li><strong>Conversation</strong>: Iteration history (gaps, tool calls, findings, thoughts)</li> <li><strong>Embedding Service</strong>: For semantic search</li> </ul> <p>State transitions occur at state nodes, which update the global workflow state.</p> <h2 id=execution-flow>Execution Flow<a class=headerlink href=#execution-flow title="Permanent link">¶</a></h2> <ol> <li><strong>Graph Construction</strong>: Build graph from nodes and edges</li> <li><strong>Graph Validation</strong>: Ensure graph is valid (no cycles, all nodes reachable)</li> <li><strong>Graph Execution</strong>: Traverse graph from entry node</li> <li><strong>Node Execution</strong>: Execute each node based on type</li> <li><strong>Edge Evaluation</strong>: Determine next node(s) based on edges</li> <li><strong>Parallel Execution</strong>: Use <code>asyncio.gather()</code> for parallel nodes</li> <li><strong>State Updates</strong>: Update state at state nodes</li> <li><strong>Event Streaming</strong>: Yield events during execution for UI</li> </ol> <h2 id=conditional-routing>Conditional Routing<a class=headerlink href=#conditional-routing title="Permanent link">¶</a></h2> <p>Decision nodes evaluate conditions and return next node IDs:</p> <ul> <li><strong>Knowledge Gap Decision</strong>: If <code>research_complete</code> → writer, else → tool selector</li> <li><strong>Budget Decision</strong>: If budget exceeded → exit, else → continue</li> <li><strong>Iteration Decision</strong>: If max iterations → exit, else → continue</li> </ul> <h2 id=parallel-execution>Parallel Execution<a class=headerlink href=#parallel-execution title="Permanent link">¶</a></h2> <p>Parallel nodes execute multiple nodes concurrently:</p> <ul> <li>Each parallel branch runs independently</li> <li>Results are aggregated after all branches complete</li> <li>State is synchronized after parallel execution</li> <li>Errors in one branch don't stop other branches</li> </ul> <h2 id=budget-enforcement>Budget Enforcement<a class=headerlink href=#budget-enforcement title="Permanent link">¶</a></h2> <p>Budget constraints are enforced at decision nodes:</p> <ul> <li><strong>Token Budget</strong>: Track LLM token usage</li> <li><strong>Time Budget</strong>: Track elapsed time</li> <li><strong>Iteration Budget</strong>: Track iteration count</li> </ul> <p>If any budget is exceeded, execution routes to exit node.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Permanent link">¶</a></h2> <p>Errors are handled at multiple levels:</p> <ol> <li><strong>Node Level</strong>: Catch errors in individual node execution</li> <li><strong>Graph Level</strong>: Handle errors during graph traversal</li> <li><strong>State Level</strong>: Rollback state changes on error</li> </ol> <p>Errors are logged and yield error events for UI.</p> <h2 id=backward-compatibility>Backward Compatibility<a class=headerlink href=#backward-compatibility title="Permanent link">¶</a></h2> <p>Graph execution is optional via feature flag:</p> <ul> <li><code>USE_GRAPH_EXECUTION=true</code>: Use graph-based execution</li> <li><code>USE_GRAPH_EXECUTION=false</code>: Use agent chain execution (existing)</li> </ul> <p>This allows gradual migration and fallback if needed.</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - Overview of all orchestrator patterns</li> <li><a href=../workflows/ >Workflows</a> - Workflow diagrams and patterns</li> <li><a href=../workflow-diagrams/ >Workflow Diagrams</a> - Detailed workflow diagrams</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component=top hidden type=button> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ rel=noopener target=_blank> Material for MkDocs </a> </div> <div class=md-social> <a class=md-social__link href=https://github.com/DeepCritical/GradioDemo rel=noopener target=_blank title=github.com> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class=md-social__link href=https://huggingface.co/spaces/DataQuests/DeepCritical rel=noopener target=_blank title=huggingface.co> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"></path></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!DOCTYPE html><html class=no-js lang=en> <head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><meta content="Generalist Deep Research Agent that Stops at Nothing" name=description><meta content="The DeepCritical Team" name=author><link href=https://deepcritical.github.io/GradioDemo/architecture/graph_orchestration/ rel=canonical><link href=../../configuration/ rel=prev><link href=../workflow-diagrams/ rel=next><link href=../../assets/images/favicon.png rel=icon><meta content="mkdocs-1.6.1, mkdocs-material-9.7.0" name=generator><title>Graph Orchestration - The DETERMINATOR</title><link href=../../assets/stylesheets/main.618322db.min.css rel=stylesheet><link href=../../assets/stylesheets/palette.ab4e12ef.min.css rel=stylesheet><link crossorigin href=https://fonts.gstatic.com rel=preconnect><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel=stylesheet><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link href=../../css/timeago.css rel=stylesheet><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body data-md-color-accent=red data-md-color-primary=orange data-md-color-scheme=default dir=ltr> <input autocomplete=off class=md-toggle data-md-toggle=drawer id=__drawer type=checkbox> <input autocomplete=off class=md-toggle data-md-toggle=search id=__search type=checkbox> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a class=md-skip href=#graph-orchestration-architecture> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav aria-label=Header class="md-header__inner md-grid"> <a aria-label="The DETERMINATOR" class="md-header__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Graph Orchestration </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input aria-label="Switch to dark mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=default id=__palette_0 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_1 hidden title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to light mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=slate id=__palette_1 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_0 hidden title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input aria-label=Search autocapitalize=off autocomplete=off autocorrect=off class=md-search__input data-md-component=search-query name=query placeholder=Search required spellcheck=false type=text> <label class="md-search__icon md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label=Search class=md-search__options> <button aria-label=Clear class="md-search__icon md-icon" tabindex=-1 title=Clear type=reset> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix tabindex=0> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav aria-label=Tabs class=md-tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a class=md-tabs__link href=../..> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label=Navigation class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" data-md-level=0> <label class=md-nav__title for=__drawer> <a aria-label="The DETERMINATOR" class="md-nav__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=../..> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_2 type=checkbox> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_2_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_3 type=checkbox> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_3_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_4 type=checkbox> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class=md-nav__link> <span class=md-ellipsis> Configuration </span> </a> </div> <nav aria-expanded=false aria-labelledby=__nav_4_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input checked class="md-nav__toggle md-toggle" id=__nav_5 type=checkbox> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=true aria-labelledby=__nav_5_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" id=__toc type=checkbox> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Graph Orchestration </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Graph Orchestration </span> </a> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#overview> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#graph-patterns> <span class=md-ellipsis> Graph Patterns </span> </a> <nav aria-label="Graph Patterns" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research-graph> <span class=md-ellipsis> Iterative Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research-graph> <span class=md-ellipsis> Deep Research Graph </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#deep-research> <span class=md-ellipsis> Deep Research </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#iterative-research> <span class=md-ellipsis> Iterative Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#graph-structure> <span class=md-ellipsis> Graph Structure </span> </a> <nav aria-label="Graph Structure" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#nodes> <span class=md-ellipsis> Nodes </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#edges> <span class=md-ellipsis> Edges </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#state-management> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#execution-flow> <span class=md-ellipsis> Execution Flow </span> </a> <nav aria-label="Execution Flow" class=md-nav> <ul class=md-nav__list> <li class=md-nav__item> <a class=md-nav__link href=#graphexecutioncontext> <span class=md-ellipsis> GraphExecutionContext </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a class=md-nav__link href=#conditional-routing> <span class=md-ellipsis> Conditional Routing </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#parallel-execution> <span class=md-ellipsis> Parallel Execution </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#budget-enforcement> <span class=md-ellipsis> Budget Enforcement </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#error-handling> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#backward-compatibility> <span class=md-ellipsis> Backward Compatibility </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_6 type=checkbox> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_6_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_7 type=checkbox> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav aria-expanded=false aria-labelledby=__nav_7_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=graph-orchestration-architecture>Graph Orchestration Architecture<a class=headerlink href=#graph-orchestration-architecture title="Anchor link to this section">¶</a></h1> <h2 id=overview>Overview<a class=headerlink href=#overview title="Anchor link to this section">¶</a></h2> <p>DeepCritical implements a graph-based orchestration system for research workflows using Pydantic AI agents as nodes. This enables better parallel execution, conditional routing, and state management compared to simple agent chains.</p> <h2 id=graph-patterns>Graph Patterns<a class=headerlink href=#graph-patterns title="Anchor link to this section">¶</a></h2> <h3 id=iterative-research-graph>Iterative Research Graph<a class=headerlink href=#iterative-research-graph title="Anchor link to this section">¶</a></h3> <p>The iterative research graph follows this pattern:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-0-1><a href=#__codelineno-0-1 id=__codelineno-0-1 name=__codelineno-0-1></a>[Input] → [Thinking] → [Knowledge Gap] → [Decision: Complete?]
|
| 2 |
+
</span><span id=__span-0-2><a href=#__codelineno-0-2 id=__codelineno-0-2 name=__codelineno-0-2></a> ↓ No ↓ Yes
|
| 3 |
+
</span><span id=__span-0-3><a href=#__codelineno-0-3 id=__codelineno-0-3 name=__codelineno-0-3></a> [Tool Selector] [Writer]
|
| 4 |
+
</span><span id=__span-0-4><a href=#__codelineno-0-4 id=__codelineno-0-4 name=__codelineno-0-4></a> ↓
|
| 5 |
+
</span><span id=__span-0-5><a href=#__codelineno-0-5 id=__codelineno-0-5 name=__codelineno-0-5></a> [Execute Tools] → [Loop Back]
|
| 6 |
+
</span></code></pre></div> <p><strong>Node IDs</strong>: <code>thinking</code> → <code>knowledge_gap</code> → <code>continue_decision</code> → <code>tool_selector</code>/<code>writer</code> → <code>execute_tools</code> → (loop back to <code>thinking</code>)</p> <p><strong>Special Node Handling</strong>: - <code>execute_tools</code>: State node that uses <code>search_handler</code> to execute searches and add evidence to workflow state - <code>continue_decision</code>: Decision node that routes based on <code>research_complete</code> flag from <code>KnowledgeGapOutput</code></p> <h3 id=deep-research-graph>Deep Research Graph<a class=headerlink href=#deep-research-graph title="Anchor link to this section">¶</a></h3> <p>The deep research graph follows this pattern:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-1-1><a href=#__codelineno-1-1 id=__codelineno-1-1 name=__codelineno-1-1></a>[Input] → [Planner] → [Store Plan] → [Parallel Loops] → [Collect Drafts] → [Synthesizer]
|
| 7 |
+
</span><span id=__span-1-2><a href=#__codelineno-1-2 id=__codelineno-1-2 name=__codelineno-1-2></a> ↓ ↓ ↓
|
| 8 |
+
</span><span id=__span-1-3><a href=#__codelineno-1-3 id=__codelineno-1-3 name=__codelineno-1-3></a> [Loop1] [Loop2] [Loop3]
|
| 9 |
+
</span></code></pre></div> <p><strong>Node IDs</strong>: <code>planner</code> → <code>store_plan</code> → <code>parallel_loops</code> → <code>collect_drafts</code> → <code>synthesizer</code></p> <p><strong>Special Node Handling</strong>: - <code>planner</code>: Agent node that creates <code>ReportPlan</code> with report outline - <code>store_plan</code>: State node that stores <code>ReportPlan</code> in context for parallel loops - <code>parallel_loops</code>: Parallel node that executes <code>IterativeResearchFlow</code> instances for each section - <code>collect_drafts</code>: State node that collects section drafts from parallel loops - <code>synthesizer</code>: Agent node that calls <code>LongWriterAgent.write_report()</code> directly with <code>ReportDraft</code></p> <h3 id=deep-research>Deep Research<a class=headerlink href=#deep-research title="Anchor link to this section">¶</a></h3> <pre class=mermaid><code>
|
| 10 |
sequenceDiagram
|
| 11 |
actor User
|
| 12 |
participant GraphOrchestrator
|
|
|
|
| 41 |
end
|
| 42 |
|
| 43 |
GraphOrchestrator->>User: AsyncGenerator[AgentEvent]
|
| 44 |
+
</code></pre> <h3 id=iterative-research>Iterative Research<a class=headerlink href=#iterative-research title="Anchor link to this section">¶</a></h3> <pre class=mermaid><code>sequenceDiagram
|
| 45 |
participant IterativeFlow
|
| 46 |
participant ThinkingAgent
|
| 47 |
participant KnowledgeGapAgent
|
|
|
|
| 72 |
IterativeFlow->>JudgeHandler: assess_evidence()
|
| 73 |
JudgeHandler-->>IterativeFlow: should_continue
|
| 74 |
end
|
| 75 |
+
end</code></pre> <h2 id=graph-structure>Graph Structure<a class=headerlink href=#graph-structure title="Anchor link to this section">¶</a></h2> <h3 id=nodes>Nodes<a class=headerlink href=#nodes title="Anchor link to this section">¶</a></h3> <p>Graph nodes represent different stages in the research workflow:</p> <ol> <li><strong>Agent Nodes</strong>: Execute Pydantic AI agents</li> <li>Input: Prompt/query</li> <li>Output: Structured or unstructured response</li> <li> <p>Examples: <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>ThinkingAgent</code></p> </li> <li> <p><strong>State Nodes</strong>: Update or read workflow state</p> </li> <li>Input: Current state</li> <li>Output: Updated state</li> <li> <p>Examples: Update evidence, update conversation history</p> </li> <li> <p><strong>Decision Nodes</strong>: Make routing decisions based on conditions</p> </li> <li>Input: Current state/results</li> <li>Output: Next node ID</li> <li> <p>Examples: Continue research vs. complete research</p> </li> <li> <p><strong>Parallel Nodes</strong>: Execute multiple nodes concurrently</p> </li> <li>Input: List of node IDs</li> <li>Output: Aggregated results</li> <li>Examples: Parallel iterative research loops</li> </ol> <h3 id=edges>Edges<a class=headerlink href=#edges title="Anchor link to this section">¶</a></h3> <p>Edges define transitions between nodes:</p> <ol> <li><strong>Sequential Edges</strong>: Always traversed (no condition)</li> <li>From: Source node</li> <li>To: Target node</li> <li> <p>Condition: None (always True)</p> </li> <li> <p><strong>Conditional Edges</strong>: Traversed based on condition</p> </li> <li>From: Source node</li> <li>To: Target node</li> <li>Condition: Callable that returns bool</li> <li> <p>Example: If research complete → go to writer, else → continue loop</p> </li> <li> <p><strong>Parallel Edges</strong>: Used for parallel execution branches</p> </li> <li>From: Parallel node</li> <li>To: Multiple target nodes</li> <li>Execution: All targets run concurrently</li> </ol> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Anchor link to this section">¶</a></h2> <p>State is managed via <code>WorkflowState</code> using <code>ContextVar</code> for thread-safe isolation:</p> <ul> <li><strong>Evidence</strong>: Collected evidence from searches</li> <li><strong>Conversation</strong>: Iteration history (gaps, tool calls, findings, thoughts)</li> <li><strong>Embedding Service</strong>: For semantic search</li> </ul> <p>State transitions occur at state nodes, which update the global workflow state.</p> <h2 id=execution-flow>Execution Flow<a class=headerlink href=#execution-flow title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Graph Construction</strong>: Build graph from nodes and edges using <code>create_iterative_graph()</code> or <code>create_deep_graph()</code></li> <li><strong>Graph Validation</strong>: Ensure graph is valid (no cycles, all nodes reachable) via <code>ResearchGraph.validate_structure()</code></li> <li><strong>Graph Execution</strong>: Traverse graph from entry node using <code>GraphOrchestrator._execute_graph()</code></li> <li><strong>Node Execution</strong>: Execute each node based on type:</li> <li><strong>Agent Nodes</strong>: Call <code>agent.run()</code> with transformed input</li> <li><strong>State Nodes</strong>: Update workflow state via <code>state_updater</code> function</li> <li><strong>Decision Nodes</strong>: Evaluate <code>decision_function</code> to get next node ID</li> <li><strong>Parallel Nodes</strong>: Execute all parallel nodes concurrently via <code>asyncio.gather()</code></li> <li><strong>Edge Evaluation</strong>: Determine next node(s) based on edges and conditions</li> <li><strong>Parallel Execution</strong>: Use <code>asyncio.gather()</code> for parallel nodes</li> <li><strong>State Updates</strong>: Update state at state nodes via <code>GraphExecutionContext.update_state()</code></li> <li><strong>Event Streaming</strong>: Yield <code>AgentEvent</code> objects during execution for UI</li> </ol> <h3 id=graphexecutioncontext>GraphExecutionContext<a class=headerlink href=#graphexecutioncontext title="Anchor link to this section">¶</a></h3> <p>The <code>GraphExecutionContext</code> class manages execution state during graph traversal:</p> <ul> <li><strong>State</strong>: Current <code>WorkflowState</code> instance</li> <li><strong>Budget Tracker</strong>: <code>BudgetTracker</code> instance for budget enforcement</li> <li><strong>Node Results</strong>: Dictionary storing results from each node execution</li> <li><strong>Visited Nodes</strong>: Set of node IDs that have been executed</li> <li><strong>Current Node</strong>: ID of the node currently being executed</li> </ul> <p>Methods: - <code>set_node_result(node_id, result)</code>: Store result from node execution - <code>get_node_result(node_id)</code>: Retrieve stored result - <code>has_visited(node_id)</code>: Check if node was visited - <code>mark_visited(node_id)</code>: Mark node as visited - <code>update_state(updater, data)</code>: Update workflow state</p> <h2 id=conditional-routing>Conditional Routing<a class=headerlink href=#conditional-routing title="Anchor link to this section">¶</a></h2> <p>Decision nodes evaluate conditions and return next node IDs:</p> <ul> <li><strong>Knowledge Gap Decision</strong>: If <code>research_complete</code> → writer, else → tool selector</li> <li><strong>Budget Decision</strong>: If budget exceeded → exit, else → continue</li> <li><strong>Iteration Decision</strong>: If max iterations → exit, else → continue</li> </ul> <h2 id=parallel-execution>Parallel Execution<a class=headerlink href=#parallel-execution title="Anchor link to this section">¶</a></h2> <p>Parallel nodes execute multiple nodes concurrently:</p> <ul> <li>Each parallel branch runs independently</li> <li>Results are aggregated after all branches complete</li> <li>State is synchronized after parallel execution</li> <li>Errors in one branch don't stop other branches</li> </ul> <h2 id=budget-enforcement>Budget Enforcement<a class=headerlink href=#budget-enforcement title="Anchor link to this section">¶</a></h2> <p>Budget constraints are enforced at decision nodes:</p> <ul> <li><strong>Token Budget</strong>: Track LLM token usage</li> <li><strong>Time Budget</strong>: Track elapsed time</li> <li><strong>Iteration Budget</strong>: Track iteration count</li> </ul> <p>If any budget is exceeded, execution routes to exit node.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Anchor link to this section">¶</a></h2> <p>Errors are handled at multiple levels:</p> <ol> <li><strong>Node Level</strong>: Catch errors in individual node execution</li> <li><strong>Graph Level</strong>: Handle errors during graph traversal</li> <li><strong>State Level</strong>: Rollback state changes on error</li> </ol> <p>Errors are logged and yield error events for UI.</p> <h2 id=backward-compatibility>Backward Compatibility<a class=headerlink href=#backward-compatibility title="Anchor link to this section">¶</a></h2> <p>Graph execution is optional via feature flag:</p> <ul> <li><code>USE_GRAPH_EXECUTION=true</code>: Use graph-based execution</li> <li><code>USE_GRAPH_EXECUTION=false</code>: Use agent chain execution (existing)</li> </ul> <p>This allows gradual migration and fallback if needed.</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - Overview of all orchestrator patterns</li> <li><a href=../workflow-diagrams/ >Workflow Diagrams</a> - Detailed workflow diagrams</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"></path></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"></path></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:33:25 UTC"><span class=timeago datetime=2025-11-29T21:33:25+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:33:25 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component=top hidden type=button> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ rel=noopener target=_blank> Material for MkDocs </a> </div> <div class=md-social> <a class=md-social__link href=https://github.com/DeepCritical/GradioDemo rel=noopener target=_blank title=GitHub> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class=md-social__link href=https://twitter.com/josephpollack rel=noopener target=_blank title=Twitter> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"></path></svg> </a> <a class=md-social__link href=https://huggingface.co/spaces/DataQuests/DeepCritical rel=noopener target=_blank title="Live Demo"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"></path></svg> </a> <a class=md-social__link href=https://discord.gg/n8ytYeh25n rel=noopener target=_blank title=Discord> <svg viewbox="0 0 576 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"></path></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/middleware/index.html
CHANGED
|
@@ -1,20 +1,40 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/middleware/ rel=canonical><link href=../tools/ rel=prev><link href=../services/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Middleware - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#middleware-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Middleware </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Middleware </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Middleware </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> <nav class=md-nav aria-label="State Management"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#workflowstate class=md-nav__link> <span class=md-ellipsis> WorkflowState </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#workflow-manager class=md-nav__link> <span class=md-ellipsis> Workflow Manager </span> </a> </li> <li class=md-nav__item> <a href=#budget-tracker class=md-nav__link> <span class=md-ellipsis> Budget Tracker </span> </a> </li> <li class=md-nav__item> <a href=#models class=md-nav__link> <span class=md-ellipsis> Models </span> </a> </li> <li class=md-nav__item> <a href=#thread-safety class=md-nav__link> <span class=md-ellipsis> Thread Safety </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> <nav class=md-nav aria-label="State Management"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#workflowstate class=md-nav__link> <span class=md-ellipsis> WorkflowState </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#workflow-manager class=md-nav__link> <span class=md-ellipsis> Workflow Manager </span> </a> </li> <li class=md-nav__item> <a href=#budget-tracker class=md-nav__link> <span class=md-ellipsis> Budget Tracker </span> </a> </li> <li class=md-nav__item> <a href=#models class=md-nav__link> <span class=md-ellipsis> Models </span> </a> </li> <li class=md-nav__item> <a href=#thread-safety class=md-nav__link> <span class=md-ellipsis> Thread Safety </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=middleware-architecture>Middleware Architecture<a class=headerlink href=#middleware-architecture title="Permanent link">¶</a></h1> <p>DeepCritical uses middleware for state management, budget tracking, and workflow coordination.</p> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Permanent link">¶</a></h2> <h3 id=workflowstate>WorkflowState<a class=headerlink href=#workflowstate title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/middleware/state_machine.py</code></p> <p><strong>Purpose</strong>: Thread-safe state management for research workflows</p> <p><strong>Implementation</strong>: Uses <code>ContextVar</code> for thread-safe isolation</p> <p><strong>State Components</strong>: - <code>evidence: list[Evidence]</code>: Collected evidence from searches - <code>conversation: Conversation</code>: Iteration history (gaps, tool calls, findings, thoughts) - <code>embedding_service: Any</code>: Embedding service for semantic search</p> <p><strong>Methods</strong>: - <code>add_evidence(evidence: Evidence)</code>: Adds evidence with URL-based deduplication - <code>async search_related(query: str, top_k: int = 5) -> list[Evidence]</code>: Semantic search</p> <p><strong>Initialization</strong>:</p> <p><strong>Access</strong>:</p> <h2 id=workflow-manager>Workflow Manager<a class=headerlink href=#workflow-manager title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/middleware/workflow_manager.py</code></p> <p><strong>Purpose</strong>: Coordinates parallel research loops</p> <p><strong>Methods</strong>: - <code>add_loop(loop: ResearchLoop)</code>: Add a research loop to manage - <code>async run_loops_parallel() -> list[ResearchLoop]</code>: Run all loops in parallel - <code>update_loop_status(loop_id: str, status: str)</code>: Update loop status - <code>sync_loop_evidence_to_state()</code>: Synchronize evidence from loops to global state</p> <p><strong>Features</strong>: - Uses <code>asyncio.gather()</code> for parallel execution - Handles errors per loop (doesn't fail all if one fails) - Tracks loop status: <code>pending</code>, <code>running</code>, <code>completed</code>, <code>failed</code>, <code>cancelled</code> - Evidence deduplication across parallel loops</p> <p><strong>Usage</strong>: <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.middleware.workflow_manager</span><span class=w> </span><span class=kn>import</span> <span class=n>WorkflowManager</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=n>manager</span> <span class=o>=</span> <span class=n>WorkflowManager</span><span class=p>()</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=n>manager</span><span class=o>.</span><span class=n>add_loop</span><span class=p>(</span><span class=
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=n>manager</span><span class=o>.</span><span class=n>add_loop</span><span class=p>(</span><span class=
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
-
</
|
| 8 |
-
<a id=__codelineno-
|
| 9 |
-
<a id=__codelineno-
|
| 10 |
-
<a id=__codelineno-
|
| 11 |
-
<a id=__codelineno-
|
| 12 |
-
<a id=__codelineno-
|
| 13 |
-
<a id=__codelineno-
|
| 14 |
-
<a id=__codelineno-
|
| 15 |
-
<a id=__codelineno-
|
| 16 |
-
<a id=__codelineno-
|
| 17 |
-
<a id=__codelineno-
|
| 18 |
-
<a id=__codelineno-
|
| 19 |
-
<a id=__codelineno-
|
| 20 |
-
</code></pre></div></p> <h2 id=
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/middleware/ rel=canonical><link href=../tools/ rel=prev><link href=../services/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Middleware - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#middleware-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Middleware </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Middleware </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Middleware </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> <nav class=md-nav aria-label="State Management"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#workflowstate class=md-nav__link> <span class=md-ellipsis> WorkflowState </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#workflow-manager class=md-nav__link> <span class=md-ellipsis> Workflow Manager </span> </a> </li> <li class=md-nav__item> <a href=#budget-tracker class=md-nav__link> <span class=md-ellipsis> Budget Tracker </span> </a> </li> <li class=md-nav__item> <a href=#models class=md-nav__link> <span class=md-ellipsis> Models </span> </a> </li> <li class=md-nav__item> <a href=#thread-safety class=md-nav__link> <span class=md-ellipsis> Thread Safety </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=middleware-architecture>Middleware Architecture<a class=headerlink href=#middleware-architecture title="Anchor link to this section">¶</a></h1> <p>DeepCritical uses middleware for state management, budget tracking, and workflow coordination.</p> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Anchor link to this section">¶</a></h2> <h3 id=workflowstate>WorkflowState<a class=headerlink href=#workflowstate title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/middleware/state_machine.py</code></p> <p><strong>Purpose</strong>: Thread-safe state management for research workflows</p> <p><strong>Implementation</strong>: Uses <code>ContextVar</code> for thread-safe isolation</p> <p><strong>State Components</strong>: - <code>evidence: list[Evidence]</code>: Collected evidence from searches - <code>conversation: Conversation</code>: Iteration history (gaps, tool calls, findings, thoughts) - <code>embedding_service: Any</code>: Embedding service for semantic search</p> <p><strong>Methods</strong>: - <code>add_evidence(new_evidence: list[Evidence]) -> int</code>: Adds evidence with URL-based deduplication. Returns the number of new items added (excluding duplicates). - <code>async search_related(query: str, n_results: int = 5) -> list[Evidence]</code>: Semantic search for related evidence using embedding service</p> <p><strong>Initialization</strong>:</p> <p><strong>Access</strong>:</p> <h2 id=workflow-manager>Workflow Manager<a class=headerlink href=#workflow-manager title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/middleware/workflow_manager.py</code></p> <p><strong>Purpose</strong>: Coordinates parallel research loops</p> <p><strong>Methods</strong>: - <code>async add_loop(loop_id: str, query: str) -> ResearchLoop</code>: Add a new research loop to manage - <code>async run_loops_parallel(loop_configs: list[dict], loop_func: Callable, judge_handler: Any | None = None, budget_tracker: Any | None = None) -> list[Any]</code>: Run multiple research loops in parallel. Takes configuration dicts and a loop function. - <code>async update_loop_status(loop_id: str, status: LoopStatus, error: str | None = None)</code>: Update loop status - <code>async sync_loop_evidence_to_state(loop_id: str)</code>: Synchronize evidence from a specific loop to global state</p> <p><strong>Features</strong>: - Uses <code>asyncio.gather()</code> for parallel execution - Handles errors per loop (doesn't fail all if one fails) - Tracks loop status: <code>pending</code>, <code>running</code>, <code>completed</code>, <code>failed</code>, <code>cancelled</code> - Evidence deduplication across parallel loops</p> <p><strong>Usage</strong>: <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.middleware.workflow_manager</span><span class=w> </span><span class=kn>import</span> <span class=n>WorkflowManager</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=n>manager</span> <span class=o>=</span> <span class=n>WorkflowManager</span><span class=p>()</span>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>await</span> <span class=n>manager</span><span class=o>.</span><span class=n>add_loop</span><span class=p>(</span><span class=s2>"loop1"</span><span class=p>,</span> <span class=s2>"Research query 1"</span><span class=p>)</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=k>await</span> <span class=n>manager</span><span class=o>.</span><span class=n>add_loop</span><span class=p>(</span><span class=s2>"loop2"</span><span class=p>,</span> <span class=s2>"Research query 2"</span><span class=p>)</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>run_research</span><span class=p>(</span><span class=n>config</span><span class=p>:</span> <span class=nb>dict</span><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span><span class=p>:</span>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a> <span class=n>loop_id</span> <span class=o>=</span> <span class=n>config</span><span class=p>[</span><span class=s2>"loop_id"</span><span class=p>]</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a> <span class=n>query</span> <span class=o>=</span> <span class=n>config</span><span class=p>[</span><span class=s2>"query"</span><span class=p>]</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a> <span class=c1># ... research logic ...</span>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a> <span class=k>return</span> <span class=s2>"report"</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>
|
| 13 |
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a><span class=n>results</span> <span class=o>=</span> <span class=k>await</span> <span class=n>manager</span><span class=o>.</span><span class=n>run_loops_parallel</span><span class=p>(</span>
|
| 14 |
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a> <span class=n>loop_configs</span><span class=o>=</span><span class=p>[</span>
|
| 15 |
+
</span><span id=__span-0-15><a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a> <span class=p>{</span><span class=s2>"loop_id"</span><span class=p>:</span> <span class=s2>"loop1"</span><span class=p>,</span> <span class=s2>"query"</span><span class=p>:</span> <span class=s2>"Research query 1"</span><span class=p>},</span>
|
| 16 |
+
</span><span id=__span-0-16><a id=__codelineno-0-16 name=__codelineno-0-16 href=#__codelineno-0-16></a> <span class=p>{</span><span class=s2>"loop_id"</span><span class=p>:</span> <span class=s2>"loop2"</span><span class=p>,</span> <span class=s2>"query"</span><span class=p>:</span> <span class=s2>"Research query 2"</span><span class=p>},</span>
|
| 17 |
+
</span><span id=__span-0-17><a id=__codelineno-0-17 name=__codelineno-0-17 href=#__codelineno-0-17></a> <span class=p>],</span>
|
| 18 |
+
</span><span id=__span-0-18><a id=__codelineno-0-18 name=__codelineno-0-18 href=#__codelineno-0-18></a> <span class=n>loop_func</span><span class=o>=</span><span class=n>run_research</span><span class=p>,</span>
|
| 19 |
+
</span><span id=__span-0-19><a id=__codelineno-0-19 name=__codelineno-0-19 href=#__codelineno-0-19></a><span class=p>)</span>
|
| 20 |
+
</span></code></pre></div></p> <h2 id=budget-tracker>Budget Tracker<a class=headerlink href=#budget-tracker title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/middleware/budget_tracker.py</code></p> <p><strong>Purpose</strong>: Tracks and enforces resource limits</p> <p><strong>Budget Components</strong>: - <strong>Tokens</strong>: LLM token usage - <strong>Time</strong>: Elapsed time in seconds - <strong>Iterations</strong>: Number of iterations</p> <p><strong>Methods</strong>: - <code>create_budget(loop_id: str, tokens_limit: int = 100000, time_limit_seconds: float = 600.0, iterations_limit: int = 10) -> BudgetStatus</code>: Create a budget for a specific loop - <code>add_tokens(loop_id: str, tokens: int)</code>: Add token usage to a loop's budget - <code>start_timer(loop_id: str)</code>: Start time tracking for a loop - <code>update_timer(loop_id: str)</code>: Update elapsed time for a loop - <code>increment_iteration(loop_id: str)</code>: Increment iteration count for a loop - <code>check_budget(loop_id: str) -> tuple[bool, str]</code>: Check if a loop's budget has been exceeded. Returns (exceeded: bool, reason: str) - <code>can_continue(loop_id: str) -> bool</code>: Check if a loop can continue based on budget</p> <p><strong>Token Estimation</strong>: - <code>estimate_tokens(text: str) -> int</code>: ~4 chars per token - <code>estimate_llm_call_tokens(prompt: str, response: str) -> int</code>: Estimate LLM call tokens</p> <p><strong>Usage</strong>: <div class="language-python highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.middleware.budget_tracker</span><span class=w> </span><span class=kn>import</span> <span class=n>BudgetTracker</span>
|
| 21 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>
|
| 22 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>tracker</span> <span class=o>=</span> <span class=n>BudgetTracker</span><span class=p>()</span>
|
| 23 |
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=n>budget</span> <span class=o>=</span> <span class=n>tracker</span><span class=o>.</span><span class=n>create_budget</span><span class=p>(</span>
|
| 24 |
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=n>loop_id</span><span class=o>=</span><span class=s2>"research_loop"</span><span class=p>,</span>
|
| 25 |
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=n>tokens_limit</span><span class=o>=</span><span class=mi>100000</span><span class=p>,</span>
|
| 26 |
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a> <span class=n>time_limit_seconds</span><span class=o>=</span><span class=mi>600</span><span class=p>,</span>
|
| 27 |
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a> <span class=n>iterations_limit</span><span class=o>=</span><span class=mi>10</span>
|
| 28 |
+
</span><span id=__span-1-9><a id=__codelineno-1-9 name=__codelineno-1-9 href=#__codelineno-1-9></a><span class=p>)</span>
|
| 29 |
+
</span><span id=__span-1-10><a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a><span class=n>tracker</span><span class=o>.</span><span class=n>start_timer</span><span class=p>(</span><span class=s2>"research_loop"</span><span class=p>)</span>
|
| 30 |
+
</span><span id=__span-1-11><a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a><span class=c1># ... research operations ...</span>
|
| 31 |
+
</span><span id=__span-1-12><a id=__codelineno-1-12 name=__codelineno-1-12 href=#__codelineno-1-12></a><span class=n>tracker</span><span class=o>.</span><span class=n>add_tokens</span><span class=p>(</span><span class=s2>"research_loop"</span><span class=p>,</span> <span class=mi>5000</span><span class=p>)</span>
|
| 32 |
+
</span><span id=__span-1-13><a id=__codelineno-1-13 name=__codelineno-1-13 href=#__codelineno-1-13></a><span class=n>tracker</span><span class=o>.</span><span class=n>update_timer</span><span class=p>(</span><span class=s2>"research_loop"</span><span class=p>)</span>
|
| 33 |
+
</span><span id=__span-1-14><a id=__codelineno-1-14 name=__codelineno-1-14 href=#__codelineno-1-14></a><span class=n>exceeded</span><span class=p>,</span> <span class=n>reason</span> <span class=o>=</span> <span class=n>tracker</span><span class=o>.</span><span class=n>check_budget</span><span class=p>(</span><span class=s2>"research_loop"</span><span class=p>)</span>
|
| 34 |
+
</span><span id=__span-1-15><a id=__codelineno-1-15 name=__codelineno-1-15 href=#__codelineno-1-15></a><span class=k>if</span> <span class=n>exceeded</span><span class=p>:</span>
|
| 35 |
+
</span><span id=__span-1-16><a id=__codelineno-1-16 name=__codelineno-1-16 href=#__codelineno-1-16></a> <span class=c1># Budget exceeded, stop research</span>
|
| 36 |
+
</span><span id=__span-1-17><a id=__codelineno-1-17 name=__codelineno-1-17 href=#__codelineno-1-17></a> <span class=k>pass</span>
|
| 37 |
+
</span><span id=__span-1-18><a id=__codelineno-1-18 name=__codelineno-1-18 href=#__codelineno-1-18></a><span class=k>if</span> <span class=ow>not</span> <span class=n>tracker</span><span class=o>.</span><span class=n>can_continue</span><span class=p>(</span><span class=s2>"research_loop"</span><span class=p>):</span>
|
| 38 |
+
</span><span id=__span-1-19><a id=__codelineno-1-19 name=__codelineno-1-19 href=#__codelineno-1-19></a> <span class=c1># Budget exceeded, stop research</span>
|
| 39 |
+
</span><span id=__span-1-20><a id=__codelineno-1-20 name=__codelineno-1-20 href=#__codelineno-1-20></a> <span class=k>pass</span>
|
| 40 |
+
</span></code></pre></div></p> <h2 id=models>Models<a class=headerlink href=#models title="Anchor link to this section">¶</a></h2> <p>All middleware models are defined in <code>src/utils/models.py</code>:</p> <ul> <li><code>IterationData</code>: Data for a single iteration</li> <li><code>Conversation</code>: Conversation history with iterations</li> <li><code>ResearchLoop</code>: Research loop state and configuration</li> <li><code>BudgetStatus</code>: Current budget status</li> </ul> <h2 id=thread-safety>Thread Safety<a class=headerlink href=#thread-safety title="Anchor link to this section">¶</a></h2> <p>All middleware components use <code>ContextVar</code> for thread-safe isolation:</p> <ul> <li>Each request/thread has its own workflow state</li> <li>No global mutable state</li> <li>Safe for concurrent requests</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - How middleware is used in orchestration</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> <li><a href=../../contributing/code-style/ >Contributing - Code Style</a> - Development guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/orchestrators/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/orchestrators/ rel=canonical><link href=../agents/ rel=prev><link href=../tools/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Orchestrators - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#orchestrators-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Orchestrators </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Orchestrators </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Orchestrators </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#research-flows class=md-nav__link> <span class=md-ellipsis> Research Flows </span> </a> <nav class=md-nav aria-label="Research Flows"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graph-orchestrator class=md-nav__link> <span class=md-ellipsis> Graph Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> </li> <li class=md-nav__item> <a href=#magentic-orchestrator class=md-nav__link> <span class=md-ellipsis> Magentic Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#hierarchical-orchestrator class=md-nav__link> <span class=md-ellipsis> Hierarchical Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#legacy-simple-mode class=md-nav__link> <span class=md-ellipsis> Legacy Simple Mode </span> </a> </li> <li class=md-nav__item> <a href=#state-initialization class=md-nav__link> <span class=md-ellipsis> State Initialization </span> </a> </li> <li class=md-nav__item> <a href=#event-streaming class=md-nav__link> <span class=md-ellipsis> Event Streaming </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#research-flows class=md-nav__link> <span class=md-ellipsis> Research Flows </span> </a> <nav class=md-nav aria-label="Research Flows"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graph-orchestrator class=md-nav__link> <span class=md-ellipsis> Graph Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> </li> <li class=md-nav__item> <a href=#magentic-orchestrator class=md-nav__link> <span class=md-ellipsis> Magentic Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#hierarchical-orchestrator class=md-nav__link> <span class=md-ellipsis> Hierarchical Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#legacy-simple-mode class=md-nav__link> <span class=md-ellipsis> Legacy Simple Mode </span> </a> </li> <li class=md-nav__item> <a href=#state-initialization class=md-nav__link> <span class=md-ellipsis> State Initialization </span> </a> </li> <li class=md-nav__item> <a href=#event-streaming class=md-nav__link> <span class=md-ellipsis> Event Streaming </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=orchestrators-architecture>Orchestrators Architecture<a class=headerlink href=#orchestrators-architecture title="Permanent link">¶</a></h1> <p>DeepCritical supports multiple orchestration patterns for research workflows.</p> <h2 id=research-flows>Research Flows<a class=headerlink href=#research-flows title="Permanent link">¶</a></h2> <h3 id=iterativeresearchflow>IterativeResearchFlow<a class=headerlink href=#iterativeresearchflow title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/orchestrator/research_flow.py</code></p> <p><strong>Pattern</strong>: Generate observations → Evaluate gaps → Select tools → Execute → Judge → Continue/Complete</p> <p><strong>Agents Used</strong>: - <code>KnowledgeGapAgent</code>: Evaluates research completeness - <code>ToolSelectorAgent</code>: Selects tools for addressing gaps - <code>ThinkingAgent</code>: Generates observations - <code>WriterAgent</code>: Creates final report - <code>JudgeHandler</code>: Assesses evidence sufficiency</p> <p><strong>Features</strong>: - Tracks iterations, time, budget - Supports graph execution (<code>use_graph=True</code>) and agent chains (<code>use_graph=False</code>) - Iterates until research complete or constraints met</p> <p><strong>Usage</strong>:</p> <h3 id=deepresearchflow>DeepResearchFlow<a class=headerlink href=#deepresearchflow title="Permanent link">¶</a></h3> <p><strong>File</strong>: <code>src/orchestrator/research_flow.py</code></p> <p><strong>Pattern</strong>: Planner → Parallel iterative loops per section → Synthesizer</p> <p><strong>Agents Used</strong>: - <code>PlannerAgent</code>: Breaks query into report sections - <code>IterativeResearchFlow</code>: Per-section research (parallel) - <code>LongWriterAgent</code> or <code>ProofreaderAgent</code>: Final synthesis</p> <p><strong>Features</strong>: - Uses <code>WorkflowManager</code> for parallel execution - Budget tracking per section and globally - State synchronization across parallel loops - Supports graph execution and agent chains</p> <p><strong>Usage</strong>:</p> <h2 id=graph-orchestrator>Graph Orchestrator<a class=headerlink href=#graph-orchestrator title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator/graph_orchestrator.py</code></p> <p><strong>Purpose</strong>: Graph-based execution using Pydantic AI agents as nodes</p> <p><strong>Features</strong>: - Uses Pydantic AI Graphs (when available) or agent chains (fallback) - Routes based on research mode (iterative/deep/auto) - Streams <code>AgentEvent</code> objects for UI</p> <p><strong>Node Types</strong>: - <strong>Agent Nodes</strong>: Execute Pydantic AI agents - <strong>State Nodes</strong>: Update or read workflow state - <strong>Decision Nodes</strong>: Make routing decisions - <strong>Parallel Nodes</strong>: Execute multiple nodes concurrently</p> <p><strong>Edge Types</strong>: - <strong>Sequential Edges</strong>: Always traversed - <strong>Conditional Edges</strong>: Traversed based on condition - <strong>Parallel Edges</strong>: Used for parallel execution branches</p> <h2 id=orchestrator-factory>Orchestrator Factory<a class=headerlink href=#orchestrator-factory title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_factory.py</code></p> <p><strong>Purpose</strong>: Factory for creating orchestrators</p> <p><strong>Modes</strong>: - <strong>Simple</strong>: Legacy orchestrator (backward compatible) - <strong>Advanced</strong>: Magentic orchestrator (requires OpenAI API key) - <strong>Auto-detect</strong>: Chooses based on API key availability</p> <p><strong>Usage</strong>:</p> <h2 id=magentic-orchestrator>Magentic Orchestrator<a class=headerlink href=#magentic-orchestrator title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_magentic.py</code></p> <p><strong>Purpose</strong>: Multi-agent coordination using Microsoft Agent Framework</p> <p><strong>Features</strong>: - Uses <code>agent-framework-core</code> - ChatAgent pattern with internal LLMs per agent - <code>MagenticBuilder</code> with participants: searcher, hypothesizer, judge, reporter - Manager orchestrates agents via <code>OpenAIChatClient</code> - Requires OpenAI API key (function calling support) - Event-driven: converts Magentic events to <code>AgentEvent</code> for UI streaming</p> <p><strong>Requirements</strong>: - <code>agent-framework-core</code> package - OpenAI API key</p> <h2 id=hierarchical-orchestrator>Hierarchical Orchestrator<a class=headerlink href=#hierarchical-orchestrator title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_hierarchical.py</code></p> <p><strong>Purpose</strong>: Hierarchical orchestrator using middleware and sub-teams</p> <p><strong>Features</strong>: - Uses <code>SubIterationMiddleware</code> with <code>ResearchTeam</code> and <code>LLMSubIterationJudge</code> - Adapts Magentic ChatAgent to <code>SubIterationTeam</code> protocol - Event-driven via <code>asyncio.Queue</code> for coordination - Supports sub-iteration patterns for complex research tasks</p> <h2 id=legacy-simple-mode>Legacy Simple Mode<a class=headerlink href=#legacy-simple-mode title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/legacy_orchestrator.py</code></p> <p><strong>Purpose</strong>: Linear search-judge-synthesize loop</p> <p><strong>Features</strong>: - Uses <code>SearchHandlerProtocol</code> and <code>JudgeHandlerProtocol</code> - Generator-based design yielding <code>AgentEvent</code> objects - Backward compatibility for simple use cases</p> <h2 id=state-initialization>State Initialization<a class=headerlink href=#state-initialization title="Permanent link">¶</a></h2> <p>All orchestrators must initialize workflow state:</p> <h2 id=event-streaming>Event Streaming<a class=headerlink href=#event-streaming title="Permanent link">¶</a></h2> <p>All orchestrators yield <code>AgentEvent</code> objects:</p> <p><strong>Event Types</strong>: - <code>started</code>: Research started - <code>search_complete</code>: Search completed - <code>judge_complete</code>: Evidence evaluation completed - <code>hypothesizing</code>: Generating hypotheses - <code>synthesizing</code>: Synthesizing results - <code>complete</code>: Research completed - <code>error</code>: Error occurred</p> <p><strong>Event Structure</strong>:</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../graph-orchestration/ >Graph Orchestration</a> - Graph-based execution details</li> <li><a href=../graph_orchestration/ >Graph Orchestration (Detailed)</a> - Detailed graph architecture</li> <li><a href=../workflows/ >Workflows</a> - Workflow diagrams and patterns</li> <li><a href=../workflow-diagrams/ >Workflow Diagrams</a> - Detailed workflow diagrams</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/orchestrators/ rel=canonical><link href=../agents/ rel=prev><link href=../tools/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Orchestrators - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#orchestrators-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Orchestrators </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Orchestrators </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Orchestrators </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#research-flows class=md-nav__link> <span class=md-ellipsis> Research Flows </span> </a> <nav class=md-nav aria-label="Research Flows"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterativeresearchflow class=md-nav__link> <span class=md-ellipsis> IterativeResearchFlow </span> </a> </li> <li class=md-nav__item> <a href=#deepresearchflow class=md-nav__link> <span class=md-ellipsis> DeepResearchFlow </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#graph-orchestrator class=md-nav__link> <span class=md-ellipsis> Graph Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> </li> <li class=md-nav__item> <a href=#magentic-orchestrator class=md-nav__link> <span class=md-ellipsis> Magentic Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#hierarchical-orchestrator class=md-nav__link> <span class=md-ellipsis> Hierarchical Orchestrator </span> </a> </li> <li class=md-nav__item> <a href=#legacy-simple-mode class=md-nav__link> <span class=md-ellipsis> Legacy Simple Mode </span> </a> </li> <li class=md-nav__item> <a href=#state-initialization class=md-nav__link> <span class=md-ellipsis> State Initialization </span> </a> </li> <li class=md-nav__item> <a href=#event-streaming class=md-nav__link> <span class=md-ellipsis> Event Streaming </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=orchestrators-architecture>Orchestrators Architecture<a class=headerlink href=#orchestrators-architecture title="Anchor link to this section">¶</a></h1> <p>DeepCritical supports multiple orchestration patterns for research workflows.</p> <h2 id=research-flows>Research Flows<a class=headerlink href=#research-flows title="Anchor link to this section">¶</a></h2> <h3 id=iterativeresearchflow>IterativeResearchFlow<a class=headerlink href=#iterativeresearchflow title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/orchestrator/research_flow.py</code></p> <p><strong>Pattern</strong>: Generate observations → Evaluate gaps → Select tools → Execute → Judge → Continue/Complete</p> <p><strong>Agents Used</strong>: - <code>KnowledgeGapAgent</code>: Evaluates research completeness - <code>ToolSelectorAgent</code>: Selects tools for addressing gaps - <code>ThinkingAgent</code>: Generates observations - <code>WriterAgent</code>: Creates final report - <code>JudgeHandler</code>: Assesses evidence sufficiency</p> <p><strong>Features</strong>: - Tracks iterations, time, budget - Supports graph execution (<code>use_graph=True</code>) and agent chains (<code>use_graph=False</code>) - Iterates until research complete or constraints met</p> <p><strong>Usage</strong>:</p> <h3 id=deepresearchflow>DeepResearchFlow<a class=headerlink href=#deepresearchflow title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/orchestrator/research_flow.py</code></p> <p><strong>Pattern</strong>: Planner → Parallel iterative loops per section → Synthesizer</p> <p><strong>Agents Used</strong>: - <code>PlannerAgent</code>: Breaks query into report sections - <code>IterativeResearchFlow</code>: Per-section research (parallel) - <code>LongWriterAgent</code> or <code>ProofreaderAgent</code>: Final synthesis</p> <p><strong>Features</strong>: - Uses <code>WorkflowManager</code> for parallel execution - Budget tracking per section and globally - State synchronization across parallel loops - Supports graph execution and agent chains</p> <p><strong>Usage</strong>:</p> <h2 id=graph-orchestrator>Graph Orchestrator<a class=headerlink href=#graph-orchestrator title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator/graph_orchestrator.py</code></p> <p><strong>Purpose</strong>: Graph-based execution using Pydantic AI agents as nodes</p> <p><strong>Features</strong>: - Uses graph execution (<code>use_graph=True</code>) or agent chains (<code>use_graph=False</code>) as fallback - Routes based on research mode (iterative/deep/auto) - Streams <code>AgentEvent</code> objects for UI - Uses <code>GraphExecutionContext</code> to manage execution state</p> <p><strong>Node Types</strong>: - <strong>Agent Nodes</strong>: Execute Pydantic AI agents - <strong>State Nodes</strong>: Update or read workflow state - <strong>Decision Nodes</strong>: Make routing decisions - <strong>Parallel Nodes</strong>: Execute multiple nodes concurrently</p> <p><strong>Edge Types</strong>: - <strong>Sequential Edges</strong>: Always traversed - <strong>Conditional Edges</strong>: Traversed based on condition - <strong>Parallel Edges</strong>: Used for parallel execution branches</p> <p><strong>Special Node Handling</strong>:</p> <p>The <code>GraphOrchestrator</code> has special handling for certain nodes:</p> <ul> <li><strong><code>execute_tools</code> node</strong>: State node that uses <code>search_handler</code> to execute searches and add evidence to workflow state</li> <li><strong><code>parallel_loops</code> node</strong>: Parallel node that executes <code>IterativeResearchFlow</code> instances for each section in deep research mode</li> <li><strong><code>synthesizer</code> node</strong>: Agent node that calls <code>LongWriterAgent.write_report()</code> directly with <code>ReportDraft</code> instead of using <code>agent.run()</code></li> <li><strong><code>writer</code> node</strong>: Agent node that calls <code>WriterAgent.write_report()</code> directly with findings instead of using <code>agent.run()</code></li> </ul> <p><strong>GraphExecutionContext</strong>:</p> <p>The orchestrator uses <code>GraphExecutionContext</code> to manage execution state: - Tracks current node, visited nodes, and node results - Manages workflow state and budget tracker - Provides methods to store and retrieve node execution results</p> <h2 id=orchestrator-factory>Orchestrator Factory<a class=headerlink href=#orchestrator-factory title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_factory.py</code></p> <p><strong>Purpose</strong>: Factory for creating orchestrators</p> <p><strong>Modes</strong>: - <strong>Simple</strong>: Legacy orchestrator (backward compatible) - <strong>Advanced</strong>: Magentic orchestrator (requires OpenAI API key) - <strong>Auto-detect</strong>: Chooses based on API key availability</p> <p><strong>Usage</strong>:</p> <h2 id=magentic-orchestrator>Magentic Orchestrator<a class=headerlink href=#magentic-orchestrator title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_magentic.py</code></p> <p><strong>Purpose</strong>: Multi-agent coordination using Microsoft Agent Framework</p> <p><strong>Features</strong>: - Uses <code>agent-framework-core</code> - ChatAgent pattern with internal LLMs per agent - <code>MagenticBuilder</code> with participants: - <code>searcher</code>: SearchAgent (wraps SearchHandler) - <code>hypothesizer</code>: HypothesisAgent (generates hypotheses) - <code>judge</code>: JudgeAgent (evaluates evidence) - <code>reporter</code>: ReportAgent (generates final report) - Manager orchestrates agents via chat client (OpenAI or HuggingFace) - Event-driven: converts Magentic events to <code>AgentEvent</code> for UI streaming via <code>_process_event()</code> method - Supports max rounds, stall detection, and reset handling</p> <p><strong>Event Processing</strong>:</p> <p>The orchestrator processes Magentic events and converts them to <code>AgentEvent</code>: - <code>MagenticOrchestratorMessageEvent</code> → <code>AgentEvent</code> with type based on message content - <code>MagenticAgentMessageEvent</code> → <code>AgentEvent</code> with type based on agent name - <code>MagenticAgentDeltaEvent</code> → <code>AgentEvent</code> for streaming updates - <code>MagenticFinalResultEvent</code> → <code>AgentEvent</code> with type "complete"</p> <p><strong>Requirements</strong>: - <code>agent-framework-core</code> package - OpenAI API key or HuggingFace authentication</p> <h2 id=hierarchical-orchestrator>Hierarchical Orchestrator<a class=headerlink href=#hierarchical-orchestrator title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/orchestrator_hierarchical.py</code></p> <p><strong>Purpose</strong>: Hierarchical orchestrator using middleware and sub-teams</p> <p><strong>Features</strong>: - Uses <code>SubIterationMiddleware</code> with <code>ResearchTeam</code> and <code>LLMSubIterationJudge</code> - Adapts Magentic ChatAgent to <code>SubIterationTeam</code> protocol - Event-driven via <code>asyncio.Queue</code> for coordination - Supports sub-iteration patterns for complex research tasks</p> <h2 id=legacy-simple-mode>Legacy Simple Mode<a class=headerlink href=#legacy-simple-mode title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/legacy_orchestrator.py</code></p> <p><strong>Purpose</strong>: Linear search-judge-synthesize loop</p> <p><strong>Features</strong>: - Uses <code>SearchHandlerProtocol</code> and <code>JudgeHandlerProtocol</code> - Generator-based design yielding <code>AgentEvent</code> objects - Backward compatibility for simple use cases</p> <h2 id=state-initialization>State Initialization<a class=headerlink href=#state-initialization title="Anchor link to this section">¶</a></h2> <p>All orchestrators must initialize workflow state:</p> <h2 id=event-streaming>Event Streaming<a class=headerlink href=#event-streaming title="Anchor link to this section">¶</a></h2> <p>All orchestrators yield <code>AgentEvent</code> objects:</p> <p><strong>Event Types</strong>: - <code>started</code>: Research started - <code>searching</code>: Search in progress - <code>search_complete</code>: Search completed - <code>judging</code>: Evidence evaluation in progress - <code>judge_complete</code>: Evidence evaluation completed - <code>looping</code>: Iteration in progress - <code>hypothesizing</code>: Generating hypotheses - <code>analyzing</code>: Statistical analysis in progress - <code>analysis_complete</code>: Statistical analysis completed - <code>synthesizing</code>: Synthesizing results - <code>complete</code>: Research completed - <code>error</code>: Error occurred - <code>streaming</code>: Streaming update (delta events)</p> <p><strong>Event Structure</strong>:</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../graph_orchestration/ >Graph Orchestration</a> - Graph-based execution details</li> <li><a href=../workflow-diagrams/ >Workflow Diagrams</a> - Detailed workflow diagrams</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 22:24:36 UTC"><span class=timeago datetime=2025-11-29T22:24:36+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 22:24:36 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/services/index.html
CHANGED
|
@@ -1,29 +1,30 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/services/ rel=canonical><link href=../middleware/ rel=prev><link href=../../api/agents/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Services - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#services-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Services </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Services </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Services </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embedding-service class=md-nav__link> <span class=md-ellipsis> Embedding Service </span> </a> </li> <li class=md-nav__item> <a href=#llamaindex-rag-service class=md-nav__link> <span class=md-ellipsis> LlamaIndex RAG Service </span> </a> </li> <li class=md-nav__item> <a href=#statistical-analyzer class=md-nav__link> <span class=md-ellipsis> Statistical Analyzer </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#service-availability class=md-nav__link> <span class=md-ellipsis> Service Availability </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embedding-service class=md-nav__link> <span class=md-ellipsis> Embedding Service </span> </a> </li> <li class=md-nav__item> <a href=#llamaindex-rag-service class=md-nav__link> <span class=md-ellipsis> LlamaIndex RAG Service </span> </a> </li> <li class=md-nav__item> <a href=#statistical-analyzer class=md-nav__link> <span class=md-ellipsis> Statistical Analyzer </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#service-availability class=md-nav__link> <span class=md-ellipsis> Service Availability </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=services-architecture>Services Architecture<a class=headerlink href=#services-architecture title="Permanent link">¶</a></h1> <p>DeepCritical provides several services for embeddings, RAG, and statistical analysis.</p> <h2 id=embedding-service>Embedding Service<a class=headerlink href=#embedding-service title="Permanent link">¶</a></h2> <p><strong>File</strong>: <code>src/services/embeddings.py</code></p> <p><strong>Purpose</strong>: Local sentence-transformers for semantic search and deduplication</p> <p><strong>Features</strong>: - <strong>No API Key Required</strong>: Uses local sentence-transformers models - <strong>Async-Safe</strong>: All operations use <code>run_in_executor()</code> to avoid blocking - <strong>ChromaDB Storage</strong>: Vector storage for embeddings - <strong>Deduplication</strong>: 0.85 similarity threshold (85% similarity = duplicate)</p> <p><strong>Model</strong>: Configurable via <code>settings.local_embedding_model</code> (default: <code>all-MiniLM-L6-v2</code>)</p> <p><strong>Methods</strong>: - <code>async def embed(text: str) -> list[float]</code>: Generate embeddings - <code>async def embed_batch(texts: list[str]) -> list[list[float]]</code>: Batch embedding - <code>async def similarity(text1: str, text2: str) -> float</code>: Calculate similarity - <code>async def find_duplicates(texts: list[str], threshold: float = 0.85) -> list[tuple[int, int]]</code>: Find duplicates</p> <p><strong>Usage</strong>: <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.services.embeddings</span><span class=w> </span><span class=kn>import</span> <span class=n>get_embedding_service</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=n>service</span> <span class=o>=</span> <span class=n>get_embedding_service</span><span class=p>()</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=n>embedding</span> <span class=o>=</span> <span class=k>await</span> <span class=n>service</span><span class=o>.</span><span class=n>embed</span><span class=p>(</span><span class=s2>"text to embed"</span><span class=p>)</span>
|
| 5 |
-
</code></pre></div></p> <h2 id=llamaindex-rag-service>LlamaIndex RAG Service<a class=headerlink href=#llamaindex-rag-service title="
|
| 6 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>
|
| 7 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>service</span> <span class=o>=</span> <span class=n>get_rag_service</span><span class=p>(
|
| 8 |
-
<a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=
|
| 9 |
-
<a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=n>
|
| 10 |
-
</
|
| 11 |
-
<a id=__codelineno-
|
| 12 |
-
<a id=__codelineno-
|
| 13 |
-
<a id=__codelineno-
|
| 14 |
-
<a id=__codelineno-2-
|
| 15 |
-
<a id=__codelineno-2-
|
| 16 |
-
<a id=__codelineno-2-
|
| 17 |
-
</
|
| 18 |
-
<a id=__codelineno-
|
| 19 |
-
<a id=__codelineno-
|
| 20 |
-
</
|
| 21 |
-
<a id=__codelineno-
|
| 22 |
-
<a id=__codelineno-
|
| 23 |
-
<a id=__codelineno-
|
| 24 |
-
<a id=__codelineno-
|
| 25 |
-
<a id=__codelineno-
|
| 26 |
-
<a id=__codelineno-
|
| 27 |
-
<a id=__codelineno-
|
| 28 |
-
<a id=__codelineno-
|
| 29 |
-
</
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/services/ rel=canonical><link href=../middleware/ rel=prev><link href=../../api/agents/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Services - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#services-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Services </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Services </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Services </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#embedding-service class=md-nav__link> <span class=md-ellipsis> Embedding Service </span> </a> </li> <li class=md-nav__item> <a href=#llamaindex-rag-service class=md-nav__link> <span class=md-ellipsis> LlamaIndex RAG Service </span> </a> </li> <li class=md-nav__item> <a href=#statistical-analyzer class=md-nav__link> <span class=md-ellipsis> Statistical Analyzer </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#service-availability class=md-nav__link> <span class=md-ellipsis> Service Availability </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=services-architecture>Services Architecture<a class=headerlink href=#services-architecture title="Anchor link to this section">¶</a></h1> <p>DeepCritical provides several services for embeddings, RAG, and statistical analysis.</p> <h2 id=embedding-service>Embedding Service<a class=headerlink href=#embedding-service title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/services/embeddings.py</code></p> <p><strong>Purpose</strong>: Local sentence-transformers for semantic search and deduplication</p> <p><strong>Features</strong>: - <strong>No API Key Required</strong>: Uses local sentence-transformers models - <strong>Async-Safe</strong>: All operations use <code>run_in_executor()</code> to avoid blocking the event loop - <strong>ChromaDB Storage</strong>: In-memory vector storage for embeddings - <strong>Deduplication</strong>: 0.9 similarity threshold by default (90% similarity = duplicate, configurable)</p> <p><strong>Model</strong>: Configurable via <code>settings.local_embedding_model</code> (default: <code>all-MiniLM-L6-v2</code>)</p> <p><strong>Methods</strong>: - <code>async def embed(text: str) -> list[float]</code>: Generate embeddings (async-safe via <code>run_in_executor()</code>) - <code>async def embed_batch(texts: list[str]) -> list[list[float]]</code>: Batch embedding (more efficient) - <code>async def add_evidence(evidence_id: str, content: str, metadata: dict[str, Any]) -> None</code>: Add evidence to vector store - <code>async def search_similar(query: str, n_results: int = 5) -> list[dict[str, Any]]</code>: Find semantically similar evidence - <code>async def deduplicate(new_evidence: list[Evidence], threshold: float = 0.9) -> list[Evidence]</code>: Remove semantically duplicate evidence</p> <p><strong>Usage</strong>: <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.services.embeddings</span><span class=w> </span><span class=kn>import</span> <span class=n>get_embedding_service</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=n>service</span> <span class=o>=</span> <span class=n>get_embedding_service</span><span class=p>()</span>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=n>embedding</span> <span class=o>=</span> <span class=k>await</span> <span class=n>service</span><span class=o>.</span><span class=n>embed</span><span class=p>(</span><span class=s2>"text to embed"</span><span class=p>)</span>
|
| 5 |
+
</span></code></pre></div></p> <h2 id=llamaindex-rag-service>LlamaIndex RAG Service<a class=headerlink href=#llamaindex-rag-service title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/services/llamaindex_rag.py</code></p> <p><strong>Purpose</strong>: Retrieval-Augmented Generation using LlamaIndex</p> <p><strong>Features</strong>: - <strong>Multiple Embedding Providers</strong>: OpenAI embeddings (requires <code>OPENAI_API_KEY</code>) or local sentence-transformers (no API key) - <strong>Multiple LLM Providers</strong>: HuggingFace LLM (preferred) or OpenAI LLM (fallback) for query synthesis - <strong>ChromaDB Storage</strong>: Vector database for document storage (supports in-memory mode) - <strong>Metadata Preservation</strong>: Preserves source, title, URL, date, authors - <strong>Lazy Initialization</strong>: Graceful fallback if dependencies not available</p> <p><strong>Initialization Parameters</strong>: - <code>use_openai_embeddings: bool | None</code>: Force OpenAI embeddings (None = auto-detect) - <code>use_in_memory: bool</code>: Use in-memory ChromaDB client (useful for tests) - <code>oauth_token: str | None</code>: Optional OAuth token from HuggingFace login (takes priority over env vars)</p> <p><strong>Methods</strong>: - <code>async def ingest_evidence(evidence: list[Evidence]) -> None</code>: Ingest evidence into RAG - <code>async def retrieve(query: str, top_k: int = 5) -> list[Document]</code>: Retrieve relevant documents - <code>async def query(query: str, top_k: int = 5) -> str</code>: Query with RAG</p> <p><strong>Usage</strong>: <div class="language-python highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.services.llamaindex_rag</span><span class=w> </span><span class=kn>import</span> <span class=n>get_rag_service</span>
|
| 6 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>
|
| 7 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>service</span> <span class=o>=</span> <span class=n>get_rag_service</span><span class=p>(</span>
|
| 8 |
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a> <span class=n>use_openai_embeddings</span><span class=o>=</span><span class=kc>False</span><span class=p>,</span> <span class=c1># Use local embeddings</span>
|
| 9 |
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a> <span class=n>use_in_memory</span><span class=o>=</span><span class=kc>True</span><span class=p>,</span> <span class=c1># Use in-memory ChromaDB</span>
|
| 10 |
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a> <span class=n>oauth_token</span><span class=o>=</span><span class=n>token</span> <span class=c1># Optional HuggingFace token</span>
|
| 11 |
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=p>)</span>
|
| 12 |
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=k>if</span> <span class=n>service</span><span class=p>:</span>
|
| 13 |
+
</span><span id=__span-1-9><a id=__codelineno-1-9 name=__codelineno-1-9 href=#__codelineno-1-9></a> <span class=n>documents</span> <span class=o>=</span> <span class=k>await</span> <span class=n>service</span><span class=o>.</span><span class=n>retrieve</span><span class=p>(</span><span class=s2>"query"</span><span class=p>,</span> <span class=n>top_k</span><span class=o>=</span><span class=mi>5</span><span class=p>)</span>
|
| 14 |
+
</span></code></pre></div></p> <h2 id=statistical-analyzer>Statistical Analyzer<a class=headerlink href=#statistical-analyzer title="Anchor link to this section">¶</a></h2> <p><strong>File</strong>: <code>src/services/statistical_analyzer.py</code></p> <p><strong>Purpose</strong>: Secure execution of AI-generated statistical code</p> <p><strong>Features</strong>: - <strong>Modal Sandbox</strong>: Secure, isolated execution environment - <strong>Code Generation</strong>: Generates Python code via LLM - <strong>Library Pinning</strong>: Version-pinned libraries in <code>SANDBOX_LIBRARIES</code> - <strong>Network Isolation</strong>: <code>block_network=True</code> by default</p> <p><strong>Libraries Available</strong>: - pandas, numpy, scipy - matplotlib, scikit-learn - statsmodels</p> <p><strong>Output</strong>: <code>AnalysisResult</code> with: - <code>verdict</code>: SUPPORTED, REFUTED, or INCONCLUSIVE - <code>code</code>: Generated analysis code - <code>output</code>: Execution output - <code>error</code>: Error message if execution failed</p> <p><strong>Usage</strong>: <div class="language-python highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.services.statistical_analyzer</span><span class=w> </span><span class=kn>import</span> <span class=n>StatisticalAnalyzer</span>
|
| 15 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>
|
| 16 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=n>analyzer</span> <span class=o>=</span> <span class=n>StatisticalAnalyzer</span><span class=p>()</span>
|
| 17 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=n>result</span> <span class=o>=</span> <span class=k>await</span> <span class=n>analyzer</span><span class=o>.</span><span class=n>analyze</span><span class=p>(</span>
|
| 18 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a> <span class=n>hypothesis</span><span class=o>=</span><span class=s2>"Metformin reduces cancer risk"</span><span class=p>,</span>
|
| 19 |
+
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a> <span class=n>evidence</span><span class=o>=</span><span class=n>evidence_list</span>
|
| 20 |
+
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a><span class=p>)</span>
|
| 21 |
+
</span></code></pre></div></p> <h2 id=singleton-pattern>Singleton Pattern<a class=headerlink href=#singleton-pattern title="Anchor link to this section">¶</a></h2> <p>Services use singleton patterns for lazy initialization:</p> <p><strong>EmbeddingService</strong>: Uses a global variable pattern:</p> <p><strong>LlamaIndexRAGService</strong>: Direct instantiation (no caching):</p> <p>This ensures: - Single instance per process - Lazy initialization - No dependencies required at import time</p> <h2 id=service-availability>Service Availability<a class=headerlink href=#service-availability title="Anchor link to this section">¶</a></h2> <p>Services check availability before use:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.config</span><span class=w> </span><span class=kn>import</span> <span class=n>settings</span>
|
| 22 |
+
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a>
|
| 23 |
+
</span><span id=__span-3-3><a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>modal_available</span><span class=p>:</span>
|
| 24 |
+
</span><span id=__span-3-4><a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a> <span class=c1># Use Modal sandbox</span>
|
| 25 |
+
</span><span id=__span-3-5><a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a> <span class=k>pass</span>
|
| 26 |
+
</span><span id=__span-3-6><a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a>
|
| 27 |
+
</span><span id=__span-3-7><a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_openai_key</span><span class=p>:</span>
|
| 28 |
+
</span><span id=__span-3-8><a id=__codelineno-3-8 name=__codelineno-3-8 href=#__codelineno-3-8></a> <span class=c1># Use OpenAI embeddings for RAG</span>
|
| 29 |
+
</span><span id=__span-3-9><a id=__codelineno-3-9 name=__codelineno-3-9 href=#__codelineno-3-9></a> <span class=k>pass</span>
|
| 30 |
+
</span></code></pre></div> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../tools/ >Tools</a> - How services are used by search tools</li> <li><a href=../../api/services/ >API Reference - Services</a> - API documentation</li> <li><a href=../../configuration/ >Configuration</a> - Service configuration</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/tools/index.html
CHANGED
|
@@ -1,18 +1,19 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/tools/ rel=canonical><link href=../orchestrators/ rel=prev><link href=../middleware/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Tools - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#tools-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Tools </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Tools </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Tools </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#searchtool-protocol class=md-nav__link> <span class=md-ellipsis> SearchTool Protocol </span> </a> </li> <li class=md-nav__item> <a href=#rate-limiting class=md-nav__link> <span class=md-ellipsis> Rate Limiting </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#query-preprocessing class=md-nav__link> <span class=md-ellipsis> Query Preprocessing </span> </a> </li> <li class=md-nav__item> <a href=#evidence-conversion class=md-nav__link> <span class=md-ellipsis> Evidence Conversion </span> </a> </li> <li class=md-nav__item> <a href=#tool-implementations class=md-nav__link> <span class=md-ellipsis> Tool Implementations </span> </a> <nav class=md-nav aria-label="Tool Implementations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pubmed-tool class=md-nav__link> <span class=md-ellipsis> PubMed Tool </span> </a> </li> <li class=md-nav__item> <a href=#clinicaltrials-tool class=md-nav__link> <span class=md-ellipsis> ClinicalTrials Tool </span> </a> </li> <li class=md-nav__item> <a href=#europe-pmc-tool class=md-nav__link> <span class=md-ellipsis> Europe PMC Tool </span> </a> </li> <li class=md-nav__item> <a href=#rag-tool class=md-nav__link> <span class=md-ellipsis> RAG Tool </span> </a> </li> <li class=md-nav__item> <a href=#search-handler class=md-nav__link> <span class=md-ellipsis> Search Handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#tool-registration class=md-nav__link> <span class=md-ellipsis> Tool Registration </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#searchtool-protocol class=md-nav__link> <span class=md-ellipsis> SearchTool Protocol </span> </a> </li> <li class=md-nav__item> <a href=#rate-limiting class=md-nav__link> <span class=md-ellipsis> Rate Limiting </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#query-preprocessing class=md-nav__link> <span class=md-ellipsis> Query Preprocessing </span> </a> </li> <li class=md-nav__item> <a href=#evidence-conversion class=md-nav__link> <span class=md-ellipsis> Evidence Conversion </span> </a> </li> <li class=md-nav__item> <a href=#tool-implementations class=md-nav__link> <span class=md-ellipsis> Tool Implementations </span> </a> <nav class=md-nav aria-label="Tool Implementations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pubmed-tool class=md-nav__link> <span class=md-ellipsis> PubMed Tool </span> </a> </li> <li class=md-nav__item> <a href=#clinicaltrials-tool class=md-nav__link> <span class=md-ellipsis> ClinicalTrials Tool </span> </a> </li> <li class=md-nav__item> <a href=#europe-pmc-tool class=md-nav__link> <span class=md-ellipsis> Europe PMC Tool </span> </a> </li> <li class=md-nav__item> <a href=#rag-tool class=md-nav__link> <span class=md-ellipsis> RAG Tool </span> </a> </li> <li class=md-nav__item> <a href=#search-handler class=md-nav__link> <span class=md-ellipsis> Search Handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#tool-registration class=md-nav__link> <span class=md-ellipsis> Tool Registration </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=tools-architecture>Tools Architecture<a class=headerlink href=#tools-architecture title="Permanent link">¶</a></h1> <p>DeepCritical implements a protocol-based search tool system for retrieving evidence from multiple sources.</p> <h2 id=searchtool-protocol>SearchTool Protocol<a class=headerlink href=#searchtool-protocol title="Permanent link">¶</a></h2> <p>All tools implement the <code>SearchTool</code> protocol from <code>src/tools/base.py</code>:</p> <h2 id=rate-limiting>Rate Limiting<a class=headerlink href=#rate-limiting title="Permanent link">¶</a></h2> <p>All tools use the <code>@retry</code> decorator from tenacity:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nd>@retry</span><span class=p>(</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
-
</
|
| 8 |
-
<a id=__codelineno-
|
| 9 |
-
<a id=__codelineno-
|
| 10 |
-
<a id=__codelineno-
|
| 11 |
-
<a id=__codelineno-
|
| 12 |
-
<a id=__codelineno-
|
| 13 |
-
<a id=__codelineno-
|
| 14 |
-
<a id=__codelineno-
|
| 15 |
-
<a id=__codelineno-
|
| 16 |
-
<a id=__codelineno-
|
| 17 |
-
<a id=__codelineno-
|
| 18 |
-
</
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/architecture/tools/ rel=canonical><link href=../orchestrators/ rel=prev><link href=../middleware/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Tools - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#tools-architecture class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Tools </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_5 checked> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=true> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Tools </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Tools </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#searchtool-protocol class=md-nav__link> <span class=md-ellipsis> SearchTool Protocol </span> </a> </li> <li class=md-nav__item> <a href=#rate-limiting class=md-nav__link> <span class=md-ellipsis> Rate Limiting </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#query-preprocessing class=md-nav__link> <span class=md-ellipsis> Query Preprocessing </span> </a> </li> <li class=md-nav__item> <a href=#evidence-conversion class=md-nav__link> <span class=md-ellipsis> Evidence Conversion </span> </a> </li> <li class=md-nav__item> <a href=#tool-implementations class=md-nav__link> <span class=md-ellipsis> Tool Implementations </span> </a> <nav class=md-nav aria-label="Tool Implementations"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#pubmed-tool class=md-nav__link> <span class=md-ellipsis> PubMed Tool </span> </a> </li> <li class=md-nav__item> <a href=#clinicaltrials-tool class=md-nav__link> <span class=md-ellipsis> ClinicalTrials Tool </span> </a> </li> <li class=md-nav__item> <a href=#europe-pmc-tool class=md-nav__link> <span class=md-ellipsis> Europe PMC Tool </span> </a> </li> <li class=md-nav__item> <a href=#rag-tool class=md-nav__link> <span class=md-ellipsis> RAG Tool </span> </a> </li> <li class=md-nav__item> <a href=#search-handler class=md-nav__link> <span class=md-ellipsis> Search Handler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#tool-registration class=md-nav__link> <span class=md-ellipsis> Tool Registration </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=tools-architecture>Tools Architecture<a class=headerlink href=#tools-architecture title="Anchor link to this section">¶</a></h1> <p>DeepCritical implements a protocol-based search tool system for retrieving evidence from multiple sources.</p> <h2 id=searchtool-protocol>SearchTool Protocol<a class=headerlink href=#searchtool-protocol title="Anchor link to this section">¶</a></h2> <p>All tools implement the <code>SearchTool</code> protocol from <code>src/tools/base.py</code>:</p> <h2 id=rate-limiting>Rate Limiting<a class=headerlink href=#rate-limiting title="Anchor link to this section">¶</a></h2> <p>All tools use the <code>@retry</code> decorator from tenacity:</p> <p>Tools with API rate limits implement <code>_rate_limit()</code> method and use shared rate limiters from <code>src/tools/rate_limiter.py</code>.</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Anchor link to this section">¶</a></h2> <p>Tools raise custom exceptions:</p> <ul> <li><code>SearchError</code>: General search failures</li> <li><code>RateLimitError</code>: Rate limit exceeded</li> </ul> <p>Tools handle HTTP errors (429, 500, timeout) and return empty lists on non-critical errors (with warning logs).</p> <h2 id=query-preprocessing>Query Preprocessing<a class=headerlink href=#query-preprocessing title="Anchor link to this section">¶</a></h2> <p>Tools use <code>preprocess_query()</code> from <code>src/tools/query_utils.py</code> to:</p> <ul> <li>Remove noise from queries</li> <li>Expand synonyms</li> <li>Normalize query format</li> </ul> <h2 id=evidence-conversion>Evidence Conversion<a class=headerlink href=#evidence-conversion title="Anchor link to this section">¶</a></h2> <p>All tools convert API responses to <code>Evidence</code> objects with:</p> <ul> <li><code>Citation</code>: Title, URL, date, authors</li> <li><code>content</code>: Evidence text</li> <li><code>relevance_score</code>: 0.0-1.0 relevance score</li> <li><code>metadata</code>: Additional metadata</li> </ul> <p>Missing fields are handled gracefully with defaults.</p> <h2 id=tool-implementations>Tool Implementations<a class=headerlink href=#tool-implementations title="Anchor link to this section">¶</a></h2> <h3 id=pubmed-tool>PubMed Tool<a class=headerlink href=#pubmed-tool title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/tools/pubmed.py</code></p> <p><strong>API</strong>: NCBI E-utilities (ESearch → EFetch)</p> <p><strong>Rate Limiting</strong>: - 0.34s between requests (3 req/sec without API key) - 0.1s between requests (10 req/sec with NCBI API key)</p> <p><strong>Features</strong>: - XML parsing with <code>xmltodict</code> - Handles single vs. multiple articles - Query preprocessing - Evidence conversion with metadata extraction</p> <h3 id=clinicaltrials-tool>ClinicalTrials Tool<a class=headerlink href=#clinicaltrials-tool title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/tools/clinicaltrials.py</code></p> <p><strong>API</strong>: ClinicalTrials.gov API v2</p> <p><strong>Important</strong>: Uses <code>requests</code> library (NOT httpx) because WAF blocks httpx TLS fingerprint.</p> <p><strong>Execution</strong>: Runs in thread pool: <code>await asyncio.to_thread(requests.get, ...)</code></p> <p><strong>Filtering</strong>: - Only interventional studies - Status: <code>COMPLETED</code>, <code>ACTIVE_NOT_RECRUITING</code>, <code>RECRUITING</code>, <code>ENROLLING_BY_INVITATION</code></p> <p><strong>Features</strong>: - Parses nested JSON structure - Extracts trial metadata - Evidence conversion</p> <h3 id=europe-pmc-tool>Europe PMC Tool<a class=headerlink href=#europe-pmc-tool title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/tools/europepmc.py</code></p> <p><strong>API</strong>: Europe PMC REST API</p> <p><strong>Features</strong>: - Handles preprint markers: <code>[PREPRINT - Not peer-reviewed]</code> - Builds URLs from DOI or PMID - Checks <code>pubTypeList</code> for preprint detection - Includes both preprints and peer-reviewed articles</p> <h3 id=rag-tool>RAG Tool<a class=headerlink href=#rag-tool title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/tools/rag_tool.py</code></p> <p><strong>Purpose</strong>: Semantic search within collected evidence</p> <p><strong>Implementation</strong>: Wraps <code>LlamaIndexRAGService</code></p> <p><strong>Features</strong>: - Returns Evidence from RAG results - Handles evidence ingestion - Semantic similarity search - Metadata preservation</p> <h3 id=search-handler>Search Handler<a class=headerlink href=#search-handler title="Anchor link to this section">¶</a></h3> <p><strong>File</strong>: <code>src/tools/search_handler.py</code></p> <p><strong>Purpose</strong>: Orchestrates parallel searches across multiple tools</p> <p><strong>Initialization Parameters</strong>: - <code>tools: list[SearchTool]</code>: List of search tools to use - <code>timeout: float = 30.0</code>: Timeout for each search in seconds - <code>include_rag: bool = False</code>: Whether to include RAG tool in searches - <code>auto_ingest_to_rag: bool = True</code>: Whether to automatically ingest results into RAG - <code>oauth_token: str | None = None</code>: Optional OAuth token from HuggingFace login (for RAG LLM)</p> <p><strong>Methods</strong>: - <code>async def execute(query: str, max_results_per_tool: int = 10) -> SearchResult</code>: Execute search across all tools in parallel</p> <p><strong>Features</strong>: - Uses <code>asyncio.gather()</code> with <code>return_exceptions=True</code> for parallel execution - Aggregates results into <code>SearchResult</code> with evidence and metadata - Handles tool failures gracefully (continues with other tools) - Deduplicates results by URL - Automatically ingests results into RAG if <code>auto_ingest_to_rag=True</code> - Can add RAG tool dynamically via <code>add_rag_tool()</code> method</p> <h2 id=tool-registration>Tool Registration<a class=headerlink href=#tool-registration title="Anchor link to this section">¶</a></h2> <p>Tools are registered in the search handler:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.pubmed</span><span class=w> </span><span class=kn>import</span> <span class=n>PubMedTool</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.clinicaltrials</span><span class=w> </span><span class=kn>import</span> <span class=n>ClinicalTrialsTool</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.europepmc</span><span class=w> </span><span class=kn>import</span> <span class=n>EuropePMCTool</span>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.search_handler</span><span class=w> </span><span class=kn>import</span> <span class=n>SearchHandler</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a><span class=n>search_handler</span> <span class=o>=</span> <span class=n>SearchHandler</span><span class=p>(</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=n>tools</span><span class=o>=</span><span class=p>[</span>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a> <span class=n>PubMedTool</span><span class=p>(),</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a> <span class=n>ClinicalTrialsTool</span><span class=p>(),</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a> <span class=n>EuropePMCTool</span><span class=p>(),</span>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a> <span class=p>],</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a> <span class=n>include_rag</span><span class=o>=</span><span class=kc>True</span><span class=p>,</span> <span class=c1># Include RAG tool for semantic search</span>
|
| 13 |
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a> <span class=n>auto_ingest_to_rag</span><span class=o>=</span><span class=kc>True</span><span class=p>,</span> <span class=c1># Automatically ingest results into RAG</span>
|
| 14 |
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a> <span class=n>oauth_token</span><span class=o>=</span><span class=n>token</span> <span class=c1># Optional HuggingFace token for RAG LLM</span>
|
| 15 |
+
</span><span id=__span-0-15><a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a><span class=p>)</span>
|
| 16 |
+
</span><span id=__span-0-16><a id=__codelineno-0-16 name=__codelineno-0-16 href=#__codelineno-0-16></a>
|
| 17 |
+
</span><span id=__span-0-17><a id=__codelineno-0-17 name=__codelineno-0-17 href=#__codelineno-0-17></a><span class=c1># Execute search</span>
|
| 18 |
+
</span><span id=__span-0-18><a id=__codelineno-0-18 name=__codelineno-0-18 href=#__codelineno-0-18></a><span class=n>result</span> <span class=o>=</span> <span class=k>await</span> <span class=n>search_handler</span><span class=o>.</span><span class=n>execute</span><span class=p>(</span><span class=s2>"query"</span><span class=p>,</span> <span class=n>max_results_per_tool</span><span class=o>=</span><span class=mi>10</span><span class=p>)</span>
|
| 19 |
+
</span></code></pre></div> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../services/ >Services</a> - RAG and embedding services</li> <li><a href=../../api/tools/ >API Reference - Tools</a> - API documentation</li> <li><a href=../../contributing/implementation-patterns/ >Contributing - Implementation Patterns</a> - Development guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/architecture/workflow-diagrams/index.html
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
<!DOCTYPE html><html class=no-js lang=en> <head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><meta content="Generalist Deep Research Agent that Stops at Nothing" name=description><meta content="The DETERMINATOR Team" name=author><link href=https://deepcritical.github.io/GradioDemo/architecture/workflow-diagrams/ rel=canonical><link href=../graph_orchestration/ rel=prev><link href=../agents/ rel=next><link href=../../assets/images/favicon.png rel=icon><meta content="mkdocs-1.6.1, mkdocs-material-9.7.0" name=generator><title>Workflow Diagrams - The DETERMINATOR</title><link href=../../assets/stylesheets/main.618322db.min.css rel=stylesheet><link href=../../assets/stylesheets/palette.ab4e12ef.min.css rel=stylesheet><link crossorigin href=https://fonts.gstatic.com rel=preconnect><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel=stylesheet><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body data-md-color-accent=red data-md-color-primary=orange data-md-color-scheme=default dir=ltr> <input autocomplete=off class=md-toggle data-md-toggle=drawer id=__drawer type=checkbox> <input autocomplete=off class=md-toggle data-md-toggle=search id=__search type=checkbox> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a class=md-skip href=#deepcritical-workflow-simplified-magentic-architecture> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav aria-label=Header class="md-header__inner md-grid"> <a aria-label="The DETERMINATOR" class="md-header__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Workflow Diagrams </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input aria-label="Switch to dark mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=default id=__palette_0 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_1 hidden title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to light mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=slate id=__palette_1 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_0 hidden title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input aria-label=Search autocapitalize=off autocomplete=off autocorrect=off class=md-search__input data-md-component=search-query name=query placeholder=Search required spellcheck=false type=text> <label class="md-search__icon md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label=Search class=md-search__options> <button aria-label=Clear class="md-search__icon md-icon" tabindex=-1 title=Clear type=reset> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix tabindex=0> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav aria-label=Tabs class=md-tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a class=md-tabs__link href=../..> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label=Navigation class="md-nav md-nav--primary md-nav--lifted" data-md-level=0> <label class=md-nav__title for=__drawer> <a aria-label="The DETERMINATOR" class="md-nav__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=../..> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_2 type=checkbox> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_2_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_3 type=checkbox> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_3_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_4 type=checkbox> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_4_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input checked class="md-nav__toggle md-toggle" id=__nav_5 type=checkbox> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=true aria-labelledby=__nav_5_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" id=__toc type=checkbox> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Workflow Diagrams </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Workflow Diagrams </span> </a> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#1-high-level-magentic-workflow> <span class=md-ellipsis> 1. High-Level Magentic Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#2-magentic-manager-the-6-phase-cycle> <span class=md-ellipsis> 2. Magentic Manager: The 6-Phase Cycle </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#3-simplified-agent-architecture> <span class=md-ellipsis> 3. Simplified Agent Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#4-dynamic-workflow-example> <span class=md-ellipsis> 4. Dynamic Workflow Example </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#5-manager-decision-logic> <span class=md-ellipsis> 5. Manager Decision Logic </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#6-hypothesis-agent-workflow> <span class=md-ellipsis> 6. Hypothesis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#7-search-agent-workflow> <span class=md-ellipsis> 7. Search Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#8-analysis-agent-workflow> <span class=md-ellipsis> 8. Analysis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#9-report-agent-workflow> <span class=md-ellipsis> 9. Report Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#10-data-flow-event-streaming> <span class=md-ellipsis> 10. Data Flow & Event Streaming </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#11-mcp-tool-architecture> <span class=md-ellipsis> 11. MCP Tool Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#12-progress-tracking-stall-detection> <span class=md-ellipsis> 12. Progress Tracking & Stall Detection </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#13-gradio-ui-integration> <span class=md-ellipsis> 13. Gradio UI Integration </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#14-complete-system-context> <span class=md-ellipsis> 14. Complete System Context </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#15-workflow-timeline-simplified> <span class=md-ellipsis> 15. Workflow Timeline (Simplified) </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#key-differences-from-original-design> <span class=md-ellipsis> Key Differences from Original Design </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#simplified-design-principles> <span class=md-ellipsis> Simplified Design Principles </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#legend> <span class=md-ellipsis> Legend </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#implementation-highlights> <span class=md-ellipsis> Implementation Highlights </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_6 type=checkbox> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_6_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_7 type=checkbox> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_7_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#1-high-level-magentic-workflow> <span class=md-ellipsis> 1. High-Level Magentic Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#2-magentic-manager-the-6-phase-cycle> <span class=md-ellipsis> 2. Magentic Manager: The 6-Phase Cycle </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#3-simplified-agent-architecture> <span class=md-ellipsis> 3. Simplified Agent Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#4-dynamic-workflow-example> <span class=md-ellipsis> 4. Dynamic Workflow Example </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#5-manager-decision-logic> <span class=md-ellipsis> 5. Manager Decision Logic </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#6-hypothesis-agent-workflow> <span class=md-ellipsis> 6. Hypothesis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#7-search-agent-workflow> <span class=md-ellipsis> 7. Search Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#8-analysis-agent-workflow> <span class=md-ellipsis> 8. Analysis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#9-report-agent-workflow> <span class=md-ellipsis> 9. Report Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#10-data-flow-event-streaming> <span class=md-ellipsis> 10. Data Flow & Event Streaming </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#11-mcp-tool-architecture> <span class=md-ellipsis> 11. MCP Tool Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#12-progress-tracking-stall-detection> <span class=md-ellipsis> 12. Progress Tracking & Stall Detection </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#13-gradio-ui-integration> <span class=md-ellipsis> 13. Gradio UI Integration </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#14-complete-system-context> <span class=md-ellipsis> 14. Complete System Context </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#15-workflow-timeline-simplified> <span class=md-ellipsis> 15. Workflow Timeline (Simplified) </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#key-differences-from-original-design> <span class=md-ellipsis> Key Differences from Original Design </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#simplified-design-principles> <span class=md-ellipsis> Simplified Design Principles </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#legend> <span class=md-ellipsis> Legend </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#implementation-highlights> <span class=md-ellipsis> Implementation Highlights </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=deepcritical-workflow-simplified-magentic-architecture>DeepCritical Workflow - Simplified Magentic Architecture<a class=headerlink href=#deepcritical-workflow-simplified-magentic-architecture title="Permanent link">¶</a></h1> <blockquote> <p><strong>Architecture Pattern</strong>: Microsoft Magentic Orchestration <strong>Design Philosophy</strong>: Simple, dynamic, manager-driven coordination <strong>Key Innovation</strong>: Intelligent manager replaces rigid sequential phases</p> </blockquote> <hr> <h2 id=1-high-level-magentic-workflow>1. High-Level Magentic Workflow<a class=headerlink href=#1-high-level-magentic-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 2 |
Start([User Query]) --> Manager[Magentic Manager<br/>Plan • Select • Assess • Adapt]
|
| 3 |
|
| 4 |
Manager -->|Plans| Task1[Task Decomposition]
|
|
@@ -31,7 +31,7 @@
|
|
| 31 |
style ReportAgent fill:#fff4e6
|
| 32 |
style Decision fill:#ffd6d6
|
| 33 |
style Synthesis fill:#d4edda
|
| 34 |
-
style Output fill:#e1f5e1</code></pre> <h2 id=2-magentic-manager-the-6-phase-cycle>2. Magentic Manager: The 6-Phase Cycle<a class=headerlink href=#2-magentic-manager-the-6-phase-cycle title="
|
| 35 |
P1[1. Planning<br/>Analyze task<br/>Create strategy] --> P2[2. Agent Selection<br/>Pick best agent<br/>for subtask]
|
| 36 |
P2 --> P3[3. Execution<br/>Run selected<br/>agent with tools]
|
| 37 |
P3 --> P4[4. Assessment<br/>Evaluate quality<br/>Check progress]
|
|
@@ -47,7 +47,7 @@
|
|
| 47 |
style P4 fill:#ffd6d6
|
| 48 |
style P5 fill:#fff3cd
|
| 49 |
style P6 fill:#d4edda
|
| 50 |
-
style Done fill:#e1f5e1</code></pre> <h2 id=3-simplified-agent-architecture>3. Simplified Agent Architecture<a class=headerlink href=#3-simplified-agent-architecture title="
|
| 51 |
subgraph "Orchestration Layer"
|
| 52 |
Manager[Magentic Manager<br/>• Plans workflow<br/>• Selects agents<br/>• Assesses quality<br/>• Adapts strategy]
|
| 53 |
SharedContext[(Shared Context<br/>• Hypotheses<br/>• Search Results<br/>• Analysis<br/>• Progress)]
|
|
@@ -93,7 +93,7 @@
|
|
| 93 |
style WebSearch fill:#e6f3ff
|
| 94 |
style CodeExec fill:#e6f3ff
|
| 95 |
style RAG fill:#e6f3ff
|
| 96 |
-
style Viz fill:#e6f3ff</code></pre> <h2 id=4-dynamic-workflow-example>4. Dynamic Workflow Example<a class=headerlink href=#4-dynamic-workflow-example title="
|
| 97 |
participant User
|
| 98 |
participant Manager
|
| 99 |
participant HypAgent
|
|
@@ -129,7 +129,7 @@
|
|
| 129 |
ReportAgent-->>Manager: Returns formatted report
|
| 130 |
Note over Manager: SYNTHESIZE: Combine all results
|
| 131 |
|
| 132 |
-
Manager->>User: Final Research Report</code></pre> <h2 id=5-manager-decision-logic>5. Manager Decision Logic<a class=headerlink href=#5-manager-decision-logic title="
|
| 133 |
Start([Manager Receives Task]) --> Plan[Create Initial Plan]
|
| 134 |
|
| 135 |
Plan --> Select[Select Agent for Next Subtask]
|
|
@@ -164,7 +164,7 @@
|
|
| 164 |
style Q3 fill:#ffe6e6
|
| 165 |
style Q4 fill:#ffe6e6
|
| 166 |
style Synth fill:#d4edda
|
| 167 |
-
style Done fill:#e1f5e1</code></pre> <h2 id=6-hypothesis-agent-workflow>6. Hypothesis Agent Workflow<a class=headerlink href=#6-hypothesis-agent-workflow title="
|
| 168 |
Input[Research Query] --> Domain[Identify Domain<br/>& Key Concepts]
|
| 169 |
Domain --> Context[Retrieve Background<br/>Knowledge]
|
| 170 |
Context --> Generate[Generate 3-5<br/>Initial Hypotheses]
|
|
@@ -176,7 +176,7 @@
|
|
| 176 |
|
| 177 |
style Input fill:#e1f5e1
|
| 178 |
style Output fill:#fff4e6
|
| 179 |
-
style Struct fill:#e6f3ff</code></pre> <h2 id=7-search-agent-workflow>7. Search Agent Workflow<a class=headerlink href=#7-search-agent-workflow title="
|
| 180 |
Input[Hypotheses] --> Strategy[Formulate Search<br/>Strategy per Hypothesis]
|
| 181 |
|
| 182 |
Strategy --> Multi[Multi-Source Search]
|
|
@@ -199,7 +199,7 @@
|
|
| 199 |
style Input fill:#fff4e6
|
| 200 |
style Multi fill:#ffe6e6
|
| 201 |
style Vector fill:#ffe6f0
|
| 202 |
-
style Output fill:#e6f3ff</code></pre> <h2 id=8-analysis-agent-workflow>8. Analysis Agent Workflow<a class=headerlink href=#8-analysis-agent-workflow title="
|
| 203 |
Input1[Hypotheses] --> Extract
|
| 204 |
Input2[Search Results] --> Extract[Extract Evidence<br/>per Hypothesis]
|
| 205 |
|
|
@@ -224,7 +224,7 @@
|
|
| 224 |
style Input1 fill:#fff4e6
|
| 225 |
style Input2 fill:#e6f3ff
|
| 226 |
style Execute fill:#ffe6e6
|
| 227 |
-
style Output fill:#e6ffe6</code></pre> <h2 id=9-report-agent-workflow>9. Report Agent Workflow<a class=headerlink href=#9-report-agent-workflow title="
|
| 228 |
Input1[Query] --> Assemble
|
| 229 |
Input2[Hypotheses] --> Assemble
|
| 230 |
Input3[Search Results] --> Assemble
|
|
@@ -264,7 +264,7 @@
|
|
| 264 |
style Input2 fill:#fff4e6
|
| 265 |
style Input3 fill:#e6f3ff
|
| 266 |
style Input4 fill:#e6ffe6
|
| 267 |
-
style Output fill:#d4edda</code></pre> <h2 id=10-data-flow-event-streaming>10. Data Flow & Event Streaming<a class=headerlink href=#10-data-flow-event-streaming title="
|
| 268 |
User[👤 User] -->|Research Query| UI[Gradio UI]
|
| 269 |
UI -->|Submit| Manager[Magentic Manager]
|
| 270 |
|
|
@@ -303,7 +303,7 @@
|
|
| 303 |
style Context fill:#ffe6f0
|
| 304 |
style VectorDB fill:#ffe6f0
|
| 305 |
style WebSearch fill:#f0f0f0
|
| 306 |
-
style CodeExec fill:#f0f0f0</code></pre> <h2 id=11-mcp-tool-architecture>11. MCP Tool Architecture<a class=headerlink href=#11-mcp-tool-architecture title="
|
| 307 |
subgraph "Agent Layer"
|
| 308 |
Manager[Magentic Manager]
|
| 309 |
HypAgent[Hypothesis Agent]
|
|
@@ -351,7 +351,7 @@
|
|
| 351 |
style Server1 fill:#e6f3ff
|
| 352 |
style Server2 fill:#e6f3ff
|
| 353 |
style Server3 fill:#e6f3ff
|
| 354 |
-
style Server4 fill:#e6f3ff</code></pre> <h2 id=12-progress-tracking-stall-detection>12. Progress Tracking & Stall Detection<a class=headerlink href=#12-progress-tracking-stall-detection title="
|
| 355 |
[*] --> Initialization: User Query
|
| 356 |
|
| 357 |
Initialization --> Planning: Manager starts
|
|
@@ -391,7 +391,7 @@
|
|
| 391 |
Stall = no new progress
|
| 392 |
after agent execution
|
| 393 |
Triggers plan reset
|
| 394 |
-
end note</code></pre> <h2 id=13-gradio-ui-integration>13. Gradio UI Integration<a class=headerlink href=#13-gradio-ui-integration title="
|
| 395 |
App[Gradio App<br/>DeepCritical Research Agent]
|
| 396 |
|
| 397 |
App --> Input[Input Section]
|
|
@@ -424,7 +424,7 @@
|
|
| 424 |
style Input fill:#fff4e6
|
| 425 |
style Status fill:#e6f3ff
|
| 426 |
style Output fill:#e6ffe6
|
| 427 |
-
style Workflow fill:#ffe6e6</code></pre> <h2 id=14-complete-system-context>14. Complete System Context<a class=headerlink href=#14-complete-system-context title="
|
| 428 |
User[👤 Researcher<br/>Asks research questions] -->|Submits query| DC[DeepCritical<br/>Magentic Workflow]
|
| 429 |
|
| 430 |
DC -->|Literature search| PubMed[PubMed API<br/>Medical papers]
|
|
@@ -453,7 +453,7 @@
|
|
| 453 |
style Claude fill:#ffd6d6
|
| 454 |
style Modal fill:#f0f0f0
|
| 455 |
style Chroma fill:#ffe6f0
|
| 456 |
-
style HF fill:#d4edda</code></pre> <h2 id=15-workflow-timeline-simplified>15. Workflow Timeline (Simplified)<a class=headerlink href=#15-workflow-timeline-simplified title="
|
| 457 |
title DeepCritical Magentic Workflow - Typical Execution
|
| 458 |
dateFormat mm:ss
|
| 459 |
axisFormat %M:%S
|
|
@@ -485,19 +485,4 @@
|
|
| 485 |
Formatting :r3, after r2, 10s
|
| 486 |
|
| 487 |
section Manager Synthesis
|
| 488 |
-
Final synthesis :f1, after r3, 10s</code></pre> <hr> <h2 id=key-differences-from-original-design>Key Differences from Original Design<a class=headerlink href=#key-differences-from-original-design title="Permanent link">¶</a></h2> <table> <thead> <tr> <th>Aspect</th> <th>Original (Judge-in-Loop)</th> <th>New (Magentic)</th> </tr> </thead> <tbody> <tr> <td><strong>Control Flow</strong></td> <td>Fixed sequential phases</td> <td>Dynamic agent selection</td> </tr> <tr> <td><strong>Quality Control</strong></td> <td>Separate Judge Agent</td> <td>Manager assessment built-in</td> </tr> <tr> <td><strong>Retry Logic</strong></td> <td>Phase-level with feedback</td> <td>Agent-level with adaptation</td> </tr> <tr> <td><strong>Flexibility</strong></td> <td>Rigid 4-phase pipeline</td> <td>Adaptive workflow</td> </tr> <tr> <td><strong>Complexity</strong></td> <td>5 agents (including Judge)</td> <td>4 agents (no Judge)</td> </tr> <tr> <td><strong>Progress Tracking</strong></td> <td>Manual state management</td> <td>Built-in round/stall detection</td> </tr> <tr> <td><strong>Agent Coordination</strong></td> <td>Sequential handoff</td> <td>Manager-driven dynamic selection</td> </tr> <tr> <td><strong>Error Recovery</strong></td> <td>Retry same phase</td> <td>Try different agent or replan</td> </tr> </tbody> </table> <hr> <h2 id=simplified-design-principles>Simplified Design Principles<a class=headerlink href=#simplified-design-principles title="Permanent link">¶</a></h2> <ol> <li><strong>Manager is Intelligent</strong>: LLM-powered manager handles planning, selection, and quality assessment</li> <li><strong>No Separate Judge</strong>: Manager's assessment phase replaces dedicated Judge Agent</li> <li><strong>Dynamic Workflow</strong>: Agents can be called multiple times in any order based on need</li> <li><strong>Built-in Safety</strong>: max_round_count (15) and max_stall_count (3) prevent infinite loops</li> <li><strong>Event-Driven UI</strong>: Real-time streaming updates to Gradio interface</li> <li><strong>MCP-Powered Tools</strong>: All external capabilities via Model Context Protocol</li> <li><strong>Shared Context</strong>: Centralized state accessible to all agents</li> <li><strong>Progress Awareness</strong>: Manager tracks what's been done and what's needed</li> </ol> <hr> <h2 id=legend>Legend<a class=headerlink href=#legend title="Permanent link">¶</a></h2> <ul> <li>🔴 <strong>Red/Pink</strong>: Manager, orchestration, decision-making</li> <li>🟡 <strong>Yellow/Orange</strong>: Specialist agents, processing</li> <li>🔵 <strong>Blue</strong>: Data, tools, MCP services</li> <li>🟣 <strong>Purple/Pink</strong>: Storage, databases, state</li> <li>🟢 <strong>Green</strong>: User interactions, final outputs</li> <li>⚪ <strong>Gray</strong>: External services, APIs</li> </ul> <hr> <h2 id=implementation-highlights>Implementation Highlights<a class=headerlink href=#implementation-highlights title="Permanent link">¶</a></h2> <p><strong>Simple 4-Agent Setup:</strong> <div class=highlight><pre><span></span><code><a href=#__codelineno-0-1 id=__codelineno-0-1 name=__codelineno-0-1></a><span class=n>workflow</span> <span class=o>=</span> <span class=p>(</span>
|
| 489 |
-
<a href=#__codelineno-0-2 id=__codelineno-0-2 name=__codelineno-0-2></a> <span class=n>MagenticBuilder</span><span class=p>()</span>
|
| 490 |
-
<a href=#__codelineno-0-3 id=__codelineno-0-3 name=__codelineno-0-3></a> <span class=o>.</span><span class=n>participants</span><span class=p>(</span>
|
| 491 |
-
<a href=#__codelineno-0-4 id=__codelineno-0-4 name=__codelineno-0-4></a> <span class=n>hypothesis</span><span class=o>=</span><span class=n>HypothesisAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>background_tool</span><span class=p>]),</span>
|
| 492 |
-
<a href=#__codelineno-0-5 id=__codelineno-0-5 name=__codelineno-0-5></a> <span class=n>search</span><span class=o>=</span><span class=n>SearchAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>web_search</span><span class=p>,</span> <span class=n>rag_tool</span><span class=p>]),</span>
|
| 493 |
-
<a href=#__codelineno-0-6 id=__codelineno-0-6 name=__codelineno-0-6></a> <span class=n>analysis</span><span class=o>=</span><span class=n>AnalysisAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>code_execution</span><span class=p>]),</span>
|
| 494 |
-
<a href=#__codelineno-0-7 id=__codelineno-0-7 name=__codelineno-0-7></a> <span class=n>report</span><span class=o>=</span><span class=n>ReportAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>code_execution</span><span class=p>,</span> <span class=n>visualization</span><span class=p>])</span>
|
| 495 |
-
<a href=#__codelineno-0-8 id=__codelineno-0-8 name=__codelineno-0-8></a> <span class=p>)</span>
|
| 496 |
-
<a href=#__codelineno-0-9 id=__codelineno-0-9 name=__codelineno-0-9></a> <span class=o>.</span><span class=n>with_standard_manager</span><span class=p>(</span>
|
| 497 |
-
<a href=#__codelineno-0-10 id=__codelineno-0-10 name=__codelineno-0-10></a> <span class=n>chat_client</span><span class=o>=</span><span class=n>AnthropicClient</span><span class=p>(</span><span class=n>model</span><span class=o>=</span><span class=s2>"claude-sonnet-4"</span><span class=p>),</span>
|
| 498 |
-
<a href=#__codelineno-0-11 id=__codelineno-0-11 name=__codelineno-0-11></a> <span class=n>max_round_count</span><span class=o>=</span><span class=mi>15</span><span class=p>,</span> <span class=c1># Prevent infinite loops</span>
|
| 499 |
-
<a href=#__codelineno-0-12 id=__codelineno-0-12 name=__codelineno-0-12></a> <span class=n>max_stall_count</span><span class=o>=</span><span class=mi>3</span> <span class=c1># Detect stuck workflows</span>
|
| 500 |
-
<a href=#__codelineno-0-13 id=__codelineno-0-13 name=__codelineno-0-13></a> <span class=p>)</span>
|
| 501 |
-
<a href=#__codelineno-0-14 id=__codelineno-0-14 name=__codelineno-0-14></a> <span class=o>.</span><span class=n>build</span><span class=p>()</span>
|
| 502 |
-
<a href=#__codelineno-0-15 id=__codelineno-0-15 name=__codelineno-0-15></a><span class=p>)</span>
|
| 503 |
-
</code></pre></div></p> <p><strong>Manager handles quality assessment in its instructions:</strong> - Checks hypothesis quality (testable, novel, clear) - Validates search results (relevant, authoritative, recent) - Assesses analysis soundness (methodology, evidence, conclusions) - Ensures report completeness (all sections, proper citations)</p> <p>No separate Judge Agent needed - manager does it all!</p> <hr> <p><strong>Document Version</strong>: 2.0 (Magentic Simplified) <strong>Last Updated</strong>: 2025-11-24 <strong>Architecture</strong>: Microsoft Magentic Orchestration Pattern <strong>Agents</strong>: 4 (Hypothesis, Search, Analysis, Report) + 1 Manager <strong>License</strong>: MIT</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - Overview of all orchestrator patterns</li> <li><a href=../graph-orchestration/ >Graph Orchestration</a> - Graph-based execution overview</li> <li><a href=../graph_orchestration/ >Graph Orchestration (Detailed)</a> - Detailed graph architecture</li> <li><a href=../workflows/ >Workflows</a> - Workflow patterns summary</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component=top hidden type=button> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ rel=noopener target=_blank> Material for MkDocs </a> </div> <div class=md-social> <a class=md-social__link href=https://github.com/DeepCritical/GradioDemo rel=noopener target=_blank title=github.com> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class=md-social__link href=https://huggingface.co/spaces/DataQuests/DeepCritical rel=noopener target=_blank title=huggingface.co> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"></path></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!DOCTYPE html><html class=no-js lang=en> <head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><meta content="Generalist Deep Research Agent that Stops at Nothing" name=description><meta content="The DeepCritical Team" name=author><link href=https://deepcritical.github.io/GradioDemo/architecture/workflow-diagrams/ rel=canonical><link href=../graph_orchestration/ rel=prev><link href=../agents/ rel=next><link href=../../assets/images/favicon.png rel=icon><meta content="mkdocs-1.6.1, mkdocs-material-9.7.0" name=generator><title>Workflow Diagrams - The DETERMINATOR</title><link href=../../assets/stylesheets/main.618322db.min.css rel=stylesheet><link href=../../assets/stylesheets/palette.ab4e12ef.min.css rel=stylesheet><link crossorigin href=https://fonts.gstatic.com rel=preconnect><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel=stylesheet><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link href=../../css/timeago.css rel=stylesheet><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body data-md-color-accent=red data-md-color-primary=orange data-md-color-scheme=default dir=ltr> <input autocomplete=off class=md-toggle data-md-toggle=drawer id=__drawer type=checkbox> <input autocomplete=off class=md-toggle data-md-toggle=search id=__search type=checkbox> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a class=md-skip href=#deepcritical-workflow---simplified-magentic-architecture> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav aria-label=Header class="md-header__inner md-grid"> <a aria-label="The DETERMINATOR" class="md-header__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Workflow Diagrams </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input aria-label="Switch to dark mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=default id=__palette_0 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_1 hidden title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to light mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=slate id=__palette_1 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_0 hidden title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input aria-label=Search autocapitalize=off autocomplete=off autocorrect=off class=md-search__input data-md-component=search-query name=query placeholder=Search required spellcheck=false type=text> <label class="md-search__icon md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label=Search class=md-search__options> <button aria-label=Clear class="md-search__icon md-icon" tabindex=-1 title=Clear type=reset> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix tabindex=0> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav aria-label=Tabs class=md-tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a class=md-tabs__link href=../..> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label=Navigation class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" data-md-level=0> <label class=md-nav__title for=__drawer> <a aria-label="The DETERMINATOR" class="md-nav__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=../..> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_2 type=checkbox> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_2_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_3 type=checkbox> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_3_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_4 type=checkbox> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class=md-nav__link> <span class=md-ellipsis> Configuration </span> </a> </div> <nav aria-expanded=false aria-labelledby=__nav_4_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input checked class="md-nav__toggle md-toggle" id=__nav_5 type=checkbox> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=true aria-labelledby=__nav_5_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" id=__toc type=checkbox> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Workflow Diagrams </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Workflow Diagrams </span> </a> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#1-high-level-magentic-workflow> <span class=md-ellipsis> 1. High-Level Magentic Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#2-magentic-manager-the-6-phase-cycle> <span class=md-ellipsis> 2. Magentic Manager: The 6-Phase Cycle </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#3-simplified-agent-architecture> <span class=md-ellipsis> 3. Simplified Agent Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#4-dynamic-workflow-example> <span class=md-ellipsis> 4. Dynamic Workflow Example </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#5-manager-decision-logic> <span class=md-ellipsis> 5. Manager Decision Logic </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#6-hypothesis-agent-workflow> <span class=md-ellipsis> 6. Hypothesis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#7-search-agent-workflow> <span class=md-ellipsis> 7. Search Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#8-analysis-agent-workflow> <span class=md-ellipsis> 8. Analysis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#9-report-agent-workflow> <span class=md-ellipsis> 9. Report Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#10-data-flow--event-streaming> <span class=md-ellipsis> 10. Data Flow & Event Streaming </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#11-mcp-tool-architecture> <span class=md-ellipsis> 11. MCP Tool Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#12-progress-tracking--stall-detection> <span class=md-ellipsis> 12. Progress Tracking & Stall Detection </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#13-gradio-ui-integration> <span class=md-ellipsis> 13. Gradio UI Integration </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#14-complete-system-context> <span class=md-ellipsis> 14. Complete System Context </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#15-workflow-timeline-simplified> <span class=md-ellipsis> 15. Workflow Timeline (Simplified) </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#key-differences-from-original-design> <span class=md-ellipsis> Key Differences from Original Design </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#simplified-design-principles> <span class=md-ellipsis> Simplified Design Principles </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#legend> <span class=md-ellipsis> Legend </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#implementation-highlights> <span class=md-ellipsis> Implementation Highlights </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#see-also> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_6 type=checkbox> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_6_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_7 type=checkbox> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav aria-expanded=false aria-labelledby=__nav_7_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=deepcritical-workflow---simplified-magentic-architecture>DeepCritical Workflow - Simplified Magentic Architecture<a class=headerlink href=#deepcritical-workflow---simplified-magentic-architecture title="Anchor link to this section">¶</a></h1> <blockquote> <p><strong>Architecture Pattern</strong>: Microsoft Magentic Orchestration <strong>Design Philosophy</strong>: Simple, dynamic, manager-driven coordination <strong>Key Innovation</strong>: Intelligent manager replaces rigid sequential phases</p> </blockquote> <hr> <h2 id=1-high-level-magentic-workflow>1. High-Level Magentic Workflow<a class=headerlink href=#1-high-level-magentic-workflow title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 2 |
Start([User Query]) --> Manager[Magentic Manager<br/>Plan • Select • Assess • Adapt]
|
| 3 |
|
| 4 |
Manager -->|Plans| Task1[Task Decomposition]
|
|
|
|
| 31 |
style ReportAgent fill:#fff4e6
|
| 32 |
style Decision fill:#ffd6d6
|
| 33 |
style Synthesis fill:#d4edda
|
| 34 |
+
style Output fill:#e1f5e1</code></pre> <h2 id=2-magentic-manager-the-6-phase-cycle>2. Magentic Manager: The 6-Phase Cycle<a class=headerlink href=#2-magentic-manager-the-6-phase-cycle title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart LR
|
| 35 |
P1[1. Planning<br/>Analyze task<br/>Create strategy] --> P2[2. Agent Selection<br/>Pick best agent<br/>for subtask]
|
| 36 |
P2 --> P3[3. Execution<br/>Run selected<br/>agent with tools]
|
| 37 |
P3 --> P4[4. Assessment<br/>Evaluate quality<br/>Check progress]
|
|
|
|
| 47 |
style P4 fill:#ffd6d6
|
| 48 |
style P5 fill:#fff3cd
|
| 49 |
style P6 fill:#d4edda
|
| 50 |
+
style Done fill:#e1f5e1</code></pre> <h2 id=3-simplified-agent-architecture>3. Simplified Agent Architecture<a class=headerlink href=#3-simplified-agent-architecture title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>graph TB
|
| 51 |
subgraph "Orchestration Layer"
|
| 52 |
Manager[Magentic Manager<br/>• Plans workflow<br/>• Selects agents<br/>• Assesses quality<br/>• Adapts strategy]
|
| 53 |
SharedContext[(Shared Context<br/>• Hypotheses<br/>• Search Results<br/>• Analysis<br/>• Progress)]
|
|
|
|
| 93 |
style WebSearch fill:#e6f3ff
|
| 94 |
style CodeExec fill:#e6f3ff
|
| 95 |
style RAG fill:#e6f3ff
|
| 96 |
+
style Viz fill:#e6f3ff</code></pre> <h2 id=4-dynamic-workflow-example>4. Dynamic Workflow Example<a class=headerlink href=#4-dynamic-workflow-example title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>sequenceDiagram
|
| 97 |
participant User
|
| 98 |
participant Manager
|
| 99 |
participant HypAgent
|
|
|
|
| 129 |
ReportAgent-->>Manager: Returns formatted report
|
| 130 |
Note over Manager: SYNTHESIZE: Combine all results
|
| 131 |
|
| 132 |
+
Manager->>User: Final Research Report</code></pre> <h2 id=5-manager-decision-logic>5. Manager Decision Logic<a class=headerlink href=#5-manager-decision-logic title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 133 |
Start([Manager Receives Task]) --> Plan[Create Initial Plan]
|
| 134 |
|
| 135 |
Plan --> Select[Select Agent for Next Subtask]
|
|
|
|
| 164 |
style Q3 fill:#ffe6e6
|
| 165 |
style Q4 fill:#ffe6e6
|
| 166 |
style Synth fill:#d4edda
|
| 167 |
+
style Done fill:#e1f5e1</code></pre> <h2 id=6-hypothesis-agent-workflow>6. Hypothesis Agent Workflow<a class=headerlink href=#6-hypothesis-agent-workflow title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart LR
|
| 168 |
Input[Research Query] --> Domain[Identify Domain<br/>& Key Concepts]
|
| 169 |
Domain --> Context[Retrieve Background<br/>Knowledge]
|
| 170 |
Context --> Generate[Generate 3-5<br/>Initial Hypotheses]
|
|
|
|
| 176 |
|
| 177 |
style Input fill:#e1f5e1
|
| 178 |
style Output fill:#fff4e6
|
| 179 |
+
style Struct fill:#e6f3ff</code></pre> <h2 id=7-search-agent-workflow>7. Search Agent Workflow<a class=headerlink href=#7-search-agent-workflow title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 180 |
Input[Hypotheses] --> Strategy[Formulate Search<br/>Strategy per Hypothesis]
|
| 181 |
|
| 182 |
Strategy --> Multi[Multi-Source Search]
|
|
|
|
| 199 |
style Input fill:#fff4e6
|
| 200 |
style Multi fill:#ffe6e6
|
| 201 |
style Vector fill:#ffe6f0
|
| 202 |
+
style Output fill:#e6f3ff</code></pre> <h2 id=8-analysis-agent-workflow>8. Analysis Agent Workflow<a class=headerlink href=#8-analysis-agent-workflow title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 203 |
Input1[Hypotheses] --> Extract
|
| 204 |
Input2[Search Results] --> Extract[Extract Evidence<br/>per Hypothesis]
|
| 205 |
|
|
|
|
| 224 |
style Input1 fill:#fff4e6
|
| 225 |
style Input2 fill:#e6f3ff
|
| 226 |
style Execute fill:#ffe6e6
|
| 227 |
+
style Output fill:#e6ffe6</code></pre> <h2 id=9-report-agent-workflow>9. Report Agent Workflow<a class=headerlink href=#9-report-agent-workflow title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 228 |
Input1[Query] --> Assemble
|
| 229 |
Input2[Hypotheses] --> Assemble
|
| 230 |
Input3[Search Results] --> Assemble
|
|
|
|
| 264 |
style Input2 fill:#fff4e6
|
| 265 |
style Input3 fill:#e6f3ff
|
| 266 |
style Input4 fill:#e6ffe6
|
| 267 |
+
style Output fill:#d4edda</code></pre> <h2 id=10-data-flow--event-streaming>10. Data Flow & Event Streaming<a class=headerlink href=#10-data-flow--event-streaming title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 268 |
User[👤 User] -->|Research Query| UI[Gradio UI]
|
| 269 |
UI -->|Submit| Manager[Magentic Manager]
|
| 270 |
|
|
|
|
| 303 |
style Context fill:#ffe6f0
|
| 304 |
style VectorDB fill:#ffe6f0
|
| 305 |
style WebSearch fill:#f0f0f0
|
| 306 |
+
style CodeExec fill:#f0f0f0</code></pre> <h2 id=11-mcp-tool-architecture>11. MCP Tool Architecture<a class=headerlink href=#11-mcp-tool-architecture title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>graph TB
|
| 307 |
subgraph "Agent Layer"
|
| 308 |
Manager[Magentic Manager]
|
| 309 |
HypAgent[Hypothesis Agent]
|
|
|
|
| 351 |
style Server1 fill:#e6f3ff
|
| 352 |
style Server2 fill:#e6f3ff
|
| 353 |
style Server3 fill:#e6f3ff
|
| 354 |
+
style Server4 fill:#e6f3ff</code></pre> <h2 id=12-progress-tracking--stall-detection>12. Progress Tracking & Stall Detection<a class=headerlink href=#12-progress-tracking--stall-detection title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>stateDiagram-v2
|
| 355 |
[*] --> Initialization: User Query
|
| 356 |
|
| 357 |
Initialization --> Planning: Manager starts
|
|
|
|
| 391 |
Stall = no new progress
|
| 392 |
after agent execution
|
| 393 |
Triggers plan reset
|
| 394 |
+
end note</code></pre> <h2 id=13-gradio-ui-integration>13. Gradio UI Integration<a class=headerlink href=#13-gradio-ui-integration title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>graph TD
|
| 395 |
App[Gradio App<br/>DeepCritical Research Agent]
|
| 396 |
|
| 397 |
App --> Input[Input Section]
|
|
|
|
| 424 |
style Input fill:#fff4e6
|
| 425 |
style Status fill:#e6f3ff
|
| 426 |
style Output fill:#e6ffe6
|
| 427 |
+
style Workflow fill:#ffe6e6</code></pre> <h2 id=14-complete-system-context>14. Complete System Context<a class=headerlink href=#14-complete-system-context title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>graph LR
|
| 428 |
User[👤 Researcher<br/>Asks research questions] -->|Submits query| DC[DeepCritical<br/>Magentic Workflow]
|
| 429 |
|
| 430 |
DC -->|Literature search| PubMed[PubMed API<br/>Medical papers]
|
|
|
|
| 453 |
style Claude fill:#ffd6d6
|
| 454 |
style Modal fill:#f0f0f0
|
| 455 |
style Chroma fill:#ffe6f0
|
| 456 |
+
style HF fill:#d4edda</code></pre> <h2 id=15-workflow-timeline-simplified>15. Workflow Timeline (Simplified)<a class=headerlink href=#15-workflow-timeline-simplified title="Anchor link to this section">¶</a></h2> <pre class=mermaid><code>gantt
|
| 457 |
title DeepCritical Magentic Workflow - Typical Execution
|
| 458 |
dateFormat mm:ss
|
| 459 |
axisFormat %M:%S
|
|
|
|
| 485 |
Formatting :r3, after r2, 10s
|
| 486 |
|
| 487 |
section Manager Synthesis
|
| 488 |
+
Final synthesis :f1, after r3, 10s</code></pre> <hr> <h2 id=key-differences-from-original-design>Key Differences from Original Design<a class=headerlink href=#key-differences-from-original-design title="Anchor link to this section">¶</a></h2> <table> <thead> <tr> <th>Aspect</th> <th>Original (Judge-in-Loop)</th> <th>New (Magentic)</th> </tr> </thead> <tbody> <tr> <td><strong>Control Flow</strong></td> <td>Fixed sequential phases</td> <td>Dynamic agent selection</td> </tr> <tr> <td><strong>Quality Control</strong></td> <td>Separate Judge Agent</td> <td>Manager assessment built-in</td> </tr> <tr> <td><strong>Retry Logic</strong></td> <td>Phase-level with feedback</td> <td>Agent-level with adaptation</td> </tr> <tr> <td><strong>Flexibility</strong></td> <td>Rigid 4-phase pipeline</td> <td>Adaptive workflow</td> </tr> <tr> <td><strong>Complexity</strong></td> <td>5 agents (including Judge)</td> <td>4 agents (no Judge)</td> </tr> <tr> <td><strong>Progress Tracking</strong></td> <td>Manual state management</td> <td>Built-in round/stall detection</td> </tr> <tr> <td><strong>Agent Coordination</strong></td> <td>Sequential handoff</td> <td>Manager-driven dynamic selection</td> </tr> <tr> <td><strong>Error Recovery</strong></td> <td>Retry same phase</td> <td>Try different agent or replan</td> </tr> </tbody> </table> <hr> <h2 id=simplified-design-principles>Simplified Design Principles<a class=headerlink href=#simplified-design-principles title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Manager is Intelligent</strong>: LLM-powered manager handles planning, selection, and quality assessment</li> <li><strong>No Separate Judge</strong>: Manager's assessment phase replaces dedicated Judge Agent</li> <li><strong>Dynamic Workflow</strong>: Agents can be called multiple times in any order based on need</li> <li><strong>Built-in Safety</strong>: max_round_count (15) and max_stall_count (3) prevent infinite loops</li> <li><strong>Event-Driven UI</strong>: Real-time streaming updates to Gradio interface</li> <li><strong>MCP-Powered Tools</strong>: All external capabilities via Model Context Protocol</li> <li><strong>Shared Context</strong>: Centralized state accessible to all agents</li> <li><strong>Progress Awareness</strong>: Manager tracks what's been done and what's needed</li> </ol> <hr> <h2 id=legend>Legend<a class=headerlink href=#legend title="Anchor link to this section">¶</a></h2> <ul> <li>🔴 <strong>Red/Pink</strong>: Manager, orchestration, decision-making</li> <li>🟡 <strong>Yellow/Orange</strong>: Specialist agents, processing</li> <li>🔵 <strong>Blue</strong>: Data, tools, MCP services</li> <li>🟣 <strong>Purple/Pink</strong>: Storage, databases, state</li> <li>🟢 <strong>Green</strong>: User interactions, final outputs</li> <li>⚪ <strong>Gray</strong>: External services, APIs</li> </ul> <hr> <h2 id=implementation-highlights>Implementation Highlights<a class=headerlink href=#implementation-highlights title="Anchor link to this section">¶</a></h2> <p><strong>Simple 4-Agent Setup:</strong></p> <p><strong>Manager handles quality assessment in its instructions:</strong> - Checks hypothesis quality (testable, novel, clear) - Validates search results (relevant, authoritative, recent) - Assesses analysis soundness (methodology, evidence, conclusions) - Ensures report completeness (all sections, proper citations)</p> <p>No separate Judge Agent needed - manager does it all!</p> <hr> <p><strong>Document Version</strong>: 2.0 (Magentic Simplified) <strong>Last Updated</strong>: 2025-11-24 <strong>Architecture</strong>: Microsoft Magentic Orchestration Pattern <strong>Agents</strong>: 4 (Hypothesis, Search, Analysis, Report) + 1 Manager <strong>License</strong>: MIT</p> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../orchestrators/ >Orchestrators</a> - Overview of all orchestrator patterns</li> <li><a href=../graph_orchestration/ >Graph Orchestration</a> - Graph-based execution overview</li> <li><a href=../../api/orchestrators/ >API Reference - Orchestrators</a> - API documentation</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"></path></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"></path></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:33:25 UTC"><span class=timeago datetime=2025-11-29T21:33:25+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:33:25 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component=top hidden type=button> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ rel=noopener target=_blank> Material for MkDocs </a> </div> <div class=md-social> <a class=md-social__link href=https://github.com/DeepCritical/GradioDemo rel=noopener target=_blank title=GitHub> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class=md-social__link href=https://twitter.com/josephpollack rel=noopener target=_blank title=Twitter> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"></path></svg> </a> <a class=md-social__link href=https://huggingface.co/spaces/DataQuests/DeepCritical rel=noopener target=_blank title="Live Demo"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"></path></svg> </a> <a class=md-social__link href=https://discord.gg/n8ytYeh25n rel=noopener target=_blank title=Discord> <svg viewbox="0 0 576 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"></path></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/architecture/workflows/index.html
DELETED
|
@@ -1,503 +0,0 @@
|
|
| 1 |
-
<!DOCTYPE html><html class=no-js lang=en> <head><meta charset=utf-8><meta content="width=device-width,initial-scale=1" name=viewport><meta content="Generalist Deep Research Agent that Stops at Nothing" name=description><meta content="The DETERMINATOR Team" name=author><link href=https://deepcritical.github.io/GradioDemo/architecture/workflows/ rel=canonical><link href=../../assets/images/favicon.png rel=icon><meta content="mkdocs-1.6.1, mkdocs-material-9.7.0" name=generator><title>DeepCritical Workflow - Simplified Magentic Architecture - The DETERMINATOR</title><link href=../../assets/stylesheets/main.618322db.min.css rel=stylesheet><link href=../../assets/stylesheets/palette.ab4e12ef.min.css rel=stylesheet><link crossorigin href=https://fonts.gstatic.com rel=preconnect><link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback" rel=stylesheet><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body data-md-color-accent=red data-md-color-primary=orange data-md-color-scheme=default dir=ltr> <input autocomplete=off class=md-toggle data-md-toggle=drawer id=__drawer type=checkbox> <input autocomplete=off class=md-toggle data-md-toggle=search id=__search type=checkbox> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a class=md-skip href=#deepcritical-workflow-simplified-magentic-architecture> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav aria-label=Header class="md-header__inner md-grid"> <a aria-label="The DETERMINATOR" class="md-header__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"></path></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> DeepCritical Workflow - Simplified Magentic Architecture </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input aria-label="Switch to dark mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=default id=__palette_0 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_1 hidden title="Switch to dark mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> <input aria-label="Switch to light mode" class=md-option data-md-color-accent=red data-md-color-media data-md-color-primary=orange data-md-color-scheme=slate id=__palette_1 name=__palette type=radio> <label class="md-header__button md-icon" for=__palette_0 hidden title="Switch to light mode"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"></path></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input aria-label=Search autocapitalize=off autocomplete=off autocorrect=off class=md-search__input data-md-component=search-query name=query placeholder=Search required spellcheck=false type=text> <label class="md-search__icon md-icon" for=__search> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"></path></svg> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"></path></svg> </label> <nav aria-label=Search class=md-search__options> <button aria-label=Clear class="md-search__icon md-icon" tabindex=-1 title=Clear type=reset> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"></path></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap data-md-scrollfix tabindex=0> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav aria-label=Tabs class=md-tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a class=md-tabs__link href=../..> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label=Navigation class="md-nav md-nav--primary md-nav--lifted" data-md-level=0> <label class=md-nav__title for=__drawer> <a aria-label="The DETERMINATOR" class="md-nav__button md-logo" data-md-component=logo href=../.. title="The DETERMINATOR"> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"></path></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a class=md-source data-md-component=source href=https://github.com/DeepCritical/GradioDemo title="Go to repository"> <div class="md-source__icon md-icon"> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=../..> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_2 type=checkbox> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_2_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_3 type=checkbox> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_3_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_4 type=checkbox> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_4_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_5 type=checkbox> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_5_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_6 type=checkbox> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_6_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" id=__nav_7 type=checkbox> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav aria-expanded=false aria-labelledby=__nav_7_label class=md-nav data-md-level=1> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav aria-label="Table of contents" class="md-nav md-nav--secondary"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a class=md-nav__link href=#1-high-level-magentic-workflow> <span class=md-ellipsis> 1. High-Level Magentic Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#2-magentic-manager-the-6-phase-cycle> <span class=md-ellipsis> 2. Magentic Manager: The 6-Phase Cycle </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#3-simplified-agent-architecture> <span class=md-ellipsis> 3. Simplified Agent Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#4-dynamic-workflow-example> <span class=md-ellipsis> 4. Dynamic Workflow Example </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#5-manager-decision-logic> <span class=md-ellipsis> 5. Manager Decision Logic </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#6-hypothesis-agent-workflow> <span class=md-ellipsis> 6. Hypothesis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#7-search-agent-workflow> <span class=md-ellipsis> 7. Search Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#8-analysis-agent-workflow> <span class=md-ellipsis> 8. Analysis Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#9-report-agent-workflow> <span class=md-ellipsis> 9. Report Agent Workflow </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#10-data-flow-event-streaming> <span class=md-ellipsis> 10. Data Flow & Event Streaming </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#11-mcp-tool-architecture> <span class=md-ellipsis> 11. MCP Tool Architecture </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#12-progress-tracking-stall-detection> <span class=md-ellipsis> 12. Progress Tracking & Stall Detection </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#13-gradio-ui-integration> <span class=md-ellipsis> 13. Gradio UI Integration </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#14-complete-system-context> <span class=md-ellipsis> 14. Complete System Context </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#15-workflow-timeline-simplified> <span class=md-ellipsis> 15. Workflow Timeline (Simplified) </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#key-differences-from-original-design> <span class=md-ellipsis> Key Differences from Original Design </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#simplified-design-principles> <span class=md-ellipsis> Simplified Design Principles </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#legend> <span class=md-ellipsis> Legend </span> </a> </li> <li class=md-nav__item> <a class=md-nav__link href=#implementation-highlights> <span class=md-ellipsis> Implementation Highlights </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=deepcritical-workflow-simplified-magentic-architecture>DeepCritical Workflow - Simplified Magentic Architecture<a class=headerlink href=#deepcritical-workflow-simplified-magentic-architecture title="Permanent link">¶</a></h1> <blockquote> <p><strong>Architecture Pattern</strong>: Microsoft Magentic Orchestration <strong>Design Philosophy</strong>: Simple, dynamic, manager-driven coordination <strong>Key Innovation</strong>: Intelligent manager replaces rigid sequential phases</p> </blockquote> <hr> <h2 id=1-high-level-magentic-workflow>1. High-Level Magentic Workflow<a class=headerlink href=#1-high-level-magentic-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 2 |
-
Start([User Query]) --> Manager[Magentic Manager<br/>Plan • Select • Assess • Adapt]
|
| 3 |
-
|
| 4 |
-
Manager -->|Plans| Task1[Task Decomposition]
|
| 5 |
-
Task1 --> Manager
|
| 6 |
-
|
| 7 |
-
Manager -->|Selects & Executes| HypAgent[Hypothesis Agent]
|
| 8 |
-
Manager -->|Selects & Executes| SearchAgent[Search Agent]
|
| 9 |
-
Manager -->|Selects & Executes| AnalysisAgent[Analysis Agent]
|
| 10 |
-
Manager -->|Selects & Executes| ReportAgent[Report Agent]
|
| 11 |
-
|
| 12 |
-
HypAgent -->|Results| Manager
|
| 13 |
-
SearchAgent -->|Results| Manager
|
| 14 |
-
AnalysisAgent -->|Results| Manager
|
| 15 |
-
ReportAgent -->|Results| Manager
|
| 16 |
-
|
| 17 |
-
Manager -->|Assesses Quality| Decision{Good Enough?}
|
| 18 |
-
Decision -->|No - Refine| Manager
|
| 19 |
-
Decision -->|No - Different Agent| Manager
|
| 20 |
-
Decision -->|No - Stalled| Replan[Reset Plan]
|
| 21 |
-
Replan --> Manager
|
| 22 |
-
|
| 23 |
-
Decision -->|Yes| Synthesis[Synthesize Final Result]
|
| 24 |
-
Synthesis --> Output([Research Report])
|
| 25 |
-
|
| 26 |
-
style Start fill:#e1f5e1
|
| 27 |
-
style Manager fill:#ffe6e6
|
| 28 |
-
style HypAgent fill:#fff4e6
|
| 29 |
-
style SearchAgent fill:#fff4e6
|
| 30 |
-
style AnalysisAgent fill:#fff4e6
|
| 31 |
-
style ReportAgent fill:#fff4e6
|
| 32 |
-
style Decision fill:#ffd6d6
|
| 33 |
-
style Synthesis fill:#d4edda
|
| 34 |
-
style Output fill:#e1f5e1</code></pre> <h2 id=2-magentic-manager-the-6-phase-cycle>2. Magentic Manager: The 6-Phase Cycle<a class=headerlink href=#2-magentic-manager-the-6-phase-cycle title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart LR
|
| 35 |
-
P1[1. Planning<br/>Analyze task<br/>Create strategy] --> P2[2. Agent Selection<br/>Pick best agent<br/>for subtask]
|
| 36 |
-
P2 --> P3[3. Execution<br/>Run selected<br/>agent with tools]
|
| 37 |
-
P3 --> P4[4. Assessment<br/>Evaluate quality<br/>Check progress]
|
| 38 |
-
P4 --> Decision{Quality OK?<br/>Progress made?}
|
| 39 |
-
Decision -->|Yes| P6[6. Synthesis<br/>Combine results<br/>Generate report]
|
| 40 |
-
Decision -->|No| P5[5. Iteration<br/>Adjust plan<br/>Try again]
|
| 41 |
-
P5 --> P2
|
| 42 |
-
P6 --> Done([Complete])
|
| 43 |
-
|
| 44 |
-
style P1 fill:#fff4e6
|
| 45 |
-
style P2 fill:#ffe6e6
|
| 46 |
-
style P3 fill:#e6f3ff
|
| 47 |
-
style P4 fill:#ffd6d6
|
| 48 |
-
style P5 fill:#fff3cd
|
| 49 |
-
style P6 fill:#d4edda
|
| 50 |
-
style Done fill:#e1f5e1</code></pre> <h2 id=3-simplified-agent-architecture>3. Simplified Agent Architecture<a class=headerlink href=#3-simplified-agent-architecture title="Permanent link">¶</a></h2> <pre class=mermaid><code>graph TB
|
| 51 |
-
subgraph "Orchestration Layer"
|
| 52 |
-
Manager[Magentic Manager<br/>• Plans workflow<br/>• Selects agents<br/>• Assesses quality<br/>• Adapts strategy]
|
| 53 |
-
SharedContext[(Shared Context<br/>• Hypotheses<br/>• Search Results<br/>• Analysis<br/>• Progress)]
|
| 54 |
-
Manager <--> SharedContext
|
| 55 |
-
end
|
| 56 |
-
|
| 57 |
-
subgraph "Specialist Agents"
|
| 58 |
-
HypAgent[Hypothesis Agent<br/>• Domain understanding<br/>• Hypothesis generation<br/>• Testability refinement]
|
| 59 |
-
SearchAgent[Search Agent<br/>• Multi-source search<br/>• RAG retrieval<br/>• Result ranking]
|
| 60 |
-
AnalysisAgent[Analysis Agent<br/>• Evidence extraction<br/>• Statistical analysis<br/>• Code execution]
|
| 61 |
-
ReportAgent[Report Agent<br/>• Report assembly<br/>• Visualization<br/>• Citation formatting]
|
| 62 |
-
end
|
| 63 |
-
|
| 64 |
-
subgraph "MCP Tools"
|
| 65 |
-
WebSearch[Web Search<br/>PubMed • arXiv • bioRxiv]
|
| 66 |
-
CodeExec[Code Execution<br/>Sandboxed Python]
|
| 67 |
-
RAG[RAG Retrieval<br/>Vector DB • Embeddings]
|
| 68 |
-
Viz[Visualization<br/>Charts • Graphs]
|
| 69 |
-
end
|
| 70 |
-
|
| 71 |
-
Manager -->|Selects & Directs| HypAgent
|
| 72 |
-
Manager -->|Selects & Directs| SearchAgent
|
| 73 |
-
Manager -->|Selects & Directs| AnalysisAgent
|
| 74 |
-
Manager -->|Selects & Directs| ReportAgent
|
| 75 |
-
|
| 76 |
-
HypAgent --> SharedContext
|
| 77 |
-
SearchAgent --> SharedContext
|
| 78 |
-
AnalysisAgent --> SharedContext
|
| 79 |
-
ReportAgent --> SharedContext
|
| 80 |
-
|
| 81 |
-
SearchAgent --> WebSearch
|
| 82 |
-
SearchAgent --> RAG
|
| 83 |
-
AnalysisAgent --> CodeExec
|
| 84 |
-
ReportAgent --> CodeExec
|
| 85 |
-
ReportAgent --> Viz
|
| 86 |
-
|
| 87 |
-
style Manager fill:#ffe6e6
|
| 88 |
-
style SharedContext fill:#ffe6f0
|
| 89 |
-
style HypAgent fill:#fff4e6
|
| 90 |
-
style SearchAgent fill:#fff4e6
|
| 91 |
-
style AnalysisAgent fill:#fff4e6
|
| 92 |
-
style ReportAgent fill:#fff4e6
|
| 93 |
-
style WebSearch fill:#e6f3ff
|
| 94 |
-
style CodeExec fill:#e6f3ff
|
| 95 |
-
style RAG fill:#e6f3ff
|
| 96 |
-
style Viz fill:#e6f3ff</code></pre> <h2 id=4-dynamic-workflow-example>4. Dynamic Workflow Example<a class=headerlink href=#4-dynamic-workflow-example title="Permanent link">¶</a></h2> <pre class=mermaid><code>sequenceDiagram
|
| 97 |
-
participant User
|
| 98 |
-
participant Manager
|
| 99 |
-
participant HypAgent
|
| 100 |
-
participant SearchAgent
|
| 101 |
-
participant AnalysisAgent
|
| 102 |
-
participant ReportAgent
|
| 103 |
-
|
| 104 |
-
User->>Manager: "Research protein folding in Alzheimer's"
|
| 105 |
-
|
| 106 |
-
Note over Manager: PLAN: Generate hypotheses → Search → Analyze → Report
|
| 107 |
-
|
| 108 |
-
Manager->>HypAgent: Generate 3 hypotheses
|
| 109 |
-
HypAgent-->>Manager: Returns 3 hypotheses
|
| 110 |
-
Note over Manager: ASSESS: Good quality, proceed
|
| 111 |
-
|
| 112 |
-
Manager->>SearchAgent: Search literature for hypothesis 1
|
| 113 |
-
SearchAgent-->>Manager: Returns 15 papers
|
| 114 |
-
Note over Manager: ASSESS: Good results, continue
|
| 115 |
-
|
| 116 |
-
Manager->>SearchAgent: Search for hypothesis 2
|
| 117 |
-
SearchAgent-->>Manager: Only 2 papers found
|
| 118 |
-
Note over Manager: ASSESS: Insufficient, refine search
|
| 119 |
-
|
| 120 |
-
Manager->>SearchAgent: Refined query for hypothesis 2
|
| 121 |
-
SearchAgent-->>Manager: Returns 12 papers
|
| 122 |
-
Note over Manager: ASSESS: Better, proceed
|
| 123 |
-
|
| 124 |
-
Manager->>AnalysisAgent: Analyze evidence for all hypotheses
|
| 125 |
-
AnalysisAgent-->>Manager: Returns analysis with code
|
| 126 |
-
Note over Manager: ASSESS: Complete, generate report
|
| 127 |
-
|
| 128 |
-
Manager->>ReportAgent: Create comprehensive report
|
| 129 |
-
ReportAgent-->>Manager: Returns formatted report
|
| 130 |
-
Note over Manager: SYNTHESIZE: Combine all results
|
| 131 |
-
|
| 132 |
-
Manager->>User: Final Research Report</code></pre> <h2 id=5-manager-decision-logic>5. Manager Decision Logic<a class=headerlink href=#5-manager-decision-logic title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 133 |
-
Start([Manager Receives Task]) --> Plan[Create Initial Plan]
|
| 134 |
-
|
| 135 |
-
Plan --> Select[Select Agent for Next Subtask]
|
| 136 |
-
Select --> Execute[Execute Agent]
|
| 137 |
-
Execute --> Collect[Collect Results]
|
| 138 |
-
|
| 139 |
-
Collect --> Assess[Assess Quality & Progress]
|
| 140 |
-
|
| 141 |
-
Assess --> Q1{Quality Sufficient?}
|
| 142 |
-
Q1 -->|No| Q2{Same Agent Can Fix?}
|
| 143 |
-
Q2 -->|Yes| Feedback[Provide Specific Feedback]
|
| 144 |
-
Feedback --> Execute
|
| 145 |
-
Q2 -->|No| Different[Try Different Agent]
|
| 146 |
-
Different --> Select
|
| 147 |
-
|
| 148 |
-
Q1 -->|Yes| Q3{Task Complete?}
|
| 149 |
-
Q3 -->|No| Q4{Making Progress?}
|
| 150 |
-
Q4 -->|Yes| Select
|
| 151 |
-
Q4 -->|No - Stalled| Replan[Reset Plan & Approach]
|
| 152 |
-
Replan --> Plan
|
| 153 |
-
|
| 154 |
-
Q3 -->|Yes| Synth[Synthesize Final Result]
|
| 155 |
-
Synth --> Done([Return Report])
|
| 156 |
-
|
| 157 |
-
style Start fill:#e1f5e1
|
| 158 |
-
style Plan fill:#fff4e6
|
| 159 |
-
style Select fill:#ffe6e6
|
| 160 |
-
style Execute fill:#e6f3ff
|
| 161 |
-
style Assess fill:#ffd6d6
|
| 162 |
-
style Q1 fill:#ffe6e6
|
| 163 |
-
style Q2 fill:#ffe6e6
|
| 164 |
-
style Q3 fill:#ffe6e6
|
| 165 |
-
style Q4 fill:#ffe6e6
|
| 166 |
-
style Synth fill:#d4edda
|
| 167 |
-
style Done fill:#e1f5e1</code></pre> <h2 id=6-hypothesis-agent-workflow>6. Hypothesis Agent Workflow<a class=headerlink href=#6-hypothesis-agent-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart LR
|
| 168 |
-
Input[Research Query] --> Domain[Identify Domain<br/>& Key Concepts]
|
| 169 |
-
Domain --> Context[Retrieve Background<br/>Knowledge]
|
| 170 |
-
Context --> Generate[Generate 3-5<br/>Initial Hypotheses]
|
| 171 |
-
Generate --> Refine[Refine for<br/>Testability]
|
| 172 |
-
Refine --> Rank[Rank by<br/>Quality Score]
|
| 173 |
-
Rank --> Output[Return Top<br/>Hypotheses]
|
| 174 |
-
|
| 175 |
-
Output --> Struct[Hypothesis Structure:<br/>• Statement<br/>• Rationale<br/>• Testability Score<br/>• Data Requirements<br/>• Expected Outcomes]
|
| 176 |
-
|
| 177 |
-
style Input fill:#e1f5e1
|
| 178 |
-
style Output fill:#fff4e6
|
| 179 |
-
style Struct fill:#e6f3ff</code></pre> <h2 id=7-search-agent-workflow>7. Search Agent Workflow<a class=headerlink href=#7-search-agent-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 180 |
-
Input[Hypotheses] --> Strategy[Formulate Search<br/>Strategy per Hypothesis]
|
| 181 |
-
|
| 182 |
-
Strategy --> Multi[Multi-Source Search]
|
| 183 |
-
|
| 184 |
-
Multi --> PubMed[PubMed Search<br/>via MCP]
|
| 185 |
-
Multi --> ArXiv[arXiv Search<br/>via MCP]
|
| 186 |
-
Multi --> BioRxiv[bioRxiv Search<br/>via MCP]
|
| 187 |
-
|
| 188 |
-
PubMed --> Aggregate[Aggregate Results]
|
| 189 |
-
ArXiv --> Aggregate
|
| 190 |
-
BioRxiv --> Aggregate
|
| 191 |
-
|
| 192 |
-
Aggregate --> Filter[Filter & Rank<br/>by Relevance]
|
| 193 |
-
Filter --> Dedup[Deduplicate<br/>Cross-Reference]
|
| 194 |
-
Dedup --> Embed[Embed Documents<br/>via MCP]
|
| 195 |
-
Embed --> Vector[(Vector DB)]
|
| 196 |
-
Vector --> RAGRetrieval[RAG Retrieval<br/>Top-K per Hypothesis]
|
| 197 |
-
RAGRetrieval --> Output[Return Contextualized<br/>Search Results]
|
| 198 |
-
|
| 199 |
-
style Input fill:#fff4e6
|
| 200 |
-
style Multi fill:#ffe6e6
|
| 201 |
-
style Vector fill:#ffe6f0
|
| 202 |
-
style Output fill:#e6f3ff</code></pre> <h2 id=8-analysis-agent-workflow>8. Analysis Agent Workflow<a class=headerlink href=#8-analysis-agent-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 203 |
-
Input1[Hypotheses] --> Extract
|
| 204 |
-
Input2[Search Results] --> Extract[Extract Evidence<br/>per Hypothesis]
|
| 205 |
-
|
| 206 |
-
Extract --> Methods[Determine Analysis<br/>Methods Needed]
|
| 207 |
-
|
| 208 |
-
Methods --> Branch{Requires<br/>Computation?}
|
| 209 |
-
Branch -->|Yes| GenCode[Generate Python<br/>Analysis Code]
|
| 210 |
-
Branch -->|No| Qual[Qualitative<br/>Synthesis]
|
| 211 |
-
|
| 212 |
-
GenCode --> Execute[Execute Code<br/>via MCP Sandbox]
|
| 213 |
-
Execute --> Interpret1[Interpret<br/>Results]
|
| 214 |
-
Qual --> Interpret2[Interpret<br/>Findings]
|
| 215 |
-
|
| 216 |
-
Interpret1 --> Synthesize[Synthesize Evidence<br/>Across Sources]
|
| 217 |
-
Interpret2 --> Synthesize
|
| 218 |
-
|
| 219 |
-
Synthesize --> Verdict[Determine Verdict<br/>per Hypothesis]
|
| 220 |
-
Verdict --> Support[• Supported<br/>• Refuted<br/>• Inconclusive]
|
| 221 |
-
Support --> Gaps[Identify Knowledge<br/>Gaps & Limitations]
|
| 222 |
-
Gaps --> Output[Return Analysis<br/>Report]
|
| 223 |
-
|
| 224 |
-
style Input1 fill:#fff4e6
|
| 225 |
-
style Input2 fill:#e6f3ff
|
| 226 |
-
style Execute fill:#ffe6e6
|
| 227 |
-
style Output fill:#e6ffe6</code></pre> <h2 id=9-report-agent-workflow>9. Report Agent Workflow<a class=headerlink href=#9-report-agent-workflow title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 228 |
-
Input1[Query] --> Assemble
|
| 229 |
-
Input2[Hypotheses] --> Assemble
|
| 230 |
-
Input3[Search Results] --> Assemble
|
| 231 |
-
Input4[Analysis] --> Assemble[Assemble Report<br/>Sections]
|
| 232 |
-
|
| 233 |
-
Assemble --> Exec[Executive Summary]
|
| 234 |
-
Assemble --> Intro[Introduction]
|
| 235 |
-
Assemble --> Methods[Methods]
|
| 236 |
-
Assemble --> Results[Results per<br/>Hypothesis]
|
| 237 |
-
Assemble --> Discussion[Discussion]
|
| 238 |
-
Assemble --> Future[Future Directions]
|
| 239 |
-
Assemble --> Refs[References]
|
| 240 |
-
|
| 241 |
-
Results --> VizCheck{Needs<br/>Visualization?}
|
| 242 |
-
VizCheck -->|Yes| GenViz[Generate Viz Code]
|
| 243 |
-
GenViz --> ExecViz[Execute via MCP<br/>Create Charts]
|
| 244 |
-
ExecViz --> Combine
|
| 245 |
-
VizCheck -->|No| Combine[Combine All<br/>Sections]
|
| 246 |
-
|
| 247 |
-
Exec --> Combine
|
| 248 |
-
Intro --> Combine
|
| 249 |
-
Methods --> Combine
|
| 250 |
-
Discussion --> Combine
|
| 251 |
-
Future --> Combine
|
| 252 |
-
Refs --> Combine
|
| 253 |
-
|
| 254 |
-
Combine --> Format[Format Output]
|
| 255 |
-
Format --> MD[Markdown]
|
| 256 |
-
Format --> PDF[PDF]
|
| 257 |
-
Format --> JSON[JSON]
|
| 258 |
-
|
| 259 |
-
MD --> Output[Return Final<br/>Report]
|
| 260 |
-
PDF --> Output
|
| 261 |
-
JSON --> Output
|
| 262 |
-
|
| 263 |
-
style Input1 fill:#e1f5e1
|
| 264 |
-
style Input2 fill:#fff4e6
|
| 265 |
-
style Input3 fill:#e6f3ff
|
| 266 |
-
style Input4 fill:#e6ffe6
|
| 267 |
-
style Output fill:#d4edda</code></pre> <h2 id=10-data-flow-event-streaming>10. Data Flow & Event Streaming<a class=headerlink href=#10-data-flow-event-streaming title="Permanent link">¶</a></h2> <pre class=mermaid><code>flowchart TD
|
| 268 |
-
User[👤 User] -->|Research Query| UI[Gradio UI]
|
| 269 |
-
UI -->|Submit| Manager[Magentic Manager]
|
| 270 |
-
|
| 271 |
-
Manager -->|Event: Planning| UI
|
| 272 |
-
Manager -->|Select Agent| HypAgent[Hypothesis Agent]
|
| 273 |
-
HypAgent -->|Event: Delta/Message| UI
|
| 274 |
-
HypAgent -->|Hypotheses| Context[(Shared Context)]
|
| 275 |
-
|
| 276 |
-
Context -->|Retrieved by| Manager
|
| 277 |
-
Manager -->|Select Agent| SearchAgent[Search Agent]
|
| 278 |
-
SearchAgent -->|MCP Request| WebSearch[Web Search Tool]
|
| 279 |
-
WebSearch -->|Results| SearchAgent
|
| 280 |
-
SearchAgent -->|Event: Delta/Message| UI
|
| 281 |
-
SearchAgent -->|Documents| Context
|
| 282 |
-
SearchAgent -->|Embeddings| VectorDB[(Vector DB)]
|
| 283 |
-
|
| 284 |
-
Context -->|Retrieved by| Manager
|
| 285 |
-
Manager -->|Select Agent| AnalysisAgent[Analysis Agent]
|
| 286 |
-
AnalysisAgent -->|MCP Request| CodeExec[Code Execution Tool]
|
| 287 |
-
CodeExec -->|Results| AnalysisAgent
|
| 288 |
-
AnalysisAgent -->|Event: Delta/Message| UI
|
| 289 |
-
AnalysisAgent -->|Analysis| Context
|
| 290 |
-
|
| 291 |
-
Context -->|Retrieved by| Manager
|
| 292 |
-
Manager -->|Select Agent| ReportAgent[Report Agent]
|
| 293 |
-
ReportAgent -->|MCP Request| CodeExec
|
| 294 |
-
ReportAgent -->|Event: Delta/Message| UI
|
| 295 |
-
ReportAgent -->|Report| Context
|
| 296 |
-
|
| 297 |
-
Manager -->|Event: Final Result| UI
|
| 298 |
-
UI -->|Display| User
|
| 299 |
-
|
| 300 |
-
style User fill:#e1f5e1
|
| 301 |
-
style UI fill:#e6f3ff
|
| 302 |
-
style Manager fill:#ffe6e6
|
| 303 |
-
style Context fill:#ffe6f0
|
| 304 |
-
style VectorDB fill:#ffe6f0
|
| 305 |
-
style WebSearch fill:#f0f0f0
|
| 306 |
-
style CodeExec fill:#f0f0f0</code></pre> <h2 id=11-mcp-tool-architecture>11. MCP Tool Architecture<a class=headerlink href=#11-mcp-tool-architecture title="Permanent link">¶</a></h2> <pre class=mermaid><code>graph TB
|
| 307 |
-
subgraph "Agent Layer"
|
| 308 |
-
Manager[Magentic Manager]
|
| 309 |
-
HypAgent[Hypothesis Agent]
|
| 310 |
-
SearchAgent[Search Agent]
|
| 311 |
-
AnalysisAgent[Analysis Agent]
|
| 312 |
-
ReportAgent[Report Agent]
|
| 313 |
-
end
|
| 314 |
-
|
| 315 |
-
subgraph "MCP Protocol Layer"
|
| 316 |
-
Registry[MCP Tool Registry<br/>• Discovers tools<br/>• Routes requests<br/>• Manages connections]
|
| 317 |
-
end
|
| 318 |
-
|
| 319 |
-
subgraph "MCP Servers"
|
| 320 |
-
Server1[Web Search Server<br/>localhost:8001<br/>• PubMed<br/>• arXiv<br/>• bioRxiv]
|
| 321 |
-
Server2[Code Execution Server<br/>localhost:8002<br/>• Sandboxed Python<br/>• Package management]
|
| 322 |
-
Server3[RAG Server<br/>localhost:8003<br/>• Vector embeddings<br/>• Similarity search]
|
| 323 |
-
Server4[Visualization Server<br/>localhost:8004<br/>• Chart generation<br/>• Plot rendering]
|
| 324 |
-
end
|
| 325 |
-
|
| 326 |
-
subgraph "External Services"
|
| 327 |
-
PubMed[PubMed API]
|
| 328 |
-
ArXiv[arXiv API]
|
| 329 |
-
BioRxiv[bioRxiv API]
|
| 330 |
-
Modal[Modal Sandbox]
|
| 331 |
-
ChromaDB[(ChromaDB)]
|
| 332 |
-
end
|
| 333 |
-
|
| 334 |
-
SearchAgent -->|Request| Registry
|
| 335 |
-
AnalysisAgent -->|Request| Registry
|
| 336 |
-
ReportAgent -->|Request| Registry
|
| 337 |
-
|
| 338 |
-
Registry --> Server1
|
| 339 |
-
Registry --> Server2
|
| 340 |
-
Registry --> Server3
|
| 341 |
-
Registry --> Server4
|
| 342 |
-
|
| 343 |
-
Server1 --> PubMed
|
| 344 |
-
Server1 --> ArXiv
|
| 345 |
-
Server1 --> BioRxiv
|
| 346 |
-
Server2 --> Modal
|
| 347 |
-
Server3 --> ChromaDB
|
| 348 |
-
|
| 349 |
-
style Manager fill:#ffe6e6
|
| 350 |
-
style Registry fill:#fff4e6
|
| 351 |
-
style Server1 fill:#e6f3ff
|
| 352 |
-
style Server2 fill:#e6f3ff
|
| 353 |
-
style Server3 fill:#e6f3ff
|
| 354 |
-
style Server4 fill:#e6f3ff</code></pre> <h2 id=12-progress-tracking-stall-detection>12. Progress Tracking & Stall Detection<a class=headerlink href=#12-progress-tracking-stall-detection title="Permanent link">¶</a></h2> <pre class=mermaid><code>stateDiagram-v2
|
| 355 |
-
[*] --> Initialization: User Query
|
| 356 |
-
|
| 357 |
-
Initialization --> Planning: Manager starts
|
| 358 |
-
|
| 359 |
-
Planning --> AgentExecution: Select agent
|
| 360 |
-
|
| 361 |
-
AgentExecution --> Assessment: Collect results
|
| 362 |
-
|
| 363 |
-
Assessment --> QualityCheck: Evaluate output
|
| 364 |
-
|
| 365 |
-
QualityCheck --> AgentExecution: Poor quality<br/>(retry < max_rounds)
|
| 366 |
-
QualityCheck --> Planning: Poor quality<br/>(try different agent)
|
| 367 |
-
QualityCheck --> NextAgent: Good quality<br/>(task incomplete)
|
| 368 |
-
QualityCheck --> Synthesis: Good quality<br/>(task complete)
|
| 369 |
-
|
| 370 |
-
NextAgent --> AgentExecution: Select next agent
|
| 371 |
-
|
| 372 |
-
state StallDetection <<choice>>
|
| 373 |
-
Assessment --> StallDetection: Check progress
|
| 374 |
-
StallDetection --> Planning: No progress<br/>(stall count < max)
|
| 375 |
-
StallDetection --> ErrorRecovery: No progress<br/>(max stalls reached)
|
| 376 |
-
|
| 377 |
-
ErrorRecovery --> PartialReport: Generate partial results
|
| 378 |
-
PartialReport --> [*]
|
| 379 |
-
|
| 380 |
-
Synthesis --> FinalReport: Combine all outputs
|
| 381 |
-
FinalReport --> [*]
|
| 382 |
-
|
| 383 |
-
note right of QualityCheck
|
| 384 |
-
Manager assesses:
|
| 385 |
-
• Output completeness
|
| 386 |
-
• Quality metrics
|
| 387 |
-
• Progress made
|
| 388 |
-
end note
|
| 389 |
-
|
| 390 |
-
note right of StallDetection
|
| 391 |
-
Stall = no new progress
|
| 392 |
-
after agent execution
|
| 393 |
-
Triggers plan reset
|
| 394 |
-
end note</code></pre> <h2 id=13-gradio-ui-integration>13. Gradio UI Integration<a class=headerlink href=#13-gradio-ui-integration title="Permanent link">¶</a></h2> <pre class=mermaid><code>graph TD
|
| 395 |
-
App[Gradio App<br/>DeepCritical Research Agent]
|
| 396 |
-
|
| 397 |
-
App --> Input[Input Section]
|
| 398 |
-
App --> Status[Status Section]
|
| 399 |
-
App --> Output[Output Section]
|
| 400 |
-
|
| 401 |
-
Input --> Query[Research Question<br/>Text Area]
|
| 402 |
-
Input --> Controls[Controls]
|
| 403 |
-
Controls --> MaxHyp[Max Hypotheses: 1-10]
|
| 404 |
-
Controls --> MaxRounds[Max Rounds: 5-20]
|
| 405 |
-
Controls --> Submit[Start Research Button]
|
| 406 |
-
|
| 407 |
-
Status --> Log[Real-time Event Log<br/>• Manager planning<br/>• Agent selection<br/>• Execution updates<br/>• Quality assessment]
|
| 408 |
-
Status --> Progress[Progress Tracker<br/>• Current agent<br/>• Round count<br/>• Stall count]
|
| 409 |
-
|
| 410 |
-
Output --> Tabs[Tabbed Results]
|
| 411 |
-
Tabs --> Tab1[Hypotheses Tab<br/>Generated hypotheses with scores]
|
| 412 |
-
Tabs --> Tab2[Search Results Tab<br/>Papers & sources found]
|
| 413 |
-
Tabs --> Tab3[Analysis Tab<br/>Evidence & verdicts]
|
| 414 |
-
Tabs --> Tab4[Report Tab<br/>Final research report]
|
| 415 |
-
Tab4 --> Download[Download Report<br/>MD / PDF / JSON]
|
| 416 |
-
|
| 417 |
-
Submit -.->|Triggers| Workflow[Magentic Workflow]
|
| 418 |
-
Workflow -.->|MagenticOrchestratorMessageEvent| Log
|
| 419 |
-
Workflow -.->|MagenticAgentDeltaEvent| Log
|
| 420 |
-
Workflow -.->|MagenticAgentMessageEvent| Log
|
| 421 |
-
Workflow -.->|MagenticFinalResultEvent| Tab4
|
| 422 |
-
|
| 423 |
-
style App fill:#e1f5e1
|
| 424 |
-
style Input fill:#fff4e6
|
| 425 |
-
style Status fill:#e6f3ff
|
| 426 |
-
style Output fill:#e6ffe6
|
| 427 |
-
style Workflow fill:#ffe6e6</code></pre> <h2 id=14-complete-system-context>14. Complete System Context<a class=headerlink href=#14-complete-system-context title="Permanent link">¶</a></h2> <pre class=mermaid><code>graph LR
|
| 428 |
-
User[👤 Researcher<br/>Asks research questions] -->|Submits query| DC[DeepCritical<br/>Magentic Workflow]
|
| 429 |
-
|
| 430 |
-
DC -->|Literature search| PubMed[PubMed API<br/>Medical papers]
|
| 431 |
-
DC -->|Preprint search| ArXiv[arXiv API<br/>Scientific preprints]
|
| 432 |
-
DC -->|Biology search| BioRxiv[bioRxiv API<br/>Biology preprints]
|
| 433 |
-
DC -->|Agent reasoning| Claude[Claude API<br/>Sonnet 4 / Opus]
|
| 434 |
-
DC -->|Code execution| Modal[Modal Sandbox<br/>Safe Python env]
|
| 435 |
-
DC -->|Vector storage| Chroma[ChromaDB<br/>Embeddings & RAG]
|
| 436 |
-
|
| 437 |
-
DC -->|Deployed on| HF[HuggingFace Spaces<br/>Gradio 6.0]
|
| 438 |
-
|
| 439 |
-
PubMed -->|Results| DC
|
| 440 |
-
ArXiv -->|Results| DC
|
| 441 |
-
BioRxiv -->|Results| DC
|
| 442 |
-
Claude -->|Responses| DC
|
| 443 |
-
Modal -->|Output| DC
|
| 444 |
-
Chroma -->|Context| DC
|
| 445 |
-
|
| 446 |
-
DC -->|Research report| User
|
| 447 |
-
|
| 448 |
-
style User fill:#e1f5e1
|
| 449 |
-
style DC fill:#ffe6e6
|
| 450 |
-
style PubMed fill:#e6f3ff
|
| 451 |
-
style ArXiv fill:#e6f3ff
|
| 452 |
-
style BioRxiv fill:#e6f3ff
|
| 453 |
-
style Claude fill:#ffd6d6
|
| 454 |
-
style Modal fill:#f0f0f0
|
| 455 |
-
style Chroma fill:#ffe6f0
|
| 456 |
-
style HF fill:#d4edda</code></pre> <h2 id=15-workflow-timeline-simplified>15. Workflow Timeline (Simplified)<a class=headerlink href=#15-workflow-timeline-simplified title="Permanent link">¶</a></h2> <pre class=mermaid><code>gantt
|
| 457 |
-
title DeepCritical Magentic Workflow - Typical Execution
|
| 458 |
-
dateFormat mm:ss
|
| 459 |
-
axisFormat %M:%S
|
| 460 |
-
|
| 461 |
-
section Manager Planning
|
| 462 |
-
Initial planning :p1, 00:00, 10s
|
| 463 |
-
|
| 464 |
-
section Hypothesis Agent
|
| 465 |
-
Generate hypotheses :h1, after p1, 30s
|
| 466 |
-
Manager assessment :h2, after h1, 5s
|
| 467 |
-
|
| 468 |
-
section Search Agent
|
| 469 |
-
Search hypothesis 1 :s1, after h2, 20s
|
| 470 |
-
Search hypothesis 2 :s2, after s1, 20s
|
| 471 |
-
Search hypothesis 3 :s3, after s2, 20s
|
| 472 |
-
RAG processing :s4, after s3, 15s
|
| 473 |
-
Manager assessment :s5, after s4, 5s
|
| 474 |
-
|
| 475 |
-
section Analysis Agent
|
| 476 |
-
Evidence extraction :a1, after s5, 15s
|
| 477 |
-
Code generation :a2, after a1, 20s
|
| 478 |
-
Code execution :a3, after a2, 25s
|
| 479 |
-
Synthesis :a4, after a3, 20s
|
| 480 |
-
Manager assessment :a5, after a4, 5s
|
| 481 |
-
|
| 482 |
-
section Report Agent
|
| 483 |
-
Report assembly :r1, after a5, 30s
|
| 484 |
-
Visualization :r2, after r1, 15s
|
| 485 |
-
Formatting :r3, after r2, 10s
|
| 486 |
-
|
| 487 |
-
section Manager Synthesis
|
| 488 |
-
Final synthesis :f1, after r3, 10s</code></pre> <hr> <h2 id=key-differences-from-original-design>Key Differences from Original Design<a class=headerlink href=#key-differences-from-original-design title="Permanent link">¶</a></h2> <table> <thead> <tr> <th>Aspect</th> <th>Original (Judge-in-Loop)</th> <th>New (Magentic)</th> </tr> </thead> <tbody> <tr> <td><strong>Control Flow</strong></td> <td>Fixed sequential phases</td> <td>Dynamic agent selection</td> </tr> <tr> <td><strong>Quality Control</strong></td> <td>Separate Judge Agent</td> <td>Manager assessment built-in</td> </tr> <tr> <td><strong>Retry Logic</strong></td> <td>Phase-level with feedback</td> <td>Agent-level with adaptation</td> </tr> <tr> <td><strong>Flexibility</strong></td> <td>Rigid 4-phase pipeline</td> <td>Adaptive workflow</td> </tr> <tr> <td><strong>Complexity</strong></td> <td>5 agents (including Judge)</td> <td>4 agents (no Judge)</td> </tr> <tr> <td><strong>Progress Tracking</strong></td> <td>Manual state management</td> <td>Built-in round/stall detection</td> </tr> <tr> <td><strong>Agent Coordination</strong></td> <td>Sequential handoff</td> <td>Manager-driven dynamic selection</td> </tr> <tr> <td><strong>Error Recovery</strong></td> <td>Retry same phase</td> <td>Try different agent or replan</td> </tr> </tbody> </table> <hr> <h2 id=simplified-design-principles>Simplified Design Principles<a class=headerlink href=#simplified-design-principles title="Permanent link">¶</a></h2> <ol> <li><strong>Manager is Intelligent</strong>: LLM-powered manager handles planning, selection, and quality assessment</li> <li><strong>No Separate Judge</strong>: Manager's assessment phase replaces dedicated Judge Agent</li> <li><strong>Dynamic Workflow</strong>: Agents can be called multiple times in any order based on need</li> <li><strong>Built-in Safety</strong>: max_round_count (15) and max_stall_count (3) prevent infinite loops</li> <li><strong>Event-Driven UI</strong>: Real-time streaming updates to Gradio interface</li> <li><strong>MCP-Powered Tools</strong>: All external capabilities via Model Context Protocol</li> <li><strong>Shared Context</strong>: Centralized state accessible to all agents</li> <li><strong>Progress Awareness</strong>: Manager tracks what's been done and what's needed</li> </ol> <hr> <h2 id=legend>Legend<a class=headerlink href=#legend title="Permanent link">¶</a></h2> <ul> <li>🔴 <strong>Red/Pink</strong>: Manager, orchestration, decision-making</li> <li>🟡 <strong>Yellow/Orange</strong>: Specialist agents, processing</li> <li>🔵 <strong>Blue</strong>: Data, tools, MCP services</li> <li>🟣 <strong>Purple/Pink</strong>: Storage, databases, state</li> <li>🟢 <strong>Green</strong>: User interactions, final outputs</li> <li>⚪ <strong>Gray</strong>: External services, APIs</li> </ul> <hr> <h2 id=implementation-highlights>Implementation Highlights<a class=headerlink href=#implementation-highlights title="Permanent link">¶</a></h2> <p><strong>Simple 4-Agent Setup:</strong> <div class=highlight><pre><span></span><code><a href=#__codelineno-0-1 id=__codelineno-0-1 name=__codelineno-0-1></a><span class=n>workflow</span> <span class=o>=</span> <span class=p>(</span>
|
| 489 |
-
<a href=#__codelineno-0-2 id=__codelineno-0-2 name=__codelineno-0-2></a> <span class=n>MagenticBuilder</span><span class=p>()</span>
|
| 490 |
-
<a href=#__codelineno-0-3 id=__codelineno-0-3 name=__codelineno-0-3></a> <span class=o>.</span><span class=n>participants</span><span class=p>(</span>
|
| 491 |
-
<a href=#__codelineno-0-4 id=__codelineno-0-4 name=__codelineno-0-4></a> <span class=n>hypothesis</span><span class=o>=</span><span class=n>HypothesisAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>background_tool</span><span class=p>]),</span>
|
| 492 |
-
<a href=#__codelineno-0-5 id=__codelineno-0-5 name=__codelineno-0-5></a> <span class=n>search</span><span class=o>=</span><span class=n>SearchAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>web_search</span><span class=p>,</span> <span class=n>rag_tool</span><span class=p>]),</span>
|
| 493 |
-
<a href=#__codelineno-0-6 id=__codelineno-0-6 name=__codelineno-0-6></a> <span class=n>analysis</span><span class=o>=</span><span class=n>AnalysisAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>code_execution</span><span class=p>]),</span>
|
| 494 |
-
<a href=#__codelineno-0-7 id=__codelineno-0-7 name=__codelineno-0-7></a> <span class=n>report</span><span class=o>=</span><span class=n>ReportAgent</span><span class=p>(</span><span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>code_execution</span><span class=p>,</span> <span class=n>visualization</span><span class=p>])</span>
|
| 495 |
-
<a href=#__codelineno-0-8 id=__codelineno-0-8 name=__codelineno-0-8></a> <span class=p>)</span>
|
| 496 |
-
<a href=#__codelineno-0-9 id=__codelineno-0-9 name=__codelineno-0-9></a> <span class=o>.</span><span class=n>with_standard_manager</span><span class=p>(</span>
|
| 497 |
-
<a href=#__codelineno-0-10 id=__codelineno-0-10 name=__codelineno-0-10></a> <span class=n>chat_client</span><span class=o>=</span><span class=n>AnthropicClient</span><span class=p>(</span><span class=n>model</span><span class=o>=</span><span class=s2>"claude-sonnet-4"</span><span class=p>),</span>
|
| 498 |
-
<a href=#__codelineno-0-11 id=__codelineno-0-11 name=__codelineno-0-11></a> <span class=n>max_round_count</span><span class=o>=</span><span class=mi>15</span><span class=p>,</span> <span class=c1># Prevent infinite loops</span>
|
| 499 |
-
<a href=#__codelineno-0-12 id=__codelineno-0-12 name=__codelineno-0-12></a> <span class=n>max_stall_count</span><span class=o>=</span><span class=mi>3</span> <span class=c1># Detect stuck workflows</span>
|
| 500 |
-
<a href=#__codelineno-0-13 id=__codelineno-0-13 name=__codelineno-0-13></a> <span class=p>)</span>
|
| 501 |
-
<a href=#__codelineno-0-14 id=__codelineno-0-14 name=__codelineno-0-14></a> <span class=o>.</span><span class=n>build</span><span class=p>()</span>
|
| 502 |
-
<a href=#__codelineno-0-15 id=__codelineno-0-15 name=__codelineno-0-15></a><span class=p>)</span>
|
| 503 |
-
</code></pre></div></p> <p><strong>Manager handles quality assessment in its instructions:</strong> - Checks hypothesis quality (testable, novel, clear) - Validates search results (relevant, authoritative, recent) - Assesses analysis soundness (methodology, evidence, conclusions) - Ensures report completeness (all sections, proper citations)</p> <p>No separate Judge Agent needed - manager does it all!</p> <hr> <p><strong>Document Version</strong>: 2.0 (Magentic Simplified) <strong>Last Updated</strong>: 2025-11-24 <strong>Architecture</strong>: Microsoft Magentic Orchestration Pattern <strong>Agents</strong>: 4 (Hypothesis, Search, Analysis, Report) + 1 Manager <strong>License</strong>: MIT</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button class="md-top md-icon" data-md-component=top hidden type=button> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"></path></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ rel=noopener target=_blank> Material for MkDocs </a> </div> <div class=md-social> <a class=md-social__link href=https://github.com/DeepCritical/GradioDemo rel=noopener target=_blank title=github.com> <svg viewbox="0 0 512 512" xmlns=http://www.w3.org/2000/svg><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"></path></svg> </a> <a class=md-social__link href=https://huggingface.co/spaces/DataQuests/DeepCritical rel=noopener target=_blank title=huggingface.co> <svg viewbox="0 0 24 24" xmlns=http://www.w3.org/2000/svg><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"></path></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/configuration/CONFIGURATION/index.html
DELETED
|
@@ -1,130 +0,0 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/configuration/CONFIGURATION/ rel=canonical><link href=../../getting-started/examples/ rel=prev><link href=../../architecture/graph_orchestration/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Configuration Guide - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#configuration-guide class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Configuration Guide </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_4 checked> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=true> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Configuration Guide </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Configuration Guide </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#overview class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=#quick-start class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=#configuration-system-architecture class=md-nav__link> <span class=md-ellipsis> Configuration System Architecture </span> </a> <nav class=md-nav aria-label="Configuration System Architecture"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#settings-class class=md-nav__link> <span class=md-ellipsis> Settings Class </span> </a> </li> <li class=md-nav__item> <a href=#singleton-instance class=md-nav__link> <span class=md-ellipsis> Singleton Instance </span> </a> </li> <li class=md-nav__item> <a href=#usage-pattern class=md-nav__link> <span class=md-ellipsis> Usage Pattern </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#required-configuration class=md-nav__link> <span class=md-ellipsis> Required Configuration </span> </a> <nav class=md-nav aria-label="Required Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-provider class=md-nav__link> <span class=md-ellipsis> LLM Provider </span> </a> <nav class=md-nav aria-label="LLM Provider"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#openai-configuration class=md-nav__link> <span class=md-ellipsis> OpenAI Configuration </span> </a> </li> <li class=md-nav__item> <a href=#anthropic-configuration class=md-nav__link> <span class=md-ellipsis> Anthropic Configuration </span> </a> </li> <li class=md-nav__item> <a href=#huggingface-configuration class=md-nav__link> <span class=md-ellipsis> HuggingFace Configuration </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#optional-configuration class=md-nav__link> <span class=md-ellipsis> Optional Configuration </span> </a> <nav class=md-nav aria-label="Optional Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#embedding-configuration class=md-nav__link> <span class=md-ellipsis> Embedding Configuration </span> </a> </li> <li class=md-nav__item> <a href=#web-search-configuration class=md-nav__link> <span class=md-ellipsis> Web Search Configuration </span> </a> </li> <li class=md-nav__item> <a href=#pubmed-configuration class=md-nav__link> <span class=md-ellipsis> PubMed Configuration </span> </a> </li> <li class=md-nav__item> <a href=#agent-configuration class=md-nav__link> <span class=md-ellipsis> Agent Configuration </span> </a> </li> <li class=md-nav__item> <a href=#budget-rate-limiting-configuration class=md-nav__link> <span class=md-ellipsis> Budget & Rate Limiting Configuration </span> </a> </li> <li class=md-nav__item> <a href=#rag-service-configuration class=md-nav__link> <span class=md-ellipsis> RAG Service Configuration </span> </a> </li> <li class=md-nav__item> <a href=#chromadb-configuration class=md-nav__link> <span class=md-ellipsis> ChromaDB Configuration </span> </a> </li> <li class=md-nav__item> <a href=#external-services class=md-nav__link> <span class=md-ellipsis> External Services </span> </a> <nav class=md-nav aria-label="External Services"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modal-configuration class=md-nav__link> <span class=md-ellipsis> Modal Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#logging-configuration class=md-nav__link> <span class=md-ellipsis> Logging Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-properties class=md-nav__link> <span class=md-ellipsis> Configuration Properties </span> </a> <nav class=md-nav aria-label="Configuration Properties"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#api-key-availability class=md-nav__link> <span class=md-ellipsis> API Key Availability </span> </a> </li> <li class=md-nav__item> <a href=#service-availability class=md-nav__link> <span class=md-ellipsis> Service Availability </span> </a> </li> <li class=md-nav__item> <a href=#api-key-retrieval class=md-nav__link> <span class=md-ellipsis> API Key Retrieval </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-usage-in-codebase class=md-nav__link> <span class=md-ellipsis> Configuration Usage in Codebase </span> </a> <nav class=md-nav aria-label="Configuration Usage in Codebase"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-factory class=md-nav__link> <span class=md-ellipsis> LLM Factory </span> </a> </li> <li class=md-nav__item> <a href=#embedding-service class=md-nav__link> <span class=md-ellipsis> Embedding Service </span> </a> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#environment-variables-reference class=md-nav__link> <span class=md-ellipsis> Environment Variables Reference </span> </a> <nav class=md-nav aria-label="Environment Variables Reference"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#required-at-least-one-llm class=md-nav__link> <span class=md-ellipsis> Required (at least one LLM) </span> </a> <nav class=md-nav aria-label="Required (at least one LLM)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-configuration-variables class=md-nav__link> <span class=md-ellipsis> LLM Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#embedding-configuration-variables class=md-nav__link> <span class=md-ellipsis> Embedding Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#web-search-configuration-variables class=md-nav__link> <span class=md-ellipsis> Web Search Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#pubmed-configuration-variables class=md-nav__link> <span class=md-ellipsis> PubMed Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#agent-configuration-variables class=md-nav__link> <span class=md-ellipsis> Agent Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#budget-configuration-variables class=md-nav__link> <span class=md-ellipsis> Budget Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#rag-configuration-variables class=md-nav__link> <span class=md-ellipsis> RAG Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#chromadb-configuration-variables class=md-nav__link> <span class=md-ellipsis> ChromaDB Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#external-services-variables class=md-nav__link> <span class=md-ellipsis> External Services Variables </span> </a> </li> <li class=md-nav__item> <a href=#logging-configuration-variables class=md-nav__link> <span class=md-ellipsis> Logging Configuration Variables </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#validation class=md-nav__link> <span class=md-ellipsis> Validation </span> </a> <nav class=md-nav aria-label=Validation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#validation-examples class=md-nav__link> <span class=md-ellipsis> Validation Examples </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> <nav class=md-nav aria-label="Error Handling"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#error-handling-example class=md-nav__link> <span class=md-ellipsis> Error Handling Example </span> </a> </li> <li class=md-nav__item> <a href=#common-configuration-errors class=md-nav__link> <span class=md-ellipsis> Common Configuration Errors </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-best-practices class=md-nav__link> <span class=md-ellipsis> Configuration Best Practices </span> </a> </li> <li class=md-nav__item> <a href=#future-enhancements class=md-nav__link> <span class=md-ellipsis> Future Enhancements </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#overview class=md-nav__link> <span class=md-ellipsis> Overview </span> </a> </li> <li class=md-nav__item> <a href=#quick-start class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=#configuration-system-architecture class=md-nav__link> <span class=md-ellipsis> Configuration System Architecture </span> </a> <nav class=md-nav aria-label="Configuration System Architecture"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#settings-class class=md-nav__link> <span class=md-ellipsis> Settings Class </span> </a> </li> <li class=md-nav__item> <a href=#singleton-instance class=md-nav__link> <span class=md-ellipsis> Singleton Instance </span> </a> </li> <li class=md-nav__item> <a href=#usage-pattern class=md-nav__link> <span class=md-ellipsis> Usage Pattern </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#required-configuration class=md-nav__link> <span class=md-ellipsis> Required Configuration </span> </a> <nav class=md-nav aria-label="Required Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-provider class=md-nav__link> <span class=md-ellipsis> LLM Provider </span> </a> <nav class=md-nav aria-label="LLM Provider"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#openai-configuration class=md-nav__link> <span class=md-ellipsis> OpenAI Configuration </span> </a> </li> <li class=md-nav__item> <a href=#anthropic-configuration class=md-nav__link> <span class=md-ellipsis> Anthropic Configuration </span> </a> </li> <li class=md-nav__item> <a href=#huggingface-configuration class=md-nav__link> <span class=md-ellipsis> HuggingFace Configuration </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#optional-configuration class=md-nav__link> <span class=md-ellipsis> Optional Configuration </span> </a> <nav class=md-nav aria-label="Optional Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#embedding-configuration class=md-nav__link> <span class=md-ellipsis> Embedding Configuration </span> </a> </li> <li class=md-nav__item> <a href=#web-search-configuration class=md-nav__link> <span class=md-ellipsis> Web Search Configuration </span> </a> </li> <li class=md-nav__item> <a href=#pubmed-configuration class=md-nav__link> <span class=md-ellipsis> PubMed Configuration </span> </a> </li> <li class=md-nav__item> <a href=#agent-configuration class=md-nav__link> <span class=md-ellipsis> Agent Configuration </span> </a> </li> <li class=md-nav__item> <a href=#budget-rate-limiting-configuration class=md-nav__link> <span class=md-ellipsis> Budget & Rate Limiting Configuration </span> </a> </li> <li class=md-nav__item> <a href=#rag-service-configuration class=md-nav__link> <span class=md-ellipsis> RAG Service Configuration </span> </a> </li> <li class=md-nav__item> <a href=#chromadb-configuration class=md-nav__link> <span class=md-ellipsis> ChromaDB Configuration </span> </a> </li> <li class=md-nav__item> <a href=#external-services class=md-nav__link> <span class=md-ellipsis> External Services </span> </a> <nav class=md-nav aria-label="External Services"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#modal-configuration class=md-nav__link> <span class=md-ellipsis> Modal Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#logging-configuration class=md-nav__link> <span class=md-ellipsis> Logging Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-properties class=md-nav__link> <span class=md-ellipsis> Configuration Properties </span> </a> <nav class=md-nav aria-label="Configuration Properties"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#api-key-availability class=md-nav__link> <span class=md-ellipsis> API Key Availability </span> </a> </li> <li class=md-nav__item> <a href=#service-availability class=md-nav__link> <span class=md-ellipsis> Service Availability </span> </a> </li> <li class=md-nav__item> <a href=#api-key-retrieval class=md-nav__link> <span class=md-ellipsis> API Key Retrieval </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-usage-in-codebase class=md-nav__link> <span class=md-ellipsis> Configuration Usage in Codebase </span> </a> <nav class=md-nav aria-label="Configuration Usage in Codebase"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-factory class=md-nav__link> <span class=md-ellipsis> LLM Factory </span> </a> </li> <li class=md-nav__item> <a href=#embedding-service class=md-nav__link> <span class=md-ellipsis> Embedding Service </span> </a> </li> <li class=md-nav__item> <a href=#orchestrator-factory class=md-nav__link> <span class=md-ellipsis> Orchestrator Factory </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#environment-variables-reference class=md-nav__link> <span class=md-ellipsis> Environment Variables Reference </span> </a> <nav class=md-nav aria-label="Environment Variables Reference"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#required-at-least-one-llm class=md-nav__link> <span class=md-ellipsis> Required (at least one LLM) </span> </a> <nav class=md-nav aria-label="Required (at least one LLM)"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#llm-configuration-variables class=md-nav__link> <span class=md-ellipsis> LLM Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#embedding-configuration-variables class=md-nav__link> <span class=md-ellipsis> Embedding Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#web-search-configuration-variables class=md-nav__link> <span class=md-ellipsis> Web Search Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#pubmed-configuration-variables class=md-nav__link> <span class=md-ellipsis> PubMed Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#agent-configuration-variables class=md-nav__link> <span class=md-ellipsis> Agent Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#budget-configuration-variables class=md-nav__link> <span class=md-ellipsis> Budget Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#rag-configuration-variables class=md-nav__link> <span class=md-ellipsis> RAG Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#chromadb-configuration-variables class=md-nav__link> <span class=md-ellipsis> ChromaDB Configuration Variables </span> </a> </li> <li class=md-nav__item> <a href=#external-services-variables class=md-nav__link> <span class=md-ellipsis> External Services Variables </span> </a> </li> <li class=md-nav__item> <a href=#logging-configuration-variables class=md-nav__link> <span class=md-ellipsis> Logging Configuration Variables </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#validation class=md-nav__link> <span class=md-ellipsis> Validation </span> </a> <nav class=md-nav aria-label=Validation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#validation-examples class=md-nav__link> <span class=md-ellipsis> Validation Examples </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> <nav class=md-nav aria-label="Error Handling"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#error-handling-example class=md-nav__link> <span class=md-ellipsis> Error Handling Example </span> </a> </li> <li class=md-nav__item> <a href=#common-configuration-errors class=md-nav__link> <span class=md-ellipsis> Common Configuration Errors </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-best-practices class=md-nav__link> <span class=md-ellipsis> Configuration Best Practices </span> </a> </li> <li class=md-nav__item> <a href=#future-enhancements class=md-nav__link> <span class=md-ellipsis> Future Enhancements </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=configuration-guide>Configuration Guide<a class=headerlink href=#configuration-guide title="Permanent link">¶</a></h1> <h2 id=overview>Overview<a class=headerlink href=#overview title="Permanent link">¶</a></h2> <p>DeepCritical uses <strong>Pydantic Settings</strong> for centralized configuration management. All settings are defined in the <code>Settings</code> class in <code>src/utils/config.py</code> and can be configured via environment variables or a <code>.env</code> file.</p> <p>The configuration system provides:</p> <ul> <li><strong>Type Safety</strong>: Strongly-typed fields with Pydantic validation</li> <li><strong>Environment File Support</strong>: Automatically loads from <code>.env</code> file (if present)</li> <li><strong>Case-Insensitive</strong>: Environment variables are case-insensitive</li> <li><strong>Singleton Pattern</strong>: Global <code>settings</code> instance for easy access throughout the codebase</li> <li><strong>Validation</strong>: Automatic validation on load with helpful error messages</li> </ul> <h2 id=quick-start>Quick Start<a class=headerlink href=#quick-start title="Permanent link">¶</a></h2> <ol> <li>Create a <code>.env</code> file in the project root</li> <li>Set at least one LLM API key (<code>OPENAI_API_KEY</code>, <code>ANTHROPIC_API_KEY</code>, or <code>HF_TOKEN</code>)</li> <li>Optionally configure other services as needed</li> <li>The application will automatically load and validate your configuration</li> </ol> <h2 id=configuration-system-architecture>Configuration System Architecture<a class=headerlink href=#configuration-system-architecture title="Permanent link">¶</a></h2> <h3 id=settings-class>Settings Class<a class=headerlink href=#settings-class title="Permanent link">¶</a></h3> <p>The <code>Settings</code> class extends <code>BaseSettings</code> from <code>pydantic_settings</code> and defines all application configuration:</p> <h3 id=singleton-instance>Singleton Instance<a class=headerlink href=#singleton-instance title="Permanent link">¶</a></h3> <p>A global <code>settings</code> instance is available for import:</p> <h3 id=usage-pattern>Usage Pattern<a class=headerlink href=#usage-pattern title="Permanent link">¶</a></h3> <p>Access configuration throughout the codebase:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.config</span><span class=w> </span><span class=kn>import</span> <span class=n>settings</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=c1># Check if API keys are available</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_openai_key</span><span class=p>:</span>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a> <span class=c1># Use OpenAI</span>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=k>pass</span>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=c1># Access configuration values</span>
|
| 9 |
-
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=n>max_iterations</span> <span class=o>=</span> <span class=n>settings</span><span class=o>.</span><span class=n>max_iterations</span>
|
| 10 |
-
<a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=n>web_search_provider</span> <span class=o>=</span> <span class=n>settings</span><span class=o>.</span><span class=n>web_search_provider</span>
|
| 11 |
-
</code></pre></div> <h2 id=required-configuration>Required Configuration<a class=headerlink href=#required-configuration title="Permanent link">¶</a></h2> <h3 id=llm-provider>LLM Provider<a class=headerlink href=#llm-provider title="Permanent link">¶</a></h3> <p>You must configure at least one LLM provider. The system supports:</p> <ul> <li><strong>OpenAI</strong>: Requires <code>OPENAI_API_KEY</code></li> <li><strong>Anthropic</strong>: Requires <code>ANTHROPIC_API_KEY</code></li> <li><strong>HuggingFace</strong>: Optional <code>HF_TOKEN</code> or <code>HUGGINGFACE_API_KEY</code> (can work without key for public models)</li> </ul> <h4 id=openai-configuration>OpenAI Configuration<a class=headerlink href=#openai-configuration title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>openai
|
| 12 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=nv>OPENAI_API_KEY</span><span class=o>=</span>your_openai_api_key_here
|
| 13 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=nv>OPENAI_MODEL</span><span class=o>=</span>gpt-5.1
|
| 14 |
-
</code></pre></div> <p>The default model is defined in the <code>Settings</code> class:</p> <h4 id=anthropic-configuration>Anthropic Configuration<a class=headerlink href=#anthropic-configuration title="Permanent link">¶</a></h4> <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>anthropic
|
| 15 |
-
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=nv>ANTHROPIC_API_KEY</span><span class=o>=</span>your_anthropic_api_key_here
|
| 16 |
-
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=nv>ANTHROPIC_MODEL</span><span class=o>=</span>claude-sonnet-4-5-20250929
|
| 17 |
-
</code></pre></div> <p>The default model is defined in the <code>Settings</code> class:</p> <h4 id=huggingface-configuration>HuggingFace Configuration<a class=headerlink href=#huggingface-configuration title="Permanent link">¶</a></h4> <p>HuggingFace can work without an API key for public models, but an API key provides higher rate limits:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a><span class=c1># Option 1: Using HF_TOKEN (preferred)</span>
|
| 18 |
-
<a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=nv>HF_TOKEN</span><span class=o>=</span>your_huggingface_token_here
|
| 19 |
-
<a id=__codelineno-3-3 name=__codelineno-3-3 href=#__codelineno-3-3></a>
|
| 20 |
-
<a id=__codelineno-3-4 name=__codelineno-3-4 href=#__codelineno-3-4></a><span class=c1># Option 2: Using HUGGINGFACE_API_KEY (alternative)</span>
|
| 21 |
-
<a id=__codelineno-3-5 name=__codelineno-3-5 href=#__codelineno-3-5></a><span class=nv>HUGGINGFACE_API_KEY</span><span class=o>=</span>your_huggingface_api_key_here
|
| 22 |
-
<a id=__codelineno-3-6 name=__codelineno-3-6 href=#__codelineno-3-6></a>
|
| 23 |
-
<a id=__codelineno-3-7 name=__codelineno-3-7 href=#__codelineno-3-7></a><span class=c1># Default model</span>
|
| 24 |
-
<a id=__codelineno-3-8 name=__codelineno-3-8 href=#__codelineno-3-8></a><span class=nv>HUGGINGFACE_MODEL</span><span class=o>=</span>meta-llama/Llama-3.1-8B-Instruct
|
| 25 |
-
</code></pre></div> <p>The HuggingFace token can be set via either environment variable:</p> <h2 id=optional-configuration>Optional Configuration<a class=headerlink href=#optional-configuration title="Permanent link">¶</a></h2> <h3 id=embedding-configuration>Embedding Configuration<a class=headerlink href=#embedding-configuration title="Permanent link">¶</a></h3> <p>DeepCritical supports multiple embedding providers for semantic search and RAG:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=c1># Embedding Provider: "openai", "local", or "huggingface"</span>
|
| 26 |
-
<a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=nv>EMBEDDING_PROVIDER</span><span class=o>=</span><span class=nb>local</span>
|
| 27 |
-
<a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a>
|
| 28 |
-
<a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a><span class=c1># OpenAI Embedding Model (used by LlamaIndex RAG)</span>
|
| 29 |
-
<a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a><span class=nv>OPENAI_EMBEDDING_MODEL</span><span class=o>=</span>text-embedding-3-small
|
| 30 |
-
<a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a>
|
| 31 |
-
<a id=__codelineno-4-7 name=__codelineno-4-7 href=#__codelineno-4-7></a><span class=c1># Local Embedding Model (sentence-transformers, used by EmbeddingService)</span>
|
| 32 |
-
<a id=__codelineno-4-8 name=__codelineno-4-8 href=#__codelineno-4-8></a><span class=nv>LOCAL_EMBEDDING_MODEL</span><span class=o>=</span>all-MiniLM-L6-v2
|
| 33 |
-
<a id=__codelineno-4-9 name=__codelineno-4-9 href=#__codelineno-4-9></a>
|
| 34 |
-
<a id=__codelineno-4-10 name=__codelineno-4-10 href=#__codelineno-4-10></a><span class=c1># HuggingFace Embedding Model</span>
|
| 35 |
-
<a id=__codelineno-4-11 name=__codelineno-4-11 href=#__codelineno-4-11></a><span class=nv>HUGGINGFACE_EMBEDDING_MODEL</span><span class=o>=</span>sentence-transformers/all-MiniLM-L6-v2
|
| 36 |
-
</code></pre></div> <p>The embedding provider configuration:</p> <p><strong>Note</strong>: OpenAI embeddings require <code>OPENAI_API_KEY</code>. The local provider (default) uses sentence-transformers and requires no API key.</p> <h3 id=web-search-configuration>Web Search Configuration<a class=headerlink href=#web-search-configuration title="Permanent link">¶</a></h3> <p>DeepCritical supports multiple web search providers:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a><span class=c1># Web Search Provider: "serper", "searchxng", "brave", "tavily", or "duckduckgo"</span>
|
| 37 |
-
<a id=__codelineno-5-2 name=__codelineno-5-2 href=#__codelineno-5-2></a><span class=c1># Default: "duckduckgo" (no API key required)</span>
|
| 38 |
-
<a id=__codelineno-5-3 name=__codelineno-5-3 href=#__codelineno-5-3></a><span class=nv>WEB_SEARCH_PROVIDER</span><span class=o>=</span>duckduckgo
|
| 39 |
-
<a id=__codelineno-5-4 name=__codelineno-5-4 href=#__codelineno-5-4></a>
|
| 40 |
-
<a id=__codelineno-5-5 name=__codelineno-5-5 href=#__codelineno-5-5></a><span class=c1># Serper API Key (for Google search via Serper)</span>
|
| 41 |
-
<a id=__codelineno-5-6 name=__codelineno-5-6 href=#__codelineno-5-6></a><span class=nv>SERPER_API_KEY</span><span class=o>=</span>your_serper_api_key_here
|
| 42 |
-
<a id=__codelineno-5-7 name=__codelineno-5-7 href=#__codelineno-5-7></a>
|
| 43 |
-
<a id=__codelineno-5-8 name=__codelineno-5-8 href=#__codelineno-5-8></a><span class=c1># SearchXNG Host URL (for self-hosted search)</span>
|
| 44 |
-
<a id=__codelineno-5-9 name=__codelineno-5-9 href=#__codelineno-5-9></a><span class=nv>SEARCHXNG_HOST</span><span class=o>=</span>http://localhost:8080
|
| 45 |
-
<a id=__codelineno-5-10 name=__codelineno-5-10 href=#__codelineno-5-10></a>
|
| 46 |
-
<a id=__codelineno-5-11 name=__codelineno-5-11 href=#__codelineno-5-11></a><span class=c1># Brave Search API Key</span>
|
| 47 |
-
<a id=__codelineno-5-12 name=__codelineno-5-12 href=#__codelineno-5-12></a><span class=nv>BRAVE_API_KEY</span><span class=o>=</span>your_brave_api_key_here
|
| 48 |
-
<a id=__codelineno-5-13 name=__codelineno-5-13 href=#__codelineno-5-13></a>
|
| 49 |
-
<a id=__codelineno-5-14 name=__codelineno-5-14 href=#__codelineno-5-14></a><span class=c1># Tavily API Key</span>
|
| 50 |
-
<a id=__codelineno-5-15 name=__codelineno-5-15 href=#__codelineno-5-15></a><span class=nv>TAVILY_API_KEY</span><span class=o>=</span>your_tavily_api_key_here
|
| 51 |
-
</code></pre></div> <p>The web search provider configuration:</p> <p><strong>Note</strong>: DuckDuckGo is the default and requires no API key, making it ideal for development and testing.</p> <h3 id=pubmed-configuration>PubMed Configuration<a class=headerlink href=#pubmed-configuration title="Permanent link">¶</a></h3> <p>PubMed search supports optional NCBI API key for higher rate limits:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a><span class=c1># NCBI API Key (optional, for higher rate limits: 10 req/sec vs 3 req/sec)</span>
|
| 52 |
-
<a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a><span class=nv>NCBI_API_KEY</span><span class=o>=</span>your_ncbi_api_key_here
|
| 53 |
-
</code></pre></div> <p>The PubMed tool uses this configuration:</p> <h3 id=agent-configuration>Agent Configuration<a class=headerlink href=#agent-configuration title="Permanent link">¶</a></h3> <p>Control agent behavior and research loop execution:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a><span class=c1># Maximum iterations per research loop (1-50, default: 10)</span>
|
| 54 |
-
<a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=m>10</span>
|
| 55 |
-
<a id=__codelineno-7-3 name=__codelineno-7-3 href=#__codelineno-7-3></a>
|
| 56 |
-
<a id=__codelineno-7-4 name=__codelineno-7-4 href=#__codelineno-7-4></a><span class=c1># Search timeout in seconds</span>
|
| 57 |
-
<a id=__codelineno-7-5 name=__codelineno-7-5 href=#__codelineno-7-5></a><span class=nv>SEARCH_TIMEOUT</span><span class=o>=</span><span class=m>30</span>
|
| 58 |
-
<a id=__codelineno-7-6 name=__codelineno-7-6 href=#__codelineno-7-6></a>
|
| 59 |
-
<a id=__codelineno-7-7 name=__codelineno-7-7 href=#__codelineno-7-7></a><span class=c1># Use graph-based execution for research flows</span>
|
| 60 |
-
<a id=__codelineno-7-8 name=__codelineno-7-8 href=#__codelineno-7-8></a><span class=nv>USE_GRAPH_EXECUTION</span><span class=o>=</span><span class=nb>false</span>
|
| 61 |
-
</code></pre></div> <p>The agent configuration fields:</p> <h3 id=budget-rate-limiting-configuration>Budget & Rate Limiting Configuration<a class=headerlink href=#budget-rate-limiting-configuration title="Permanent link">¶</a></h3> <p>Control resource limits for research loops:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a><span class=c1># Default token budget per research loop (1000-1000000, default: 100000)</span>
|
| 62 |
-
<a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a><span class=nv>DEFAULT_TOKEN_LIMIT</span><span class=o>=</span><span class=m>100000</span>
|
| 63 |
-
<a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a>
|
| 64 |
-
<a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a><span class=c1># Default time limit per research loop in minutes (1-120, default: 10)</span>
|
| 65 |
-
<a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=nv>DEFAULT_TIME_LIMIT_MINUTES</span><span class=o>=</span><span class=m>10</span>
|
| 66 |
-
<a id=__codelineno-8-6 name=__codelineno-8-6 href=#__codelineno-8-6></a>
|
| 67 |
-
<a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a><span class=c1># Default iterations limit per research loop (1-50, default: 10)</span>
|
| 68 |
-
<a id=__codelineno-8-8 name=__codelineno-8-8 href=#__codelineno-8-8></a><span class=nv>DEFAULT_ITERATIONS_LIMIT</span><span class=o>=</span><span class=m>10</span>
|
| 69 |
-
</code></pre></div> <p>The budget configuration with validation:</p> <h3 id=rag-service-configuration>RAG Service Configuration<a class=headerlink href=#rag-service-configuration title="Permanent link">¶</a></h3> <p>Configure the Retrieval-Augmented Generation service:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=c1># ChromaDB collection name for RAG</span>
|
| 70 |
-
<a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></a><span class=nv>RAG_COLLECTION_NAME</span><span class=o>=</span>deepcritical_evidence
|
| 71 |
-
<a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a>
|
| 72 |
-
<a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a><span class=c1># Number of top results to retrieve from RAG (1-50, default: 5)</span>
|
| 73 |
-
<a id=__codelineno-9-5 name=__codelineno-9-5 href=#__codelineno-9-5></a><span class=nv>RAG_SIMILARITY_TOP_K</span><span class=o>=</span><span class=m>5</span>
|
| 74 |
-
<a id=__codelineno-9-6 name=__codelineno-9-6 href=#__codelineno-9-6></a>
|
| 75 |
-
<a id=__codelineno-9-7 name=__codelineno-9-7 href=#__codelineno-9-7></a><span class=c1># Automatically ingest evidence into RAG</span>
|
| 76 |
-
<a id=__codelineno-9-8 name=__codelineno-9-8 href=#__codelineno-9-8></a><span class=nv>RAG_AUTO_INGEST</span><span class=o>=</span><span class=nb>true</span>
|
| 77 |
-
</code></pre></div> <p>The RAG configuration:</p> <h3 id=chromadb-configuration>ChromaDB Configuration<a class=headerlink href=#chromadb-configuration title="Permanent link">¶</a></h3> <p>Configure the vector database for embeddings and RAG:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a><span class=c1># ChromaDB storage path</span>
|
| 78 |
-
<a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=nv>CHROMA_DB_PATH</span><span class=o>=</span>./chroma_db
|
| 79 |
-
<a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a>
|
| 80 |
-
<a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a><span class=c1># Whether to persist ChromaDB to disk</span>
|
| 81 |
-
<a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a><span class=nv>CHROMA_DB_PERSIST</span><span class=o>=</span><span class=nb>true</span>
|
| 82 |
-
<a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a>
|
| 83 |
-
<a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a><span class=c1># ChromaDB server host (for remote ChromaDB, optional)</span>
|
| 84 |
-
<a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a><span class=nv>CHROMA_DB_HOST</span><span class=o>=</span>localhost
|
| 85 |
-
<a id=__codelineno-10-9 name=__codelineno-10-9 href=#__codelineno-10-9></a>
|
| 86 |
-
<a id=__codelineno-10-10 name=__codelineno-10-10 href=#__codelineno-10-10></a><span class=c1># ChromaDB server port (for remote ChromaDB, optional)</span>
|
| 87 |
-
<a id=__codelineno-10-11 name=__codelineno-10-11 href=#__codelineno-10-11></a><span class=nv>CHROMA_DB_PORT</span><span class=o>=</span><span class=m>8000</span>
|
| 88 |
-
</code></pre></div> <p>The ChromaDB configuration:</p> <h3 id=external-services>External Services<a class=headerlink href=#external-services title="Permanent link">¶</a></h3> <h4 id=modal-configuration>Modal Configuration<a class=headerlink href=#modal-configuration title="Permanent link">¶</a></h4> <p>Modal is used for secure sandbox execution of statistical analysis:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=c1># Modal Token ID (for Modal sandbox execution)</span>
|
| 89 |
-
<a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a><span class=nv>MODAL_TOKEN_ID</span><span class=o>=</span>your_modal_token_id_here
|
| 90 |
-
<a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a>
|
| 91 |
-
<a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a><span class=c1># Modal Token Secret</span>
|
| 92 |
-
<a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><span class=nv>MODAL_TOKEN_SECRET</span><span class=o>=</span>your_modal_token_secret_here
|
| 93 |
-
</code></pre></div> <p>The Modal configuration:</p> <h3 id=logging-configuration>Logging Configuration<a class=headerlink href=#logging-configuration title="Permanent link">¶</a></h3> <p>Configure structured logging:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=c1># Log Level: "DEBUG", "INFO", "WARNING", or "ERROR"</span>
|
| 94 |
-
<a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a><span class=nv>LOG_LEVEL</span><span class=o>=</span>INFO
|
| 95 |
-
</code></pre></div> <p>The logging configuration:</p> <p>Logging is configured via the <code>configure_logging()</code> function:</p> <h2 id=configuration-properties>Configuration Properties<a class=headerlink href=#configuration-properties title="Permanent link">¶</a></h2> <p>The <code>Settings</code> class provides helpful properties for checking configuration state:</p> <h3 id=api-key-availability>API Key Availability<a class=headerlink href=#api-key-availability title="Permanent link">¶</a></h3> <p>Check which API keys are available:</p> <p><strong>Usage:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-13-1 name=__codelineno-13-1 href=#__codelineno-13-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.config</span><span class=w> </span><span class=kn>import</span> <span class=n>settings</span>
|
| 96 |
-
<a id=__codelineno-13-2 name=__codelineno-13-2 href=#__codelineno-13-2></a>
|
| 97 |
-
<a id=__codelineno-13-3 name=__codelineno-13-3 href=#__codelineno-13-3></a><span class=c1># Check API key availability</span>
|
| 98 |
-
<a id=__codelineno-13-4 name=__codelineno-13-4 href=#__codelineno-13-4></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_openai_key</span><span class=p>:</span>
|
| 99 |
-
<a id=__codelineno-13-5 name=__codelineno-13-5 href=#__codelineno-13-5></a> <span class=c1># Use OpenAI</span>
|
| 100 |
-
<a id=__codelineno-13-6 name=__codelineno-13-6 href=#__codelineno-13-6></a> <span class=k>pass</span>
|
| 101 |
-
<a id=__codelineno-13-7 name=__codelineno-13-7 href=#__codelineno-13-7></a>
|
| 102 |
-
<a id=__codelineno-13-8 name=__codelineno-13-8 href=#__codelineno-13-8></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_anthropic_key</span><span class=p>:</span>
|
| 103 |
-
<a id=__codelineno-13-9 name=__codelineno-13-9 href=#__codelineno-13-9></a> <span class=c1># Use Anthropic</span>
|
| 104 |
-
<a id=__codelineno-13-10 name=__codelineno-13-10 href=#__codelineno-13-10></a> <span class=k>pass</span>
|
| 105 |
-
<a id=__codelineno-13-11 name=__codelineno-13-11 href=#__codelineno-13-11></a>
|
| 106 |
-
<a id=__codelineno-13-12 name=__codelineno-13-12 href=#__codelineno-13-12></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_huggingface_key</span><span class=p>:</span>
|
| 107 |
-
<a id=__codelineno-13-13 name=__codelineno-13-13 href=#__codelineno-13-13></a> <span class=c1># Use HuggingFace</span>
|
| 108 |
-
<a id=__codelineno-13-14 name=__codelineno-13-14 href=#__codelineno-13-14></a> <span class=k>pass</span>
|
| 109 |
-
<a id=__codelineno-13-15 name=__codelineno-13-15 href=#__codelineno-13-15></a>
|
| 110 |
-
<a id=__codelineno-13-16 name=__codelineno-13-16 href=#__codelineno-13-16></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>has_any_llm_key</span><span class=p>:</span>
|
| 111 |
-
<a id=__codelineno-13-17 name=__codelineno-13-17 href=#__codelineno-13-17></a> <span class=c1># At least one LLM is available</span>
|
| 112 |
-
<a id=__codelineno-13-18 name=__codelineno-13-18 href=#__codelineno-13-18></a> <span class=k>pass</span>
|
| 113 |
-
</code></pre></div> <h3 id=service-availability>Service Availability<a class=headerlink href=#service-availability title="Permanent link">¶</a></h3> <p>Check if external services are configured:</p> <p><strong>Usage:</strong></p> <div class=highlight><pre><span></span><code><a id=__codelineno-14-1 name=__codelineno-14-1 href=#__codelineno-14-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.config</span><span class=w> </span><span class=kn>import</span> <span class=n>settings</span>
|
| 114 |
-
<a id=__codelineno-14-2 name=__codelineno-14-2 href=#__codelineno-14-2></a>
|
| 115 |
-
<a id=__codelineno-14-3 name=__codelineno-14-3 href=#__codelineno-14-3></a><span class=c1># Check service availability</span>
|
| 116 |
-
<a id=__codelineno-14-4 name=__codelineno-14-4 href=#__codelineno-14-4></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>modal_available</span><span class=p>:</span>
|
| 117 |
-
<a id=__codelineno-14-5 name=__codelineno-14-5 href=#__codelineno-14-5></a> <span class=c1># Use Modal sandbox</span>
|
| 118 |
-
<a id=__codelineno-14-6 name=__codelineno-14-6 href=#__codelineno-14-6></a> <span class=k>pass</span>
|
| 119 |
-
<a id=__codelineno-14-7 name=__codelineno-14-7 href=#__codelineno-14-7></a>
|
| 120 |
-
<a id=__codelineno-14-8 name=__codelineno-14-8 href=#__codelineno-14-8></a><span class=k>if</span> <span class=n>settings</span><span class=o>.</span><span class=n>web_search_available</span><span class=p>:</span>
|
| 121 |
-
<a id=__codelineno-14-9 name=__codelineno-14-9 href=#__codelineno-14-9></a> <span class=c1># Web search is configured</span>
|
| 122 |
-
<a id=__codelineno-14-10 name=__codelineno-14-10 href=#__codelineno-14-10></a> <span class=k>pass</span>
|
| 123 |
-
</code></pre></div> <h3 id=api-key-retrieval>API Key Retrieval<a class=headerlink href=#api-key-retrieval title="Permanent link">¶</a></h3> <p>Get the API key for the configured provider:</p> <p>For OpenAI-specific operations (e.g., Magentic mode):</p> <h2 id=configuration-usage-in-codebase>Configuration Usage in Codebase<a class=headerlink href=#configuration-usage-in-codebase title="Permanent link">¶</a></h2> <p>The configuration system is used throughout the codebase:</p> <h3 id=llm-factory>LLM Factory<a class=headerlink href=#llm-factory title="Permanent link">¶</a></h3> <p>The LLM factory uses settings to create appropriate models:</p> <h3 id=embedding-service>Embedding Service<a class=headerlink href=#embedding-service title="Permanent link">¶</a></h3> <p>The embedding service uses local embedding model configuration:</p> <h3 id=orchestrator-factory>Orchestrator Factory<a class=headerlink href=#orchestrator-factory title="Permanent link">¶</a></h3> <p>The orchestrator factory uses settings to determine mode:</p> <h2 id=environment-variables-reference>Environment Variables Reference<a class=headerlink href=#environment-variables-reference title="Permanent link">¶</a></h2> <h3 id=required-at-least-one-llm>Required (at least one LLM)<a class=headerlink href=#required-at-least-one-llm title="Permanent link">¶</a></h3> <ul> <li><code>OPENAI_API_KEY</code> - OpenAI API key (required for OpenAI provider)</li> <li><code>ANTHROPIC_API_KEY</code> - Anthropic API key (required for Anthropic provider)</li> <li><code>HF_TOKEN</code> or <code>HUGGINGFACE_API_KEY</code> - HuggingFace API token (optional, can work without for public models)</li> </ul> <h4 id=llm-configuration-variables>LLM Configuration Variables<a class=headerlink href=#llm-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>LLM_PROVIDER</code> - Provider to use: <code>"openai"</code>, <code>"anthropic"</code>, or <code>"huggingface"</code> (default: <code>"huggingface"</code>)</li> <li><code>OPENAI_MODEL</code> - OpenAI model name (default: <code>"gpt-5.1"</code>)</li> <li><code>ANTHROPIC_MODEL</code> - Anthropic model name (default: <code>"claude-sonnet-4-5-20250929"</code>)</li> <li><code>HUGGINGFACE_MODEL</code> - HuggingFace model ID (default: <code>"meta-llama/Llama-3.1-8B-Instruct"</code>)</li> </ul> <h4 id=embedding-configuration-variables>Embedding Configuration Variables<a class=headerlink href=#embedding-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>EMBEDDING_PROVIDER</code> - Provider: <code>"openai"</code>, <code>"local"</code>, or <code>"huggingface"</code> (default: <code>"local"</code>)</li> <li><code>OPENAI_EMBEDDING_MODEL</code> - OpenAI embedding model (default: <code>"text-embedding-3-small"</code>)</li> <li><code>LOCAL_EMBEDDING_MODEL</code> - Local sentence-transformers model (default: <code>"all-MiniLM-L6-v2"</code>)</li> <li><code>HUGGINGFACE_EMBEDDING_MODEL</code> - HuggingFace embedding model (default: <code>"sentence-transformers/all-MiniLM-L6-v2"</code>)</li> </ul> <h4 id=web-search-configuration-variables>Web Search Configuration Variables<a class=headerlink href=#web-search-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>WEB_SEARCH_PROVIDER</code> - Provider: <code>"serper"</code>, <code>"searchxng"</code>, <code>"brave"</code>, <code>"tavily"</code>, or <code>"duckduckgo"</code> (default: <code>"duckduckgo"</code>)</li> <li><code>SERPER_API_KEY</code> - Serper API key (required for Serper provider)</li> <li><code>SEARCHXNG_HOST</code> - SearchXNG host URL (required for SearchXNG provider)</li> <li><code>BRAVE_API_KEY</code> - Brave Search API key (required for Brave provider)</li> <li><code>TAVILY_API_KEY</code> - Tavily API key (required for Tavily provider)</li> </ul> <h4 id=pubmed-configuration-variables>PubMed Configuration Variables<a class=headerlink href=#pubmed-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>NCBI_API_KEY</code> - NCBI API key (optional, increases rate limit from 3 to 10 req/sec)</li> </ul> <h4 id=agent-configuration-variables>Agent Configuration Variables<a class=headerlink href=#agent-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>MAX_ITERATIONS</code> - Maximum iterations per research loop (1-50, default: <code>10</code>)</li> <li><code>SEARCH_TIMEOUT</code> - Search timeout in seconds (default: <code>30</code>)</li> <li><code>USE_GRAPH_EXECUTION</code> - Use graph-based execution (default: <code>false</code>)</li> </ul> <h4 id=budget-configuration-variables>Budget Configuration Variables<a class=headerlink href=#budget-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>DEFAULT_TOKEN_LIMIT</code> - Default token budget per research loop (1000-1000000, default: <code>100000</code>)</li> <li><code>DEFAULT_TIME_LIMIT_MINUTES</code> - Default time limit in minutes (1-120, default: <code>10</code>)</li> <li><code>DEFAULT_ITERATIONS_LIMIT</code> - Default iterations limit (1-50, default: <code>10</code>)</li> </ul> <h4 id=rag-configuration-variables>RAG Configuration Variables<a class=headerlink href=#rag-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>RAG_COLLECTION_NAME</code> - ChromaDB collection name (default: <code>"deepcritical_evidence"</code>)</li> <li><code>RAG_SIMILARITY_TOP_K</code> - Number of top results to retrieve (1-50, default: <code>5</code>)</li> <li><code>RAG_AUTO_INGEST</code> - Automatically ingest evidence into RAG (default: <code>true</code>)</li> </ul> <h4 id=chromadb-configuration-variables>ChromaDB Configuration Variables<a class=headerlink href=#chromadb-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>CHROMA_DB_PATH</code> - ChromaDB storage path (default: <code>"./chroma_db"</code>)</li> <li><code>CHROMA_DB_PERSIST</code> - Whether to persist ChromaDB to disk (default: <code>true</code>)</li> <li><code>CHROMA_DB_HOST</code> - ChromaDB server host (optional, for remote ChromaDB)</li> <li><code>CHROMA_DB_PORT</code> - ChromaDB server port (optional, for remote ChromaDB)</li> </ul> <h4 id=external-services-variables>External Services Variables<a class=headerlink href=#external-services-variables title="Permanent link">¶</a></h4> <ul> <li><code>MODAL_TOKEN_ID</code> - Modal token ID (optional, for Modal sandbox execution)</li> <li><code>MODAL_TOKEN_SECRET</code> - Modal token secret (optional, for Modal sandbox execution)</li> </ul> <h4 id=logging-configuration-variables>Logging Configuration Variables<a class=headerlink href=#logging-configuration-variables title="Permanent link">¶</a></h4> <ul> <li><code>LOG_LEVEL</code> - Log level: <code>"DEBUG"</code>, <code>"INFO"</code>, <code>"WARNING"</code>, or <code>"ERROR"</code> (default: <code>"INFO"</code>)</li> </ul> <h2 id=validation>Validation<a class=headerlink href=#validation title="Permanent link">¶</a></h2> <p>Settings are validated on load using Pydantic validation:</p> <ul> <li><strong>Type Checking</strong>: All fields are strongly typed</li> <li><strong>Range Validation</strong>: Numeric fields have min/max constraints (e.g., <code>ge=1, le=50</code> for <code>max_iterations</code>)</li> <li><strong>Literal Validation</strong>: Enum fields only accept specific values (e.g., <code>Literal["openai", "anthropic", "huggingface"]</code>)</li> <li><strong>Required Fields</strong>: API keys are checked when accessed via <code>get_api_key()</code> or <code>get_openai_api_key()</code></li> </ul> <h3 id=validation-examples>Validation Examples<a class=headerlink href=#validation-examples title="Permanent link">¶</a></h3> <p>The <code>max_iterations</code> field has range validation:</p> <p>The <code>llm_provider</code> field has literal validation:</p> <h2 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Permanent link">¶</a></h2> <p>Configuration errors raise <code>ConfigurationError</code> from <code>src/utils/exceptions.py</code>:</p> <h3 id=error-handling-example>Error Handling Example<a class=headerlink href=#error-handling-example title="Permanent link">¶</a></h3> <div class=highlight><pre><span></span><code><a id=__codelineno-15-1 name=__codelineno-15-1 href=#__codelineno-15-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.config</span><span class=w> </span><span class=kn>import</span> <span class=n>settings</span>
|
| 124 |
-
<a id=__codelineno-15-2 name=__codelineno-15-2 href=#__codelineno-15-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.utils.exceptions</span><span class=w> </span><span class=kn>import</span> <span class=n>ConfigurationError</span>
|
| 125 |
-
<a id=__codelineno-15-3 name=__codelineno-15-3 href=#__codelineno-15-3></a>
|
| 126 |
-
<a id=__codelineno-15-4 name=__codelineno-15-4 href=#__codelineno-15-4></a><span class=k>try</span><span class=p>:</span>
|
| 127 |
-
<a id=__codelineno-15-5 name=__codelineno-15-5 href=#__codelineno-15-5></a> <span class=n>api_key</span> <span class=o>=</span> <span class=n>settings</span><span class=o>.</span><span class=n>get_api_key</span><span class=p>()</span>
|
| 128 |
-
<a id=__codelineno-15-6 name=__codelineno-15-6 href=#__codelineno-15-6></a><span class=k>except</span> <span class=n>ConfigurationError</span> <span class=k>as</span> <span class=n>e</span><span class=p>:</span>
|
| 129 |
-
<a id=__codelineno-15-7 name=__codelineno-15-7 href=#__codelineno-15-7></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>"Configuration error: </span><span class=si>{</span><span class=n>e</span><span class=si>}</span><span class=s2>"</span><span class=p>)</span>
|
| 130 |
-
</code></pre></div> <h3 id=common-configuration-errors>Common Configuration Errors<a class=headerlink href=#common-configuration-errors title="Permanent link">¶</a></h3> <ol> <li><strong>Missing API Key</strong>: When <code>get_api_key()</code> is called but the required API key is not set</li> <li><strong>Invalid Provider</strong>: When <code>llm_provider</code> is set to an unsupported value</li> <li><strong>Out of Range</strong>: When numeric values exceed their min/max constraints</li> <li><strong>Invalid Literal</strong>: When enum fields receive unsupported values</li> </ol> <h2 id=configuration-best-practices>Configuration Best Practices<a class=headerlink href=#configuration-best-practices title="Permanent link">¶</a></h2> <ol> <li><strong>Use <code>.env</code> File</strong>: Store sensitive keys in <code>.env</code> file (add to <code>.gitignore</code>)</li> <li><strong>Check Availability</strong>: Use properties like <code>has_openai_key</code> before accessing API keys</li> <li><strong>Handle Errors</strong>: Always catch <code>ConfigurationError</code> when calling <code>get_api_key()</code></li> <li><strong>Validate Early</strong>: Configuration is validated on import, so errors surface immediately</li> <li><strong>Use Defaults</strong>: Leverage sensible defaults for optional configuration</li> </ol> <h2 id=future-enhancements>Future Enhancements<a class=headerlink href=#future-enhancements title="Permanent link">¶</a></h2> <p>The following configurations are planned for future phases:</p> <ol> <li><strong>Additional LLM Providers</strong>: DeepSeek, OpenRouter, Gemini, Perplexity, Azure OpenAI, Local models</li> <li><strong>Model Selection</strong>: Reasoning/main/fast model configuration</li> <li><strong>Service Integration</strong>: Additional service integrations and configurations</li> </ol> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
site/configuration/index.html
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
site/contributing/code-quality/index.html
CHANGED
|
@@ -1 +1,12 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/code-quality/ rel=canonical><link href=../ rel=prev><link href=../code-style/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Code Quality & Documentation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#code-quality-documentation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code Quality & Documentation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code Quality & Documentation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code Quality & Documentation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#linting class=md-nav__link> <span class=md-ellipsis> Linting </span> </a> </li> <li class=md-nav__item> <a href=#type-checking class=md-nav__link> <span class=md-ellipsis> Type Checking </span> </a> </li> <li class=md-nav__item> <a href=#pre-commit class=md-nav__link> <span class=md-ellipsis> Pre-commit </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> <nav class=md-nav aria-label=Documentation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#docstrings class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=#code-comments class=md-nav__link> <span class=md-ellipsis> Code Comments </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#linting class=md-nav__link> <span class=md-ellipsis> Linting </span> </a> </li> <li class=md-nav__item> <a href=#type-checking class=md-nav__link> <span class=md-ellipsis> Type Checking </span> </a> </li> <li class=md-nav__item> <a href=#pre-commit class=md-nav__link> <span class=md-ellipsis> Pre-commit </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> <nav class=md-nav aria-label=Documentation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#docstrings class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=#code-comments class=md-nav__link> <span class=md-ellipsis> Code Comments </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=code-quality-documentation>Code Quality & Documentation<a class=headerlink href=#code-quality-documentation title="Permanent link">¶</a></h1> <p>This document outlines code quality standards and documentation requirements.</p> <h2 id=linting>Linting<a class=headerlink href=#linting title="Permanent link">¶</a></h2> <ul> <li>Ruff with 100-char line length</li> <li>Ignore rules documented in <code>pyproject.toml</code>:</li> <li><code>PLR0913</code>: Too many arguments (agents need many params)</li> <li><code>PLR0912</code>: Too many branches (complex orchestrator logic)</li> <li><code>PLR0911</code>: Too many return statements (complex agent logic)</li> <li><code>PLR2004</code>: Magic values (statistical constants)</li> <li><code>PLW0603</code>: Global statement (singleton pattern)</li> <li><code>PLC0415</code>: Lazy imports for optional dependencies</li> </ul> <h2 id=type-checking>Type Checking<a class=headerlink href=#type-checking title="Permanent link">¶</a></h2> <ul> <li><code>mypy --strict</code> compliance</li> <li><code>ignore_missing_imports = true</code> (for optional dependencies)</li> <li>Exclude: <code>reference_repos/</code>, <code>examples/</code></li> <li>All functions must have complete type annotations</li> </ul> <h2 id=pre-commit>Pre-commit<a class=headerlink href=#pre-commit title="Permanent link">¶</a></h2> <ul> <li>Run <code>make check</code> before committing</li> <li>Must pass: lint + typecheck + test-cov</li> <li>Pre-commit hooks installed via <code>make install</code></li> </ul> <h2 id=documentation>Documentation<a class=headerlink href=#documentation title="Permanent link">¶</a></h2> <h3 id=docstrings>Docstrings<a class=headerlink href=#docstrings title="Permanent link">¶</a></h3> <ul> <li>Google-style docstrings for all public functions</li> <li>Include Args, Returns, Raises sections</li> <li>Use type hints in docstrings only if needed for clarity</li> </ul> <p>Example:</p> <h3 id=code-comments>Code Comments<a class=headerlink href=#code-comments title="Permanent link">¶</a></h3> <ul> <li>Explain WHY, not WHAT</li> <li>Document non-obvious patterns (e.g., why <code>requests</code> not <code>httpx</code> for ClinicalTrials)</li> <li>Mark critical sections: <code># CRITICAL: ...</code></li> <li>Document rate limiting rationale</li> <li>Explain async patterns when non-obvious</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../testing/ >Testing</a> - Testing guidelines</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/code-quality/ rel=canonical><link href=../ rel=prev><link href=../code-style/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Code Quality & Documentation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#code-quality--documentation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code Quality & Documentation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code Quality & Documentation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code Quality & Documentation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#linting class=md-nav__link> <span class=md-ellipsis> Linting </span> </a> </li> <li class=md-nav__item> <a href=#type-checking class=md-nav__link> <span class=md-ellipsis> Type Checking </span> </a> </li> <li class=md-nav__item> <a href=#pre-commit class=md-nav__link> <span class=md-ellipsis> Pre-commit </span> </a> <nav class=md-nav aria-label=Pre-commit> <ul class=md-nav__list> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=#pre-commit-hooks class=md-nav__link> <span class=md-ellipsis> Pre-commit Hooks </span> </a> </li> <li class=md-nav__item> <a href=#manual-pre-commit-run class=md-nav__link> <span class=md-ellipsis> Manual Pre-commit Run </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> <nav class=md-nav aria-label=Documentation> <ul class=md-nav__list> <li class=md-nav__item> <a href=#building-documentation class=md-nav__link> <span class=md-ellipsis> Building Documentation </span> </a> </li> <li class=md-nav__item> <a href=#docstrings class=md-nav__link> <span class=md-ellipsis> Docstrings </span> </a> </li> <li class=md-nav__item> <a href=#code-comments class=md-nav__link> <span class=md-ellipsis> Code Comments </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=code-quality--documentation>Code Quality & Documentation<a class=headerlink href=#code-quality--documentation title="Anchor link to this section">¶</a></h1> <p>This document outlines code quality standards and documentation requirements for The DETERMINATOR.</p> <h2 id=linting>Linting<a class=headerlink href=#linting title="Anchor link to this section">¶</a></h2> <ul> <li>Ruff with 100-char line length</li> <li>Ignore rules documented in <code>pyproject.toml</code>:</li> <li><code>PLR0913</code>: Too many arguments (agents need many params)</li> <li><code>PLR0912</code>: Too many branches (complex orchestrator logic)</li> <li><code>PLR0911</code>: Too many return statements (complex agent logic)</li> <li><code>PLR2004</code>: Magic values (statistical constants)</li> <li><code>PLW0603</code>: Global statement (singleton pattern)</li> <li><code>PLC0415</code>: Lazy imports for optional dependencies</li> <li><code>E402</code>: Module level import not at top (needed for pytest.importorskip)</li> <li><code>E501</code>: Line too long (ignore line length violations)</li> <li><code>RUF100</code>: Unused noqa (version differences between local/CI)</li> </ul> <h2 id=type-checking>Type Checking<a class=headerlink href=#type-checking title="Anchor link to this section">¶</a></h2> <ul> <li><code>mypy --strict</code> compliance</li> <li><code>ignore_missing_imports = true</code> (for optional dependencies)</li> <li>Exclude: <code>reference_repos/</code>, <code>examples/</code></li> <li>All functions must have complete type annotations</li> </ul> <h2 id=pre-commit>Pre-commit<a class=headerlink href=#pre-commit title="Anchor link to this section">¶</a></h2> <p>Pre-commit hooks run automatically on commit to ensure code quality. Configuration is in <code>.pre-commit-config.yaml</code>.</p> <h3 id=installation>Installation<a class=headerlink href=#installation title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install dependencies (includes pre-commit package)</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=c1># Set up git hooks (must be run separately)</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>install
|
| 6 |
+
</span></code></pre></div> <p><strong>Note</strong>: <code>uv sync --all-extras</code> installs the pre-commit package, but you must run <code>uv run pre-commit install</code> separately to set up the git hooks.</p> <h3 id=pre-commit-hooks>Pre-commit Hooks<a class=headerlink href=#pre-commit-hooks title="Anchor link to this section">¶</a></h3> <p>The following hooks run automatically on commit:</p> <ol> <li><strong>ruff</strong>: Lints code and fixes issues automatically</li> <li>Runs on: <code>src/</code> (excludes <code>tests/</code>, <code>reference_repos/</code>)</li> <li> <p>Auto-fixes: Yes</p> </li> <li> <p><strong>ruff-format</strong>: Formats code with ruff</p> </li> <li>Runs on: <code>src/</code> (excludes <code>tests/</code>, <code>reference_repos/</code>)</li> <li> <p>Auto-fixes: Yes</p> </li> <li> <p><strong>mypy</strong>: Type checking</p> </li> <li>Runs on: <code>src/</code> (excludes <code>folder/</code>)</li> <li> <p>Additional dependencies: pydantic, pydantic-settings, tenacity, pydantic-ai</p> </li> <li> <p><strong>pytest-unit</strong>: Runs unit tests (excludes OpenAI and embedding_provider tests)</p> </li> <li>Runs: <code>tests/unit/</code> with <code>-m "not openai and not embedding_provider"</code></li> <li> <p>Always runs: Yes (not just on changed files)</p> </li> <li> <p><strong>pytest-local-embeddings</strong>: Runs local embedding tests</p> </li> <li>Runs: <code>tests/</code> with <code>-m "local_embeddings"</code></li> <li>Always runs: Yes</li> </ol> <h3 id=manual-pre-commit-run>Manual Pre-commit Run<a class=headerlink href=#manual-pre-commit-run title="Anchor link to this section">¶</a></h3> <p>To run pre-commit hooks manually (without committing):</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>run<span class=w> </span>--all-files
|
| 7 |
+
</span></code></pre></div> <h3 id=troubleshooting>Troubleshooting<a class=headerlink href=#troubleshooting title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Hooks failing</strong>: Fix the issues shown in the output, then commit again</li> <li><strong>Skipping hooks</strong>: Use <code>git commit --no-verify</code> (not recommended)</li> <li><strong>Hook not running</strong>: Ensure hooks are installed with <code>uv run pre-commit install</code></li> <li><strong>Type errors</strong>: Check that all dependencies are installed with <code>uv sync --all-extras</code></li> </ul> <h2 id=documentation>Documentation<a class=headerlink href=#documentation title="Anchor link to this section">¶</a></h2> <h3 id=building-documentation>Building Documentation<a class=headerlink href=#building-documentation title="Anchor link to this section">¶</a></h3> <p>Documentation is built using MkDocs. Source files are in <code>docs/</code>, and the configuration is in <code>mkdocs.yml</code>.</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=c1># Build documentation</span>
|
| 8 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>uv<span class=w> </span>run<span class=w> </span>mkdocs<span class=w> </span>build
|
| 9 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a>
|
| 10 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=c1># Serve documentation locally (http://127.0.0.1:8000)</span>
|
| 11 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a>uv<span class=w> </span>run<span class=w> </span>mkdocs<span class=w> </span>serve
|
| 12 |
+
</span></code></pre></div> <p>The documentation site is published at: <a href=https://deepcritical.github.io/GradioDemo/ >https://deepcritical.github.io/GradioDemo/</a></p> <h3 id=docstrings>Docstrings<a class=headerlink href=#docstrings title="Anchor link to this section">¶</a></h3> <ul> <li>Google-style docstrings for all public functions</li> <li>Include Args, Returns, Raises sections</li> <li>Use type hints in docstrings only if needed for clarity</li> </ul> <p>Example:</p> <h3 id=code-comments>Code Comments<a class=headerlink href=#code-comments title="Anchor link to this section">¶</a></h3> <ul> <li>Explain WHY, not WHAT</li> <li>Document non-obvious patterns (e.g., why <code>requests</code> not <code>httpx</code> for ClinicalTrials)</li> <li>Mark critical sections: <code># CRITICAL: ...</code></li> <li>Document rate limiting rationale</li> <li>Explain async patterns when non-obvious</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../testing/ >Testing</a> - Testing guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/code-style/index.html
CHANGED
|
@@ -1,3 +1,23 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/code-style/ rel=canonical><link href=../code-quality/ rel=prev><link href=../error-handling/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Code Style & Conventions - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#code-style-conventions class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code Style & Conventions </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code Style & Conventions </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code Style & Conventions </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#type-safety class=md-nav__link> <span class=md-ellipsis> Type Safety </span> </a> </li> <li class=md-nav__item> <a href=#pydantic-models class=md-nav__link> <span class=md-ellipsis> Pydantic Models </span> </a> </li> <li class=md-nav__item> <a href=#async-patterns class=md-nav__link> <span class=md-ellipsis> Async Patterns </span> </a> </li> <li class=md-nav__item> <a href=#common-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Pitfalls </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#type-safety class=md-nav__link> <span class=md-ellipsis> Type Safety </span> </a> </li> <li class=md-nav__item> <a href=#pydantic-models class=md-nav__link> <span class=md-ellipsis> Pydantic Models </span> </a> </li> <li class=md-nav__item> <a href=#async-patterns class=md-nav__link> <span class=md-ellipsis> Async Patterns </span> </a> </li> <li class=md-nav__item> <a href=#common-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Pitfalls </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=code-style-conventions>Code Style & Conventions<a class=headerlink href=#code-style-conventions title="Permanent link">¶</a></h1> <p>This document outlines the code style and conventions for DeepCritical.</p> <h2 id=type-safety>Type Safety<a class=headerlink href=#type-safety title="Permanent link">¶</a></h2> <ul> <li><strong>ALWAYS</strong> use type hints for all function parameters and return types</li> <li>Use <code>mypy --strict</code> compliance (no <code>Any</code> unless absolutely necessary)</li> <li>Use <code>TYPE_CHECKING</code> imports for circular dependencies:</li> </ul> <h2 id=pydantic-models>Pydantic Models<a class=headerlink href=#pydantic-models title="Permanent link">¶</a></h2> <ul> <li>All data exchange uses Pydantic models (<code>src/utils/models.py</code>)</li> <li>Models are frozen (<code>model_config = {"frozen": True}</code>) for immutability</li> <li>Use <code>Field()</code> with descriptions for all model fields</li> <li>Validate with <code>ge=</code>, <code>le=</code>, <code>min_length=</code>, <code>max_length=</code> constraints</li> </ul> <h2 id=async-patterns>Async Patterns<a class=headerlink href=#async-patterns title="Permanent link">¶</a></h2> <ul> <li><strong>ALL</strong> I/O operations must be async (<code>async def</code>, <code>await</code>)</li> <li>Use <code>asyncio.gather()</code> for parallel operations</li> <li>CPU-bound work (embeddings, parsing) must use <code>run_in_executor()</code>:</li> </ul> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>loop</span> <span class=o>=</span> <span class=n>asyncio</span><span class=o>.</span><span class=n>get_running_loop</span><span class=p>()</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=
|
| 3 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/code-style/ rel=canonical><link href=../code-quality/ rel=prev><link href=../error-handling/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Code Style & Conventions - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#code-style--conventions class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Code Style & Conventions </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Code Style & Conventions </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Code Style & Conventions </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#package-manager class=md-nav__link> <span class=md-ellipsis> Package Manager </span> </a> <nav class=md-nav aria-label="Package Manager"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=#running-commands class=md-nav__link> <span class=md-ellipsis> Running Commands </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#type-safety class=md-nav__link> <span class=md-ellipsis> Type Safety </span> </a> </li> <li class=md-nav__item> <a href=#pydantic-models class=md-nav__link> <span class=md-ellipsis> Pydantic Models </span> </a> </li> <li class=md-nav__item> <a href=#async-patterns class=md-nav__link> <span class=md-ellipsis> Async Patterns </span> </a> </li> <li class=md-nav__item> <a href=#common-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Pitfalls </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=code-style--conventions>Code Style & Conventions<a class=headerlink href=#code-style--conventions title="Anchor link to this section">¶</a></h1> <p>This document outlines the code style and conventions for The DETERMINATOR.</p> <h2 id=package-manager>Package Manager<a class=headerlink href=#package-manager title="Anchor link to this section">¶</a></h2> <p>This project uses <a href=https://github.com/astral-sh/uv><code>uv</code></a> as the package manager. All commands should be prefixed with <code>uv run</code> to ensure they run in the correct environment.</p> <h3 id=installation>Installation<a class=headerlink href=#installation title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install uv if you haven't already (recommended: standalone installer)</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=c1># Unix/macOS/Linux:</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>curl<span class=w> </span>-LsSf<span class=w> </span>https://astral.sh/uv/install.sh<span class=w> </span><span class=p>|</span><span class=w> </span>sh
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=c1># Windows (PowerShell):</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>powershell<span class=w> </span>-ExecutionPolicy<span class=w> </span>ByPass<span class=w> </span>-c<span class=w> </span><span class=s2>"irm https://astral.sh/uv/install.ps1 | iex"</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=c1># Alternative: pipx install uv</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=c1># Or: pip install uv</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=c1># Sync all dependencies including dev extras</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras
|
| 13 |
+
</span></code></pre></div> <h3 id=running-commands>Running Commands<a class=headerlink href=#running-commands title="Anchor link to this section">¶</a></h3> <p>All development commands should use <code>uv run</code> prefix:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1># Instead of: pytest tests/</span>
|
| 14 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/
|
| 15 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
|
| 16 |
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=c1># Instead of: ruff check src</span>
|
| 17 |
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a>uv<span class=w> </span>run<span class=w> </span>ruff<span class=w> </span>check<span class=w> </span>src
|
| 18 |
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a>
|
| 19 |
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=c1># Instead of: mypy src</span>
|
| 20 |
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a>uv<span class=w> </span>run<span class=w> </span>mypy<span class=w> </span>src
|
| 21 |
+
</span></code></pre></div> <p>This ensures commands run in the correct virtual environment managed by <code>uv</code>.</p> <h2 id=type-safety>Type Safety<a class=headerlink href=#type-safety title="Anchor link to this section">¶</a></h2> <ul> <li><strong>ALWAYS</strong> use type hints for all function parameters and return types</li> <li>Use <code>mypy --strict</code> compliance (no <code>Any</code> unless absolutely necessary)</li> <li>Use <code>TYPE_CHECKING</code> imports for circular dependencies:</li> </ul> <h2 id=pydantic-models>Pydantic Models<a class=headerlink href=#pydantic-models title="Anchor link to this section">¶</a></h2> <ul> <li>All data exchange uses Pydantic models (<code>src/utils/models.py</code>)</li> <li>Models are frozen (<code>model_config = {"frozen": True}</code>) for immutability</li> <li>Use <code>Field()</code> with descriptions for all model fields</li> <li>Validate with <code>ge=</code>, <code>le=</code>, <code>min_length=</code>, <code>max_length=</code> constraints</li> </ul> <h2 id=async-patterns>Async Patterns<a class=headerlink href=#async-patterns title="Anchor link to this section">¶</a></h2> <ul> <li><strong>ALL</strong> I/O operations must be async (<code>async def</code>, <code>await</code>)</li> <li>Use <code>asyncio.gather()</code> for parallel operations</li> <li>CPU-bound work (embeddings, parsing) must use <code>run_in_executor()</code>:</li> </ul> <div class="language-python highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=n>loop</span> <span class=o>=</span> <span class=n>asyncio</span><span class=o>.</span><span class=n>get_running_loop</span><span class=p>()</span>
|
| 22 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=n>result</span> <span class=o>=</span> <span class=k>await</span> <span class=n>loop</span><span class=o>.</span><span class=n>run_in_executor</span><span class=p>(</span><span class=kc>None</span><span class=p>,</span> <span class=n>cpu_bound_function</span><span class=p>,</span> <span class=n>args</span><span class=p>)</span>
|
| 23 |
+
</span></code></pre></div> <ul> <li>Never block the event loop with synchronous I/O</li> </ul> <h2 id=common-pitfalls>Common Pitfalls<a class=headerlink href=#common-pitfalls title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Blocking the event loop</strong>: Never use sync I/O in async functions</li> <li><strong>Missing type hints</strong>: All functions must have complete type annotations</li> <li><strong>Global mutable state</strong>: Use ContextVar or pass via parameters</li> <li><strong>Import errors</strong>: Lazy-load optional dependencies (magentic, modal, embeddings)</li> </ol> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../error-handling/ >Error Handling</a> - Error handling guidelines</li> <li><a href=../implementation-patterns/ >Implementation Patterns</a> - Common patterns</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/error-handling/index.html
CHANGED
|
@@ -1,9 +1,9 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/error-handling/ rel=canonical><link href=../code-style/ rel=prev><link href=../implementation-patterns/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Error Handling & Logging - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#error-handling-logging class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Error Handling & Logging </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Error Handling & Logging </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Error Handling & Logging </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exception-hierarchy class=md-nav__link> <span class=md-ellipsis> Exception Hierarchy </span> </a> </li> <li class=md-nav__item> <a href=#error-handling-rules class=md-nav__link> <span class=md-ellipsis> Error Handling Rules </span> </a> </li> <li class=md-nav__item> <a href=#logging class=md-nav__link> <span class=md-ellipsis> Logging </span> </a> </li> <li class=md-nav__item> <a href=#logging-examples class=md-nav__link> <span class=md-ellipsis> Logging Examples </span> </a> </li> <li class=md-nav__item> <a href=#error-chaining class=md-nav__link> <span class=md-ellipsis> Error Chaining </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exception-hierarchy class=md-nav__link> <span class=md-ellipsis> Exception Hierarchy </span> </a> </li> <li class=md-nav__item> <a href=#error-handling-rules class=md-nav__link> <span class=md-ellipsis> Error Handling Rules </span> </a> </li> <li class=md-nav__item> <a href=#logging class=md-nav__link> <span class=md-ellipsis> Logging </span> </a> </li> <li class=md-nav__item> <a href=#logging-examples class=md-nav__link> <span class=md-ellipsis> Logging Examples </span> </a> </li> <li class=md-nav__item> <a href=#error-chaining class=md-nav__link> <span class=md-ellipsis> Error Chaining </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=error-handling-logging>Error Handling & Logging<a class=headerlink href=#error-handling-logging title="Permanent link">¶</a></h1> <p>This document outlines error handling and logging conventions for DeepCritical.</p> <h2 id=exception-hierarchy>Exception Hierarchy<a class=headerlink href=#exception-hierarchy title="Permanent link">¶</a></h2> <p>Use custom exception hierarchy (<code>src/utils/exceptions.py</code>):</p> <h2 id=error-handling-rules>Error Handling Rules<a class=headerlink href=#error-handling-rules title="Permanent link">¶</a></h2> <ul> <li>Always chain exceptions: <code>raise SearchError(...) from e</code></li> <li>Log errors with context using <code>structlog</code>:</li> </ul> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>logger</span><span class=o>.</span><span class=n>error</span><span class=p>(</span><span class=s2>"Operation failed"</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>e</span><span class=p>),</span> <span class=n>context</span><span class=o>=</span><span class=n>value</span><span class=p>)</span>
|
| 2 |
-
</code></pre></div> <ul> <li>Never silently swallow exceptions</li> <li>Provide actionable error messages</li> </ul> <h2 id=logging>Logging<a class=headerlink href=#logging title="
|
| 3 |
-
<a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=n>logger</span><span class=o>.</span><span class=n>warning</span><span class=p>(</span><span class=s2>"Search tool failed"</span><span class=p>,</span> <span class=n>tool</span><span class=o>=</span><span class=n>tool</span><span class=o>.</span><span class=n>name</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>result</span><span class=p>))</span>
|
| 4 |
-
<a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>logger</span><span class=o>.</span><span class=n>error</span><span class=p>(</span><span class=s2>"Assessment failed"</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>e</span><span class=p>))</span>
|
| 5 |
-
</code></pre></div> <h2 id=error-chaining>Error Chaining<a class=headerlink href=#error-chaining title="
|
| 6 |
-
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=n>result</span> <span class=o>=</span> <span class=k>await</span> <span class=n>api_call</span><span class=p>()</span>
|
| 7 |
-
<a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=k>except</span> <span class=n>httpx</span><span class=o>.</span><span class=n>HTTPError</span> <span class=k>as</span> <span class=n>e</span><span class=p>:</span>
|
| 8 |
-
<a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=k>raise</span> <span class=n>SearchError</span><span class=p>(</span><span class=sa>f</span><span class=s2>"API call failed: </span><span class=si>{</span><span class=n>e</span><span class=si>}</span><span class=s2>"</span><span class=p>)</span> <span class=kn>from</span><span class=w> </span><span class=nn>e</span>
|
| 9 |
-
</code></pre></div> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/error-handling/ rel=canonical><link href=../code-style/ rel=prev><link href=../implementation-patterns/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Error Handling & Logging - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#error-handling--logging class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Error Handling & Logging </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Error Handling & Logging </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Error Handling & Logging </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#exception-hierarchy class=md-nav__link> <span class=md-ellipsis> Exception Hierarchy </span> </a> </li> <li class=md-nav__item> <a href=#error-handling-rules class=md-nav__link> <span class=md-ellipsis> Error Handling Rules </span> </a> </li> <li class=md-nav__item> <a href=#logging class=md-nav__link> <span class=md-ellipsis> Logging </span> </a> </li> <li class=md-nav__item> <a href=#logging-examples class=md-nav__link> <span class=md-ellipsis> Logging Examples </span> </a> </li> <li class=md-nav__item> <a href=#error-chaining class=md-nav__link> <span class=md-ellipsis> Error Chaining </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=error-handling--logging>Error Handling & Logging<a class=headerlink href=#error-handling--logging title="Anchor link to this section">¶</a></h1> <p>This document outlines error handling and logging conventions for The DETERMINATOR.</p> <h2 id=exception-hierarchy>Exception Hierarchy<a class=headerlink href=#exception-hierarchy title="Anchor link to this section">¶</a></h2> <p>Use custom exception hierarchy (<code>src/utils/exceptions.py</code>):</p> <h2 id=error-handling-rules>Error Handling Rules<a class=headerlink href=#error-handling-rules title="Anchor link to this section">¶</a></h2> <ul> <li>Always chain exceptions: <code>raise SearchError(...) from e</code></li> <li>Log errors with context using <code>structlog</code>:</li> </ul> <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=n>logger</span><span class=o>.</span><span class=n>error</span><span class=p>(</span><span class=s2>"Operation failed"</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>e</span><span class=p>),</span> <span class=n>context</span><span class=o>=</span><span class=n>value</span><span class=p>)</span>
|
| 2 |
+
</span></code></pre></div> <ul> <li>Never silently swallow exceptions</li> <li>Provide actionable error messages</li> </ul> <h2 id=logging>Logging<a class=headerlink href=#logging title="Anchor link to this section">¶</a></h2> <ul> <li>Use <code>structlog</code> for all logging (NOT <code>print</code> or <code>logging</code>)</li> <li>Import: <code>import structlog; logger = structlog.get_logger()</code></li> <li>Log with structured data: <code>logger.info("event", key=value)</code></li> <li>Use appropriate levels: DEBUG, INFO, WARNING, ERROR</li> </ul> <h2 id=logging-examples>Logging Examples<a class=headerlink href=#logging-examples title="Anchor link to this section">¶</a></h2> <div class="language-python highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=n>logger</span><span class=o>.</span><span class=n>info</span><span class=p>(</span><span class=s2>"Starting search"</span><span class=p>,</span> <span class=n>query</span><span class=o>=</span><span class=n>query</span><span class=p>,</span> <span class=n>tools</span><span class=o>=</span><span class=p>[</span><span class=n>t</span><span class=o>.</span><span class=n>name</span> <span class=k>for</span> <span class=n>t</span> <span class=ow>in</span> <span class=n>tools</span><span class=p>])</span>
|
| 3 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=n>logger</span><span class=o>.</span><span class=n>warning</span><span class=p>(</span><span class=s2>"Search tool failed"</span><span class=p>,</span> <span class=n>tool</span><span class=o>=</span><span class=n>tool</span><span class=o>.</span><span class=n>name</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>result</span><span class=p>))</span>
|
| 4 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a><span class=n>logger</span><span class=o>.</span><span class=n>error</span><span class=p>(</span><span class=s2>"Assessment failed"</span><span class=p>,</span> <span class=n>error</span><span class=o>=</span><span class=nb>str</span><span class=p>(</span><span class=n>e</span><span class=p>))</span>
|
| 5 |
+
</span></code></pre></div> <h2 id=error-chaining>Error Chaining<a class=headerlink href=#error-chaining title="Anchor link to this section">¶</a></h2> <p>Always preserve exception context:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=k>try</span><span class=p>:</span>
|
| 6 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a> <span class=n>result</span> <span class=o>=</span> <span class=k>await</span> <span class=n>api_call</span><span class=p>()</span>
|
| 7 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=k>except</span> <span class=n>httpx</span><span class=o>.</span><span class=n>HTTPError</span> <span class=k>as</span> <span class=n>e</span><span class=p>:</span>
|
| 8 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=k>raise</span> <span class=n>SearchError</span><span class=p>(</span><span class=sa>f</span><span class=s2>"API call failed: </span><span class=si>{</span><span class=n>e</span><span class=si>}</span><span class=s2>"</span><span class=p>)</span> <span class=kn>from</span><span class=w> </span><span class=nn>e</span>
|
| 9 |
+
</span></code></pre></div> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../testing/ >Testing</a> - Testing guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/implementation-patterns/index.html
CHANGED
|
@@ -1,10 +1,10 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/implementation-patterns/ rel=canonical><link href=../error-handling/ rel=prev><link href=../prompt-engineering/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Implementation Patterns - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#implementation-patterns class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Implementation Patterns </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Implementation Patterns </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Implementation Patterns </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#judge-handlers class=md-nav__link> <span class=md-ellipsis> Judge Handlers </span> </a> </li> <li class=md-nav__item> <a href=#agent-factory-pattern class=md-nav__link> <span class=md-ellipsis> Agent Factory Pattern </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#judge-handlers class=md-nav__link> <span class=md-ellipsis> Judge Handlers </span> </a> </li> <li class=md-nav__item> <a href=#agent-factory-pattern class=md-nav__link> <span class=md-ellipsis> Agent Factory Pattern </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=implementation-patterns>Implementation Patterns<a class=headerlink href=#implementation-patterns title="Permanent link">¶</a></h1> <p>This document outlines common implementation patterns used in DeepCritical.</p> <h2 id=search-tools>Search Tools<a class=headerlink href=#search-tools title="Permanent link">¶</a></h2> <p>All tools implement <code>SearchTool</code> protocol (<code>src/tools/base.py</code>):</p> <ul> <li>Must have <code>name</code> property</li> <li>Must implement <code>async def search(query, max_results) -> list[Evidence]</code></li> <li>Use <code>@retry</code> decorator from tenacity for resilience</li> <li>Rate limiting: Implement <code>_rate_limit()</code> for APIs with limits (e.g., PubMed)</li> <li>Error handling: Raise <code>SearchError</code> or <code>RateLimitError</code> on failures</li> </ul> <p>Example pattern:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>class</span><span class=w> </span><span class=nc>MySearchTool</span><span class=p>:</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=nd>@property</span>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>def</span><span class=w> </span><span class=nf>name</span><span class=p>(</span><span class=bp>self</span><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span><span class=p>:</span>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>return</span> <span class=s2>"mytool"</span>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=nd>@retry</span><span class=p>(</span><span class=n>stop</span><span class=o>=</span><span class=n>stop_after_attempt</span><span class=p>(</span><span class=mi>3</span><span class=p>),</span> <span class=n>wait</span><span class=o>=</span><span class=n>wait_exponential</span><span class=p>(</span><span class=o>...</span><span class=p>))</span>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>search</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span> <span class=n>max_results</span><span class=p>:</span> <span class=nb>int</span> <span class=o>=</span> <span class=mi>10</span><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=n>Evidence</span><span class=p>]:</span>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a> <span class=c1># Implementation</span>
|
| 9 |
-
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a> <span class=k>return</span> <span class=n>evidence_list</span>
|
| 10 |
-
</code></pre></div> <h2 id=judge-handlers>Judge Handlers<a class=headerlink href=#judge-handlers title="Permanent link">¶</a></h2> <ul> <li>Implement <code>JudgeHandlerProtocol</code> (<code>async def assess(question, evidence) -> JudgeAssessment</code>)</li> <li>Use pydantic-ai <code>Agent</code> with <code>output_type=JudgeAssessment</code></li> <li>System prompts in <code>src/prompts/judge.py</code></li> <li>Support fallback handlers: <code>MockJudgeHandler</code>, <code>HFInferenceJudgeHandler</code></li> <li>Always return valid <code>JudgeAssessment</code> (never raise exceptions)</li> </ul> <h2 id=agent-factory-pattern>Agent Factory Pattern<a class=headerlink href=#agent-factory-pattern title="Permanent link">¶</a></h2> <ul> <li>Use factory functions for creating agents (<code>src/agent_factory/</code>)</li> <li>Lazy initialization for optional dependencies (e.g., embeddings, Modal)</li> <li>Check requirements before initialization:</li> </ul> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Permanent link">¶</a></h2> <ul> <li><strong>Magentic Mode</strong>: Use <code>ContextVar</code> for thread-safe state (<code>src/agents/state.py</code>)</li> <li><strong>Simple Mode</strong>: Pass state via function parameters</li> <li>Never use global mutable state (except singletons via <code>@lru_cache</code>)</li> </ul> <h2 id=singleton-pattern>Singleton Pattern<a class=headerlink href=#singleton-pattern title="Permanent link">¶</a></h2> <p>Use <code>@lru_cache(maxsize=1)</code> for singletons:</p> <ul> <li>Lazy initialization to avoid requiring dependencies at import time</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../error-handling/ >Error Handling</a> - Error handling guidelines</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/implementation-patterns/ rel=canonical><link href=../error-handling/ rel=prev><link href=../prompt-engineering/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Implementation Patterns - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#implementation-patterns class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Implementation Patterns </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Implementation Patterns </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Implementation Patterns </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#judge-handlers class=md-nav__link> <span class=md-ellipsis> Judge Handlers </span> </a> </li> <li class=md-nav__item> <a href=#agent-factory-pattern class=md-nav__link> <span class=md-ellipsis> Agent Factory Pattern </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a href=#singleton-pattern class=md-nav__link> <span class=md-ellipsis> Singleton Pattern </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=implementation-patterns>Implementation Patterns<a class=headerlink href=#implementation-patterns title="Anchor link to this section">¶</a></h1> <p>This document outlines common implementation patterns used in The DETERMINATOR.</p> <h2 id=search-tools>Search Tools<a class=headerlink href=#search-tools title="Anchor link to this section">¶</a></h2> <p>All tools implement <code>SearchTool</code> protocol (<code>src/tools/base.py</code>):</p> <ul> <li>Must have <code>name</code> property</li> <li>Must implement <code>async def search(query, max_results) -> list[Evidence]</code></li> <li>Use <code>@retry</code> decorator from tenacity for resilience</li> <li>Rate limiting: Implement <code>_rate_limit()</code> for APIs with limits (e.g., PubMed)</li> <li>Error handling: Raise <code>SearchError</code> or <code>RateLimitError</code> on failures</li> </ul> <p>Example pattern:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=k>class</span><span class=w> </span><span class=nc>MySearchTool</span><span class=p>:</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a> <span class=nd>@property</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a> <span class=k>def</span><span class=w> </span><span class=nf>name</span><span class=p>(</span><span class=bp>self</span><span class=p>)</span> <span class=o>-></span> <span class=nb>str</span><span class=p>:</span>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a> <span class=k>return</span> <span class=s2>"mytool"</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a> <span class=nd>@retry</span><span class=p>(</span><span class=n>stop</span><span class=o>=</span><span class=n>stop_after_attempt</span><span class=p>(</span><span class=mi>3</span><span class=p>),</span> <span class=n>wait</span><span class=o>=</span><span class=n>wait_exponential</span><span class=p>(</span><span class=o>...</span><span class=p>))</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a> <span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>search</span><span class=p>(</span><span class=bp>self</span><span class=p>,</span> <span class=n>query</span><span class=p>:</span> <span class=nb>str</span><span class=p>,</span> <span class=n>max_results</span><span class=p>:</span> <span class=nb>int</span> <span class=o>=</span> <span class=mi>10</span><span class=p>)</span> <span class=o>-></span> <span class=nb>list</span><span class=p>[</span><span class=n>Evidence</span><span class=p>]:</span>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a> <span class=c1># Implementation</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a> <span class=k>return</span> <span class=n>evidence_list</span>
|
| 10 |
+
</span></code></pre></div> <h2 id=judge-handlers>Judge Handlers<a class=headerlink href=#judge-handlers title="Anchor link to this section">¶</a></h2> <ul> <li>Implement <code>JudgeHandlerProtocol</code> (<code>async def assess(question, evidence) -> JudgeAssessment</code>)</li> <li>Use pydantic-ai <code>Agent</code> with <code>output_type=JudgeAssessment</code></li> <li>System prompts in <code>src/prompts/judge.py</code></li> <li>Support fallback handlers: <code>MockJudgeHandler</code>, <code>HFInferenceJudgeHandler</code></li> <li>Always return valid <code>JudgeAssessment</code> (never raise exceptions)</li> </ul> <h2 id=agent-factory-pattern>Agent Factory Pattern<a class=headerlink href=#agent-factory-pattern title="Anchor link to this section">¶</a></h2> <ul> <li>Use factory functions for creating agents (<code>src/agent_factory/</code>)</li> <li>Lazy initialization for optional dependencies (e.g., embeddings, Modal)</li> <li>Check requirements before initialization:</li> </ul> <h2 id=state-management>State Management<a class=headerlink href=#state-management title="Anchor link to this section">¶</a></h2> <ul> <li><strong>Magentic Mode</strong>: Use <code>ContextVar</code> for thread-safe state (<code>src/agents/state.py</code>)</li> <li><strong>Simple Mode</strong>: Pass state via function parameters</li> <li>Never use global mutable state (except singletons via <code>@lru_cache</code>)</li> </ul> <h2 id=singleton-pattern>Singleton Pattern<a class=headerlink href=#singleton-pattern title="Anchor link to this section">¶</a></h2> <p>Use <code>@lru_cache(maxsize=1)</code> for singletons:</p> <ul> <li>Lazy initialization to avoid requiring dependencies at import time</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../error-handling/ >Error Handling</a> - Error handling guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/index.html
CHANGED
|
@@ -1,15 +1,52 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/ rel=canonical><link href=../api/models/ rel=prev><link href=code-quality/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Contributing to DeepCritical - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributing-to-deepcritical class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Contributing to DeepCritical </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Contributing to DeepCritical </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#git-workflow class=md-nav__link> <span class=md-ellipsis> Git Workflow </span> </a> </li> <li class=md-nav__item> <a href=#development-commands class=md-nav__link> <span class=md-ellipsis> Development Commands </span> </a> </li> <li class=md-nav__item> <a href=#getting-started class=md-nav__link> <span class=md-ellipsis> Getting Started </span> </a> </li> <li class=md-nav__item> <a href=#development-guidelines class=md-nav__link> <span class=md-ellipsis> Development Guidelines </span> </a> <nav class=md-nav aria-label="Development Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-style class=md-nav__link> <span class=md-ellipsis> Code Style </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#testing class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> <li class=md-nav__item> <a href=#implementation-patterns class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=#prompt-engineering class=md-nav__link> <span class=md-ellipsis> Prompt Engineering </span> </a> </li> <li class=md-nav__item> <a href=#code-quality class=md-nav__link> <span class=md-ellipsis> Code Quality </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mcp-integration class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> <nav class=md-nav aria-label="MCP Integration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mcp-tools class=md-nav__link> <span class=md-ellipsis> MCP Tools </span> </a> </li> <li class=md-nav__item> <a href=#gradio-mcp-server class=md-nav__link> <span class=md-ellipsis> Gradio MCP Server </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Pitfalls </span> </a> </li> <li class=md-nav__item> <a href=#key-principles class=md-nav__link> <span class=md-ellipsis> Key Principles </span> </a> </li> <li class=md-nav__item> <a href=#pull-request-process class=md-nav__link> <span class=md-ellipsis> Pull Request Process </span> </a> </li> <li class=md-nav__item> <a href=#questions class=md-nav__link> <span class=md-ellipsis> Questions? </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#git-workflow class=md-nav__link> <span class=md-ellipsis> Git Workflow </span> </a> </li> <li class=md-nav__item> <a href=#development-commands class=md-nav__link> <span class=md-ellipsis> Development Commands </span> </a> </li> <li class=md-nav__item> <a href=#getting-started class=md-nav__link> <span class=md-ellipsis> Getting Started </span> </a> </li> <li class=md-nav__item> <a href=#development-guidelines class=md-nav__link> <span class=md-ellipsis> Development Guidelines </span> </a> <nav class=md-nav aria-label="Development Guidelines"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-style class=md-nav__link> <span class=md-ellipsis> Code Style </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#testing class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> <li class=md-nav__item> <a href=#implementation-patterns class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=#prompt-engineering class=md-nav__link> <span class=md-ellipsis> Prompt Engineering </span> </a> </li> <li class=md-nav__item> <a href=#code-quality class=md-nav__link> <span class=md-ellipsis> Code Quality </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mcp-integration class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> <nav class=md-nav aria-label="MCP Integration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#mcp-tools class=md-nav__link> <span class=md-ellipsis> MCP Tools </span> </a> </li> <li class=md-nav__item> <a href=#gradio-mcp-server class=md-nav__link> <span class=md-ellipsis> Gradio MCP Server </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#common-pitfalls class=md-nav__link> <span class=md-ellipsis> Common Pitfalls </span> </a> </li> <li class=md-nav__item> <a href=#key-principles class=md-nav__link> <span class=md-ellipsis> Key Principles </span> </a> </li> <li class=md-nav__item> <a href=#pull-request-process class=md-nav__link> <span class=md-ellipsis> Pull Request Process </span> </a> </li> <li class=md-nav__item> <a href=#questions class=md-nav__link> <span class=md-ellipsis> Questions? </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=contributing-to-deepcritical>Contributing to DeepCritical<a class=headerlink href=#contributing-to-deepcritical title="Permanent link">¶</a></h1> <p>Thank you for your interest in contributing to DeepCritical! This guide will help you get started.</p> <h2 id=git-workflow>Git Workflow<a class=headerlink href=#git-workflow title="Permanent link">¶</a></h2> <ul> <li><code>main</code>: Production-ready (GitHub)</li> <li><code>dev</code>: Development integration (GitHub)</li> <li>Use feature branches: <code>yourname-dev</code></li> <li><strong>NEVER</strong> push directly to <code>main</code> or <code>dev</code> on HuggingFace</li> <li>GitHub is source of truth; HuggingFace is for deployment</li> </ul> <h2 id=development-commands>Development Commands<a class=headerlink href=#development-commands title="Permanent link">¶</a></h2> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>make<span class=w> </span>install<span class=w> </span><span class=c1># Install dependencies + pre-commit</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
-
<
|
| 8 |
-
</
|
| 9 |
-
<a id=__codelineno-1-
|
| 10 |
-
</
|
| 11 |
-
</
|
| 12 |
-
</
|
| 13 |
-
</
|
| 14 |
-
<a id=__codelineno-
|
| 15 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/ rel=canonical><link href=../api/models/ rel=prev><link href=code-quality/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Contributing to The DETERMINATOR - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../css/timeago.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#contributing-to-the-determinator class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Contributing to The DETERMINATOR </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link md-nav__link--active" for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=contributing-to-the-determinator>Contributing to The DETERMINATOR<a class=headerlink href=#contributing-to-the-determinator title="Anchor link to this section">¶</a></h1> <p>Thank you for your interest in contributing to The DETERMINATOR! This guide will help you get started.</p> <blockquote> <p><strong>Note on Project Names</strong>: "The DETERMINATOR" is the product name, "DeepCritical" is the organization/project name, and "determinator" is the Python package name.</p> </blockquote> <h2 id=git-workflow>Git Workflow<a class=headerlink href=#git-workflow title="Anchor link to this section">¶</a></h2> <ul> <li><code>main</code>: Production-ready (GitHub)</li> <li><code>dev</code>: Development integration (GitHub)</li> <li>Use feature branches: <code>yourname-dev</code></li> <li><strong>NEVER</strong> push directly to <code>main</code> or <code>dev</code> on HuggingFace</li> <li>GitHub is source of truth; HuggingFace is for deployment</li> </ul> <h2 id=repository-information>Repository Information<a class=headerlink href=#repository-information title="Anchor link to this section">¶</a></h2> <ul> <li><strong>GitHub Repository</strong>: <a href=https://github.com/DeepCritical/GradioDemo><code>DeepCritical/GradioDemo</code></a> (source of truth, PRs, code review)</li> <li><strong>HuggingFace Space</strong>: <a href=https://huggingface.co/spaces/DataQuests/DeepCritical><code>DataQuests/DeepCritical</code></a> (deployment/demo)</li> <li><strong>Package Name</strong>: <code>determinator</code> (Python package name in <code>pyproject.toml</code>)</li> </ul> <h3 id=dual-repository-setup>Dual Repository Setup<a class=headerlink href=#dual-repository-setup title="Anchor link to this section">¶</a></h3> <p>This project uses a dual repository setup:</p> <ul> <li><strong>GitHub (<code>DeepCritical/GradioDemo</code>)</strong>: Source of truth for code, PRs, and code review</li> <li><strong>HuggingFace (<code>DataQuests/DeepCritical</code>)</strong>: Deployment target for the Gradio demo</li> </ul> <h4 id=remote-configuration>Remote Configuration<a class=headerlink href=#remote-configuration title="Anchor link to this section">¶</a></h4> <p>When cloning, set up remotes as follows:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Clone from GitHub</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>git<span class=w> </span>clone<span class=w> </span>https://github.com/DeepCritical/GradioDemo.git
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=nb>cd</span><span class=w> </span>GradioDemo
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=c1># Add HuggingFace remote (optional, for deployment)</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>git<span class=w> </span>remote<span class=w> </span>add<span class=w> </span>huggingface-upstream<span class=w> </span>https://huggingface.co/spaces/DataQuests/DeepCritical
|
| 7 |
+
</span></code></pre></div> <p><strong>Important</strong>: Never push directly to <code>main</code> or <code>dev</code> on HuggingFace. Always work through GitHub PRs. GitHub is the source of truth; HuggingFace is for deployment/demo only.</p> <h2 id=package-manager>Package Manager<a class=headerlink href=#package-manager title="Anchor link to this section">¶</a></h2> <p>This project uses <a href=https://github.com/astral-sh/uv><code>uv</code></a> as the package manager. All commands should be prefixed with <code>uv run</code> to ensure they run in the correct environment.</p> <h3 id=installation>Installation<a class=headerlink href=#installation title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1># Install uv if you haven't already (recommended: standalone installer)</span>
|
| 8 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a><span class=c1># Unix/macOS/Linux:</span>
|
| 9 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>curl<span class=w> </span>-LsSf<span class=w> </span>https://astral.sh/uv/install.sh<span class=w> </span><span class=p>|</span><span class=w> </span>sh
|
| 10 |
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a>
|
| 11 |
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a><span class=c1># Windows (PowerShell):</span>
|
| 12 |
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a>powershell<span class=w> </span>-ExecutionPolicy<span class=w> </span>ByPass<span class=w> </span>-c<span class=w> </span><span class=s2>"irm https://astral.sh/uv/install.ps1 | iex"</span>
|
| 13 |
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a>
|
| 14 |
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a><span class=c1># Alternative: pipx install uv</span>
|
| 15 |
+
</span><span id=__span-1-9><a id=__codelineno-1-9 name=__codelineno-1-9 href=#__codelineno-1-9></a><span class=c1># Or: pip install uv</span>
|
| 16 |
+
</span><span id=__span-1-10><a id=__codelineno-1-10 name=__codelineno-1-10 href=#__codelineno-1-10></a>
|
| 17 |
+
</span><span id=__span-1-11><a id=__codelineno-1-11 name=__codelineno-1-11 href=#__codelineno-1-11></a><span class=c1># Sync all dependencies including dev extras</span>
|
| 18 |
+
</span><span id=__span-1-12><a id=__codelineno-1-12 name=__codelineno-1-12 href=#__codelineno-1-12></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras
|
| 19 |
+
</span><span id=__span-1-13><a id=__codelineno-1-13 name=__codelineno-1-13 href=#__codelineno-1-13></a>
|
| 20 |
+
</span><span id=__span-1-14><a id=__codelineno-1-14 name=__codelineno-1-14 href=#__codelineno-1-14></a><span class=c1># Install pre-commit hooks</span>
|
| 21 |
+
</span><span id=__span-1-15><a id=__codelineno-1-15 name=__codelineno-1-15 href=#__codelineno-1-15></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>install
|
| 22 |
+
</span></code></pre></div> <h2 id=development-commands>Development Commands<a class=headerlink href=#development-commands title="Anchor link to this section">¶</a></h2> <div class="language-bash highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=c1># Installation</span>
|
| 23 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras<span class=w> </span><span class=c1># Install all dependencies including dev</span>
|
| 24 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>install<span class=w> </span><span class=c1># Install pre-commit hooks</span>
|
| 25 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a>
|
| 26 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><span class=c1># Code Quality Checks (run all before committing)</span>
|
| 27 |
+
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a>uv<span class=w> </span>run<span class=w> </span>ruff<span class=w> </span>check<span class=w> </span>src<span class=w> </span>tests<span class=w> </span><span class=c1># Lint with ruff</span>
|
| 28 |
+
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a>uv<span class=w> </span>run<span class=w> </span>ruff<span class=w> </span>format<span class=w> </span>src<span class=w> </span>tests<span class=w> </span><span class=c1># Format with ruff</span>
|
| 29 |
+
</span><span id=__span-2-8><a id=__codelineno-2-8 name=__codelineno-2-8 href=#__codelineno-2-8></a>uv<span class=w> </span>run<span class=w> </span>mypy<span class=w> </span>src<span class=w> </span><span class=c1># Type checking</span>
|
| 30 |
+
</span><span id=__span-2-9><a id=__codelineno-2-9 name=__codelineno-2-9 href=#__codelineno-2-9></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>term-missing<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Tests with coverage</span>
|
| 31 |
+
</span><span id=__span-2-10><a id=__codelineno-2-10 name=__codelineno-2-10 href=#__codelineno-2-10></a>
|
| 32 |
+
</span><span id=__span-2-11><a id=__codelineno-2-11 name=__codelineno-2-11 href=#__codelineno-2-11></a><span class=c1># Testing Commands</span>
|
| 33 |
+
</span><span id=__span-2-12><a id=__codelineno-2-12 name=__codelineno-2-12 href=#__codelineno-2-12></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Run unit tests (excludes OpenAI tests)</span>
|
| 34 |
+
</span><span id=__span-2-13><a id=__codelineno-2-13 name=__codelineno-2-13 href=#__codelineno-2-13></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"huggingface"</span><span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Run HuggingFace tests</span>
|
| 35 |
+
</span><span id=__span-2-14><a id=__codelineno-2-14 name=__codelineno-2-14 href=#__codelineno-2-14></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Run all tests</span>
|
| 36 |
+
</span><span id=__span-2-15><a id=__codelineno-2-15 name=__codelineno-2-15 href=#__codelineno-2-15></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>term-missing<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Tests with terminal coverage</span>
|
| 37 |
+
</span><span id=__span-2-16><a id=__codelineno-2-16 name=__codelineno-2-16 href=#__codelineno-2-16></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>html<span class=w> </span>-p<span class=w> </span>no:logfire<span class=w> </span><span class=c1># Generate HTML coverage report (opens htmlcov/index.html)</span>
|
| 38 |
+
</span><span id=__span-2-17><a id=__codelineno-2-17 name=__codelineno-2-17 href=#__codelineno-2-17></a>
|
| 39 |
+
</span><span id=__span-2-18><a id=__codelineno-2-18 name=__codelineno-2-18 href=#__codelineno-2-18></a><span class=c1># Documentation Commands</span>
|
| 40 |
+
</span><span id=__span-2-19><a id=__codelineno-2-19 name=__codelineno-2-19 href=#__codelineno-2-19></a>uv<span class=w> </span>run<span class=w> </span>mkdocs<span class=w> </span>build<span class=w> </span><span class=c1># Build documentation</span>
|
| 41 |
+
</span><span id=__span-2-20><a id=__codelineno-2-20 name=__codelineno-2-20 href=#__codelineno-2-20></a>uv<span class=w> </span>run<span class=w> </span>mkdocs<span class=w> </span>serve<span class=w> </span><span class=c1># Serve documentation locally (http://127.0.0.1:8000)</span>
|
| 42 |
+
</span></code></pre></div> <h3 id=test-markers>Test Markers<a class=headerlink href=#test-markers title="Anchor link to this section">¶</a></h3> <p>The project uses pytest markers to categorize tests. See <a href=testing/ >Testing Guidelines</a> for details:</p> <ul> <li><code>unit</code>: Unit tests (mocked, fast)</li> <li><code>integration</code>: Integration tests (real APIs)</li> <li><code>slow</code>: Slow tests</li> <li><code>openai</code>: Tests requiring OpenAI API key</li> <li><code>huggingface</code>: Tests requiring HuggingFace API key</li> <li><code>embedding_provider</code>: Tests requiring API-based embedding providers</li> <li><code>local_embeddings</code>: Tests using local embeddings</li> </ul> <p><strong>Note</strong>: The <code>-p no:logfire</code> flag disables the logfire plugin to avoid conflicts during testing.</p> <h2 id=getting-started>Getting Started<a class=headerlink href=#getting-started title="Anchor link to this section">¶</a></h2> <ol> <li> <p><strong>Fork the repository</strong> on GitHub: <a href=https://github.com/DeepCritical/GradioDemo><code>DeepCritical/GradioDemo</code></a></p> </li> <li> <p><strong>Clone your fork</strong>:</p> </li> </ol> <div class="language-bash highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>git<span class=w> </span>clone<span class=w> </span>https://github.com/yourusername/GradioDemo.git
|
| 43 |
+
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=nb>cd</span><span class=w> </span>GradioDemo
|
| 44 |
+
</span></code></pre></div> <ol> <li><strong>Install dependencies</strong>:</li> </ol> <div class="language-bash highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras
|
| 45 |
+
</span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>install
|
| 46 |
+
</span></code></pre></div> <ol> <li><strong>Create a feature branch</strong>:</li> </ol> <div class="language-bash highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>git<span class=w> </span>checkout<span class=w> </span>-b<span class=w> </span>yourname-feature-name
|
| 47 |
+
</span></code></pre></div> <ol> <li> <p><strong>Make your changes</strong> following the guidelines below</p> </li> <li> <p><strong>Run checks</strong>:</p> </li> </ol> <div class="language-bash highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>uv<span class=w> </span>run<span class=w> </span>ruff<span class=w> </span>check<span class=w> </span>src<span class=w> </span>tests
|
| 48 |
+
</span><span id=__span-6-2><a id=__codelineno-6-2 name=__codelineno-6-2 href=#__codelineno-6-2></a>uv<span class=w> </span>run<span class=w> </span>mypy<span class=w> </span>src
|
| 49 |
+
</span><span id=__span-6-3><a id=__codelineno-6-3 name=__codelineno-6-3 href=#__codelineno-6-3></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>term-missing<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 50 |
+
</span></code></pre></div> <ol> <li><strong>Commit and push</strong>:</li> </ol> <div class="language-bash highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>git<span class=w> </span>commit<span class=w> </span>-m<span class=w> </span><span class=s2>"Description of changes"</span>
|
| 51 |
+
</span><span id=__span-7-2><a id=__codelineno-7-2 name=__codelineno-7-2 href=#__codelineno-7-2></a>git<span class=w> </span>push<span class=w> </span>origin<span class=w> </span>yourname-feature-name
|
| 52 |
+
</span></code></pre></div> <ol> <li><strong>Create a pull request</strong> on GitHub</li> </ol> <h2 id=development-guidelines>Development Guidelines<a class=headerlink href=#development-guidelines title="Anchor link to this section">¶</a></h2> <h3 id=code-style>Code Style<a class=headerlink href=#code-style title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=code-style/ >Code Style Guidelines</a></li> <li>All code must pass <code>mypy --strict</code></li> <li>Use <code>ruff</code> for linting and formatting</li> <li>Line length: 100 characters</li> </ul> <h3 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=error-handling/ >Error Handling Guidelines</a></li> <li>Always chain exceptions: <code>raise SearchError(...) from e</code></li> <li>Use structured logging with <code>structlog</code></li> <li>Never silently swallow exceptions</li> </ul> <h3 id=testing>Testing<a class=headerlink href=#testing title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=testing/ >Testing Guidelines</a></li> <li>Write tests before implementation (TDD)</li> <li>Aim for >80% coverage on critical paths</li> <li>Use markers: <code>unit</code>, <code>integration</code>, <code>slow</code></li> </ul> <h3 id=implementation-patterns>Implementation Patterns<a class=headerlink href=#implementation-patterns title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=implementation-patterns/ >Implementation Patterns</a></li> <li>Use factory functions for agent/tool creation</li> <li>Implement protocols for extensibility</li> <li>Use singleton pattern with <code>@lru_cache(maxsize=1)</code></li> </ul> <h3 id=prompt-engineering>Prompt Engineering<a class=headerlink href=#prompt-engineering title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=prompt-engineering/ >Prompt Engineering Guidelines</a></li> <li>Always validate citations</li> <li>Use diverse evidence selection</li> <li>Never trust LLM-generated citations without validation</li> </ul> <h3 id=code-quality>Code Quality<a class=headerlink href=#code-quality title="Anchor link to this section">¶</a></h3> <ul> <li>Follow <a href=code-quality/ >Code Quality Guidelines</a></li> <li>Google-style docstrings for all public functions</li> <li>Explain WHY, not WHAT in comments</li> <li>Mark critical sections: <code># CRITICAL: ...</code></li> </ul> <h2 id=mcp-integration>MCP Integration<a class=headerlink href=#mcp-integration title="Anchor link to this section">¶</a></h2> <h3 id=mcp-tools>MCP Tools<a class=headerlink href=#mcp-tools title="Anchor link to this section">¶</a></h3> <ul> <li>Functions in <code>src/mcp_tools.py</code> for Claude Desktop</li> <li>Full type hints required</li> <li>Google-style docstrings with Args/Returns sections</li> <li>Formatted string returns (markdown)</li> </ul> <h3 id=gradio-mcp-server>Gradio MCP Server<a class=headerlink href=#gradio-mcp-server title="Anchor link to this section">¶</a></h3> <ul> <li>Enable with <code>mcp_server=True</code> in <code>demo.launch()</code></li> <li>Endpoint: <code>/gradio_api/mcp/</code></li> <li>Use <code>ssr_mode=False</code> to fix hydration issues in HF Spaces</li> </ul> <h2 id=common-pitfalls>Common Pitfalls<a class=headerlink href=#common-pitfalls title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Blocking the event loop</strong>: Never use sync I/O in async functions</li> <li><strong>Missing type hints</strong>: All functions must have complete type annotations</li> <li><strong>Hallucinated citations</strong>: Always validate references</li> <li><strong>Global mutable state</strong>: Use ContextVar or pass via parameters</li> <li><strong>Import errors</strong>: Lazy-load optional dependencies (magentic, modal, embeddings)</li> <li><strong>Rate limiting</strong>: Always implement for external APIs</li> <li><strong>Error chaining</strong>: Always use <code>from e</code> when raising exceptions</li> </ol> <h2 id=key-principles>Key Principles<a class=headerlink href=#key-principles title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Type Safety First</strong>: All code must pass <code>mypy --strict</code></li> <li><strong>Async Everything</strong>: All I/O must be async</li> <li><strong>Test-Driven</strong>: Write tests before implementation</li> <li><strong>No Hallucinations</strong>: Validate all citations</li> <li><strong>Graceful Degradation</strong>: Support free tier (HF Inference) when no API keys</li> <li><strong>Lazy Loading</strong>: Don't require optional dependencies at import time</li> <li><strong>Structured Logging</strong>: Use structlog, never print()</li> <li><strong>Error Chaining</strong>: Always preserve exception context</li> </ol> <h2 id=pull-request-process>Pull Request Process<a class=headerlink href=#pull-request-process title="Anchor link to this section">¶</a></h2> <ol> <li>Ensure all checks pass: <code>uv run ruff check src tests && uv run mypy src && uv run pytest --cov=src --cov-report=term-missing tests/unit/ -v -m "not openai" -p no:logfire</code></li> <li>Update documentation if needed</li> <li>Add tests for new features</li> <li>Update CHANGELOG if applicable</li> <li>Request review from maintainers</li> <li>Address review feedback</li> <li>Wait for approval before merging</li> </ol> <h2 id=project-structure>Project Structure<a class=headerlink href=#project-structure title="Anchor link to this section">¶</a></h2> <ul> <li><code>src/</code>: Main source code</li> <li><code>tests/</code>: Test files (<code>unit/</code> and <code>integration/</code>)</li> <li><code>docs/</code>: Documentation source files (MkDocs)</li> <li><code>examples/</code>: Example usage scripts</li> <li><code>pyproject.toml</code>: Project configuration and dependencies</li> <li><code>.pre-commit-config.yaml</code>: Pre-commit hook configuration</li> </ul> <h2 id=questions>Questions?<a class=headerlink href=#questions title="Anchor link to this section">¶</a></h2> <ul> <li>Open an issue on <a href=https://github.com/DeepCritical/GradioDemo>GitHub</a></li> <li>Check existing <a href=https://deepcritical.github.io/GradioDemo/ >documentation</a></li> <li>Review code examples in the codebase</li> </ul> <p>Thank you for contributing to The DETERMINATOR!</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../js/timeago.min.js></script> <script src=../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/prompt-engineering/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/prompt-engineering/ rel=canonical><link href=../implementation-patterns/ rel=prev><link href=../testing/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Prompt Engineering & Citation Validation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#prompt-engineering-citation-validation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#judge-prompts class=md-nav__link> <span class=md-ellipsis> Judge Prompts </span> </a> </li> <li class=md-nav__item> <a href=#hypothesis-prompts class=md-nav__link> <span class=md-ellipsis> Hypothesis Prompts </span> </a> </li> <li class=md-nav__item> <a href=#report-prompts class=md-nav__link> <span class=md-ellipsis> Report Prompts </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation class=md-nav__link> <span class=md-ellipsis> Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation-rules class=md-nav__link> <span class=md-ellipsis> Citation Validation Rules </span> </a> </li> <li class=md-nav__item> <a href=#evidence-selection class=md-nav__link> <span class=md-ellipsis> Evidence Selection </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#judge-prompts class=md-nav__link> <span class=md-ellipsis> Judge Prompts </span> </a> </li> <li class=md-nav__item> <a href=#hypothesis-prompts class=md-nav__link> <span class=md-ellipsis> Hypothesis Prompts </span> </a> </li> <li class=md-nav__item> <a href=#report-prompts class=md-nav__link> <span class=md-ellipsis> Report Prompts </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation class=md-nav__link> <span class=md-ellipsis> Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation-rules class=md-nav__link> <span class=md-ellipsis> Citation Validation Rules </span> </a> </li> <li class=md-nav__item> <a href=#evidence-selection class=md-nav__link> <span class=md-ellipsis> Evidence Selection </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=prompt-engineering-citation-validation>Prompt Engineering & Citation Validation<a class=headerlink href=#prompt-engineering-citation-validation title="Permanent link">¶</a></h1> <p>This document outlines prompt engineering guidelines and citation validation rules.</p> <h2 id=judge-prompts>Judge Prompts<a class=headerlink href=#judge-prompts title="Permanent link">¶</a></h2> <ul> <li>System prompt in <code>src/prompts/judge.py</code></li> <li>Format evidence with truncation (1500 chars per item)</li> <li>Handle empty evidence case separately</li> <li>Always request structured JSON output</li> <li>Use <code>format_user_prompt()</code> and <code>format_empty_evidence_prompt()</code> helpers</li> </ul> <h2 id=hypothesis-prompts>Hypothesis Prompts<a class=headerlink href=#hypothesis-prompts title="Permanent link">¶</a></h2> <ul> <li>Use diverse evidence selection (MMR algorithm)</li> <li>Sentence-aware truncation (<code>truncate_at_sentence()</code>)</li> <li>Format: Drug → Target → Pathway → Effect</li> <li>System prompt emphasizes mechanistic reasoning</li> <li>Use <code>format_hypothesis_prompt()</code> with embeddings for diversity</li> </ul> <h2 id=report-prompts>Report Prompts<a class=headerlink href=#report-prompts title="Permanent link">¶</a></h2> <ul> <li>Include full citation details for validation</li> <li>Use diverse evidence selection (n=20)</li> <li><strong>CRITICAL</strong>: Emphasize citation validation rules</li> <li>Format hypotheses with support/contradiction counts</li> <li>System prompt includes explicit JSON structure requirements</li> </ul> <h2 id=citation-validation>Citation Validation<a class=headerlink href=#citation-validation title="Permanent link">¶</a></h2> <ul> <li><strong>ALWAYS</strong> validate references before returning reports</li> <li>Use <code>validate_references()</code> from <code>src/utils/citation_validator.py</code></li> <li>Remove hallucinated citations (URLs not in evidence)</li> <li>Log warnings for removed citations</li> <li>Never trust LLM-generated citations without validation</li> </ul> <h2 id=citation-validation-rules>Citation Validation Rules<a class=headerlink href=#citation-validation-rules title="Permanent link">¶</a></h2> <ol> <li>Every reference URL must EXACTLY match a provided evidence URL</li> <li>Do NOT invent, fabricate, or hallucinate any references</li> <li>Do NOT modify paper titles, authors, dates, or URLs</li> <li>If unsure about a citation, OMIT it rather than guess</li> <li>Copy URLs exactly as provided - do not create similar-looking URLs</li> </ol> <h2 id=evidence-selection>Evidence Selection<a class=headerlink href=#evidence-selection title="Permanent link">¶</a></h2> <ul> <li>Use <code>select_diverse_evidence()</code> for MMR-based selection</li> <li>Balance relevance vs diversity (lambda=0.7 default)</li> <li>Sentence-aware truncation preserves meaning</li> <li>Limit evidence per prompt to avoid context overflow</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Permanent link">¶</a></h2> <ul> <li><a href=../code-quality/ >Code Quality</a> - Code quality guidelines</li> <li><a href=../error-handling/ >Error Handling</a> - Error handling guidelines</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/prompt-engineering/ rel=canonical><link href=../implementation-patterns/ rel=prev><link href=../testing/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Prompt Engineering & Citation Validation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#prompt-engineering--citation-validation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#judge-prompts class=md-nav__link> <span class=md-ellipsis> Judge Prompts </span> </a> </li> <li class=md-nav__item> <a href=#hypothesis-prompts class=md-nav__link> <span class=md-ellipsis> Hypothesis Prompts </span> </a> </li> <li class=md-nav__item> <a href=#report-prompts class=md-nav__link> <span class=md-ellipsis> Report Prompts </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation class=md-nav__link> <span class=md-ellipsis> Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=#citation-validation-rules class=md-nav__link> <span class=md-ellipsis> Citation Validation Rules </span> </a> </li> <li class=md-nav__item> <a href=#evidence-selection class=md-nav__link> <span class=md-ellipsis> Evidence Selection </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=prompt-engineering--citation-validation>Prompt Engineering & Citation Validation<a class=headerlink href=#prompt-engineering--citation-validation title="Anchor link to this section">¶</a></h1> <p>This document outlines prompt engineering guidelines and citation validation rules.</p> <h2 id=judge-prompts>Judge Prompts<a class=headerlink href=#judge-prompts title="Anchor link to this section">¶</a></h2> <ul> <li>System prompt in <code>src/prompts/judge.py</code></li> <li>Format evidence with truncation (1500 chars per item)</li> <li>Handle empty evidence case separately</li> <li>Always request structured JSON output</li> <li>Use <code>format_user_prompt()</code> and <code>format_empty_evidence_prompt()</code> helpers</li> </ul> <h2 id=hypothesis-prompts>Hypothesis Prompts<a class=headerlink href=#hypothesis-prompts title="Anchor link to this section">¶</a></h2> <ul> <li>Use diverse evidence selection (MMR algorithm)</li> <li>Sentence-aware truncation (<code>truncate_at_sentence()</code>)</li> <li>Format: Drug → Target → Pathway → Effect</li> <li>System prompt emphasizes mechanistic reasoning</li> <li>Use <code>format_hypothesis_prompt()</code> with embeddings for diversity</li> </ul> <h2 id=report-prompts>Report Prompts<a class=headerlink href=#report-prompts title="Anchor link to this section">¶</a></h2> <ul> <li>Include full citation details for validation</li> <li>Use diverse evidence selection (n=20)</li> <li><strong>CRITICAL</strong>: Emphasize citation validation rules</li> <li>Format hypotheses with support/contradiction counts</li> <li>System prompt includes explicit JSON structure requirements</li> </ul> <h2 id=citation-validation>Citation Validation<a class=headerlink href=#citation-validation title="Anchor link to this section">¶</a></h2> <ul> <li><strong>ALWAYS</strong> validate references before returning reports</li> <li>Use <code>validate_references()</code> from <code>src/utils/citation_validator.py</code></li> <li>Remove hallucinated citations (URLs not in evidence)</li> <li>Log warnings for removed citations</li> <li>Never trust LLM-generated citations without validation</li> </ul> <h2 id=citation-validation-rules>Citation Validation Rules<a class=headerlink href=#citation-validation-rules title="Anchor link to this section">¶</a></h2> <ol> <li>Every reference URL must EXACTLY match a provided evidence URL</li> <li>Do NOT invent, fabricate, or hallucinate any references</li> <li>Do NOT modify paper titles, authors, dates, or URLs</li> <li>If unsure about a citation, OMIT it rather than guess</li> <li>Copy URLs exactly as provided - do not create similar-looking URLs</li> </ol> <h2 id=evidence-selection>Evidence Selection<a class=headerlink href=#evidence-selection title="Anchor link to this section">¶</a></h2> <ul> <li>Use <code>select_diverse_evidence()</code> for MMR-based selection</li> <li>Balance relevance vs diversity (lambda=0.7 default)</li> <li>Sentence-aware truncation preserves meaning</li> <li>Limit evidence per prompt to avoid context overflow</li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../code-quality/ >Code Quality</a> - Code quality guidelines</li> <li><a href=../error-handling/ >Error Handling</a> - Error handling guidelines</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 1, 2025 16:59:59 UTC"><span class=timeago datetime=2025-12-01T16:59:59+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 1, 2025 16:59:59 UTC">2025-12-01</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/contributing/testing/index.html
CHANGED
|
@@ -1,13 +1,37 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/testing/ rel=canonical><link href=../prompt-engineering/ rel=prev><link href=../../LICENSE/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Testing Requirements - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#testing-requirements class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Testing Requirements </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Testing Requirements </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Testing Requirements </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#test-structure class=md-nav__link> <span class=md-ellipsis> Test Structure </span> </a> </li> <li class=md-nav__item> <a href=#mocking class=md-nav__link> <span class=md-ellipsis> Mocking </span> </a> </li> <li class=md-nav__item> <a href=#tdd-workflow class=md-nav__link> <span class=md-ellipsis> TDD Workflow </span> </a> </li> <li class=md-nav__item> <a href=#test-examples class=md-nav__link> <span class=md-ellipsis> Test Examples </span> </a> </li> <li class=md-nav__item> <a href=#test-coverage class=md-nav__link> <span class=md-ellipsis> Test Coverage </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#test-structure class=md-nav__link> <span class=md-ellipsis> Test Structure </span> </a> </li> <li class=md-nav__item> <a href=#mocking class=md-nav__link> <span class=md-ellipsis> Mocking </span> </a> </li> <li class=md-nav__item> <a href=#tdd-workflow class=md-nav__link> <span class=md-ellipsis> TDD Workflow </span> </a> </li> <li class=md-nav__item> <a href=#test-examples class=md-nav__link> <span class=md-ellipsis> Test Examples </span> </a> </li> <li class=md-nav__item> <a href=#test-coverage class=md-nav__link> <span class=md-ellipsis> Test Coverage </span> </a> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=testing-requirements>Testing Requirements<a class=headerlink href=#testing-requirements title="Permanent link">¶</a></h1> <p>This document outlines testing requirements and guidelines for DeepCritical.</p> <h2 id=test-structure>Test Structure<a class=headerlink href=#test-structure title="Permanent link">¶</a></h2> <ul> <li>Unit tests in <code>tests/unit/</code> (mocked, fast)</li> <li>Integration tests in <code>tests/integration/</code> (real APIs, marked <code>@pytest.mark.integration</code>)</li> <li>Use markers: <code>unit</code>, <code>integration</code>, <code>slow</code></li> </ul> <h2 id=mocking>Mocking<a class=headerlink href=#mocking title="Permanent link">¶</a></h2> <ul> <li>Use <code>respx</code> for httpx mocking</li> <li>Use <code>pytest-mock</code> for general mocking</li> <li>Mock LLM calls in unit tests (use <code>MockJudgeHandler</code>)</li> <li>Fixtures in <code>tests/conftest.py</code>: <code>mock_httpx_client</code>, <code>mock_llm_response</code></li> </ul> <h2 id=tdd-workflow>TDD Workflow<a class=headerlink href=#tdd-workflow title="Permanent link">¶</a></h2> <ol> <li>Write failing test in <code>tests/unit/</code></li> <li>Implement in <code>src/</code></li> <li>Ensure test passes</li> <li>Run <code>make check</code> (lint + typecheck + test)</li> </ol> <h2 id=test-examples>Test Examples<a class=headerlink href=#test-examples title="Permanent link">¶</a></h2> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=nd>@pytest</span><span class=o>.</span><span class=n>mark</span><span class=o>.</span><span class=n>unit</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=
|
| 9 |
-
<a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a>
|
| 10 |
-
<a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a>
|
| 11 |
-
<a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a>
|
| 12 |
-
<a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>
|
| 13 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/contributing/testing/ rel=canonical><link href=../prompt-engineering/ rel=prev><link href=../../LICENSE/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Testing Requirements - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#testing-requirements class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Testing Requirements </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_7 checked> <div class="md-nav__link md-nav__container"> <a href=../ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=true> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Testing Requirements </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Testing Requirements </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#test-structure class=md-nav__link> <span class=md-ellipsis> Test Structure </span> </a> </li> <li class=md-nav__item> <a href=#test-markers class=md-nav__link> <span class=md-ellipsis> Test Markers </span> </a> <nav class=md-nav aria-label="Test Markers"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#running-tests-by-marker class=md-nav__link> <span class=md-ellipsis> Running Tests by Marker </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mocking class=md-nav__link> <span class=md-ellipsis> Mocking </span> </a> </li> <li class=md-nav__item> <a href=#tdd-workflow class=md-nav__link> <span class=md-ellipsis> TDD Workflow </span> </a> <nav class=md-nav aria-label="TDD Workflow"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#test-command-examples class=md-nav__link> <span class=md-ellipsis> Test Command Examples </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#test-examples class=md-nav__link> <span class=md-ellipsis> Test Examples </span> </a> </li> <li class=md-nav__item> <a href=#test-coverage class=md-nav__link> <span class=md-ellipsis> Test Coverage </span> </a> <nav class=md-nav aria-label="Test Coverage"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#terminal-coverage-report class=md-nav__link> <span class=md-ellipsis> Terminal Coverage Report </span> </a> </li> <li class=md-nav__item> <a href=#html-coverage-report class=md-nav__link> <span class=md-ellipsis> HTML Coverage Report </span> </a> </li> <li class=md-nav__item> <a href=#coverage-goals class=md-nav__link> <span class=md-ellipsis> Coverage Goals </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#see-also class=md-nav__link> <span class=md-ellipsis> See Also </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=testing-requirements>Testing Requirements<a class=headerlink href=#testing-requirements title="Anchor link to this section">¶</a></h1> <p>This document outlines testing requirements and guidelines for The DETERMINATOR.</p> <h2 id=test-structure>Test Structure<a class=headerlink href=#test-structure title="Anchor link to this section">¶</a></h2> <ul> <li>Unit tests in <code>tests/unit/</code> (mocked, fast)</li> <li>Integration tests in <code>tests/integration/</code> (real APIs, marked <code>@pytest.mark.integration</code>)</li> <li>Use markers: <code>unit</code>, <code>integration</code>, <code>slow</code>, <code>openai</code>, <code>huggingface</code>, <code>embedding_provider</code>, <code>local_embeddings</code></li> </ul> <h2 id=test-markers>Test Markers<a class=headerlink href=#test-markers title="Anchor link to this section">¶</a></h2> <p>The project uses pytest markers to categorize tests. These markers are defined in <code>pyproject.toml</code>:</p> <ul> <li><code>@pytest.mark.unit</code>: Unit tests (mocked, fast) - Run with <code>-m "unit"</code></li> <li><code>@pytest.mark.integration</code>: Integration tests (real APIs) - Run with <code>-m "integration"</code></li> <li><code>@pytest.mark.slow</code>: Slow tests - Run with <code>-m "slow"</code></li> <li><code>@pytest.mark.openai</code>: Tests requiring OpenAI API key - Run with <code>-m "openai"</code> or exclude with <code>-m "not openai"</code></li> <li><code>@pytest.mark.huggingface</code>: Tests requiring HuggingFace API key or using HuggingFace models - Run with <code>-m "huggingface"</code></li> <li><code>@pytest.mark.embedding_provider</code>: Tests requiring API-based embedding providers (OpenAI, etc.) - Run with <code>-m "embedding_provider"</code></li> <li><code>@pytest.mark.local_embeddings</code>: Tests using local embeddings (sentence-transformers, ChromaDB) - Run with <code>-m "local_embeddings"</code></li> </ul> <h3 id=running-tests-by-marker>Running Tests by Marker<a class=headerlink href=#running-tests-by-marker title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Run only unit tests (excludes OpenAI tests by default)</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=c1># Run HuggingFace tests</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"huggingface"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=c1># Run all tests</span>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-p<span class=w> </span>no:logfire
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=c1># Run only local embedding tests</span>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"local_embeddings"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>
|
| 13 |
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a><span class=c1># Exclude slow tests</span>
|
| 14 |
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not slow"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 15 |
+
</span></code></pre></div> <p><strong>Note</strong>: The <code>-p no:logfire</code> flag disables the logfire plugin to avoid conflicts during testing.</p> <h2 id=mocking>Mocking<a class=headerlink href=#mocking title="Anchor link to this section">¶</a></h2> <ul> <li>Use <code>respx</code> for httpx mocking</li> <li>Use <code>pytest-mock</code> for general mocking</li> <li>Mock LLM calls in unit tests (use <code>MockJudgeHandler</code>)</li> <li>Fixtures in <code>tests/conftest.py</code>: <code>mock_httpx_client</code>, <code>mock_llm_response</code></li> </ul> <h2 id=tdd-workflow>TDD Workflow<a class=headerlink href=#tdd-workflow title="Anchor link to this section">¶</a></h2> <ol> <li>Write failing test in <code>tests/unit/</code></li> <li>Implement in <code>src/</code></li> <li>Ensure test passes</li> <li>Run checks: <code>uv run ruff check src tests && uv run mypy src && uv run pytest --cov=src --cov-report=term-missing tests/unit/ -v -m "not openai" -p no:logfire</code></li> </ol> <h3 id=test-command-examples>Test Command Examples<a class=headerlink href=#test-command-examples title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1># Run unit tests (default, excludes OpenAI tests)</span>
|
| 16 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 17 |
+
</span><span id=__span-1-3><a id=__codelineno-1-3 name=__codelineno-1-3 href=#__codelineno-1-3></a>
|
| 18 |
+
</span><span id=__span-1-4><a id=__codelineno-1-4 name=__codelineno-1-4 href=#__codelineno-1-4></a><span class=c1># Run HuggingFace tests</span>
|
| 19 |
+
</span><span id=__span-1-5><a id=__codelineno-1-5 name=__codelineno-1-5 href=#__codelineno-1-5></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"huggingface"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 20 |
+
</span><span id=__span-1-6><a id=__codelineno-1-6 name=__codelineno-1-6 href=#__codelineno-1-6></a>
|
| 21 |
+
</span><span id=__span-1-7><a id=__codelineno-1-7 name=__codelineno-1-7 href=#__codelineno-1-7></a><span class=c1># Run all tests</span>
|
| 22 |
+
</span><span id=__span-1-8><a id=__codelineno-1-8 name=__codelineno-1-8 href=#__codelineno-1-8></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>tests/<span class=w> </span>-v<span class=w> </span>-p<span class=w> </span>no:logfire
|
| 23 |
+
</span></code></pre></div> <h2 id=test-examples>Test Examples<a class=headerlink href=#test-examples title="Anchor link to this section">¶</a></h2> <div class="language-python highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=nd>@pytest</span><span class=o>.</span><span class=n>mark</span><span class=o>.</span><span class=n>unit</span>
|
| 24 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>test_pubmed_search</span><span class=p>(</span><span class=n>mock_httpx_client</span><span class=p>):</span>
|
| 25 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a> <span class=n>tool</span> <span class=o>=</span> <span class=n>PubMedTool</span><span class=p>()</span>
|
| 26 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a> <span class=n>results</span> <span class=o>=</span> <span class=k>await</span> <span class=n>tool</span><span class=o>.</span><span class=n>search</span><span class=p>(</span><span class=s2>"metformin"</span><span class=p>,</span> <span class=n>max_results</span><span class=o>=</span><span class=mi>5</span><span class=p>)</span>
|
| 27 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a> <span class=k>assert</span> <span class=nb>len</span><span class=p>(</span><span class=n>results</span><span class=p>)</span> <span class=o>></span> <span class=mi>0</span>
|
| 28 |
+
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a> <span class=k>assert</span> <span class=nb>all</span><span class=p>(</span><span class=nb>isinstance</span><span class=p>(</span><span class=n>r</span><span class=p>,</span> <span class=n>Evidence</span><span class=p>)</span> <span class=k>for</span> <span class=n>r</span> <span class=ow>in</span> <span class=n>results</span><span class=p>)</span>
|
| 29 |
+
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a>
|
| 30 |
+
</span><span id=__span-2-8><a id=__codelineno-2-8 name=__codelineno-2-8 href=#__codelineno-2-8></a><span class=nd>@pytest</span><span class=o>.</span><span class=n>mark</span><span class=o>.</span><span class=n>integration</span>
|
| 31 |
+
</span><span id=__span-2-9><a id=__codelineno-2-9 name=__codelineno-2-9 href=#__codelineno-2-9></a><span class=k>async</span> <span class=k>def</span><span class=w> </span><span class=nf>test_real_pubmed_search</span><span class=p>():</span>
|
| 32 |
+
</span><span id=__span-2-10><a id=__codelineno-2-10 name=__codelineno-2-10 href=#__codelineno-2-10></a> <span class=n>tool</span> <span class=o>=</span> <span class=n>PubMedTool</span><span class=p>()</span>
|
| 33 |
+
</span><span id=__span-2-11><a id=__codelineno-2-11 name=__codelineno-2-11 href=#__codelineno-2-11></a> <span class=n>results</span> <span class=o>=</span> <span class=k>await</span> <span class=n>tool</span><span class=o>.</span><span class=n>search</span><span class=p>(</span><span class=s2>"metformin"</span><span class=p>,</span> <span class=n>max_results</span><span class=o>=</span><span class=mi>3</span><span class=p>)</span>
|
| 34 |
+
</span><span id=__span-2-12><a id=__codelineno-2-12 name=__codelineno-2-12 href=#__codelineno-2-12></a> <span class=k>assert</span> <span class=nb>len</span><span class=p>(</span><span class=n>results</span><span class=p>)</span> <span class=o><=</span> <span class=mi>3</span>
|
| 35 |
+
</span></code></pre></div> <h2 id=test-coverage>Test Coverage<a class=headerlink href=#test-coverage title="Anchor link to this section">¶</a></h2> <h3 id=terminal-coverage-report>Terminal Coverage Report<a class=headerlink href=#terminal-coverage-report title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>term-missing<span class=w> </span>tests/unit/<span class=w> </span>-v<span class=w> </span>-m<span class=w> </span><span class=s2>"not openai"</span><span class=w> </span>-p<span class=w> </span>no:logfire
|
| 36 |
+
</span></code></pre></div> <p>This shows coverage with missing lines highlighted in the terminal output.</p> <h3 id=html-coverage-report>HTML Coverage Report<a class=headerlink href=#html-coverage-report title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>uv<span class=w> </span>run<span class=w> </span>pytest<span class=w> </span>--cov<span class=o>=</span>src<span class=w> </span>--cov-report<span class=o>=</span>html<span class=w> </span>-p<span class=w> </span>no:logfire
|
| 37 |
+
</span></code></pre></div> <p>This generates an HTML coverage report in <code>htmlcov/index.html</code>. Open this file in your browser to see detailed coverage information.</p> <h3 id=coverage-goals>Coverage Goals<a class=headerlink href=#coverage-goals title="Anchor link to this section">¶</a></h3> <ul> <li>Aim for >80% coverage on critical paths</li> <li>Exclude: <code>__init__.py</code>, <code>TYPE_CHECKING</code> blocks</li> <li>Coverage configuration is in <code>pyproject.toml</code> under <code>[tool.coverage.*]</code></li> </ul> <h2 id=see-also>See Also<a class=headerlink href=#see-also title="Anchor link to this section">¶</a></h2> <ul> <li><a href=../code-style/ >Code Style</a> - Code style guidelines</li> <li><a href=../implementation-patterns/ >Implementation Patterns</a> - Common patterns</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/getting-started/examples/index.html
CHANGED
|
@@ -1,49 +1,49 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/examples/ rel=canonical><link href=../mcp-integration/ rel=prev><link href=../../configuration/CONFIGURATION/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Examples - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#examples class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Examples </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Examples </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Examples </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#basic-research-query class=md-nav__link> <span class=md-ellipsis> Basic Research Query </span> </a> <nav class=md-nav aria-label="Basic Research Query"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-1-drug-information class=md-nav__link> <span class=md-ellipsis> Example 1: Drug Information </span> </a> </li> <li class=md-nav__item> <a href=#example-2-clinical-trial-search class=md-nav__link> <span class=md-ellipsis> Example 2: Clinical Trial Search </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-research-queries class=md-nav__link> <span class=md-ellipsis> Advanced Research Queries </span> </a> <nav class=md-nav aria-label="Advanced Research Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-3-comprehensive-review class=md-nav__link> <span class=md-ellipsis> Example 3: Comprehensive Review </span> </a> </li> <li class=md-nav__item> <a href=#example-4-hypothesis-testing class=md-nav__link> <span class=md-ellipsis> Example 4: Hypothesis Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mcp-tool-examples class=md-nav__link> <span class=md-ellipsis> MCP Tool Examples </span> </a> <nav class=md-nav aria-label="MCP Tool Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#using-search_pubmed class=md-nav__link> <span class=md-ellipsis> Using search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#using-search_clinical_trials class=md-nav__link> <span class=md-ellipsis> Using search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#using-search_all class=md-nav__link> <span class=md-ellipsis> Using search_all </span> </a> </li> <li class=md-nav__item> <a href=#using-analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> Using analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#code-examples class=md-nav__link> <span class=md-ellipsis> Code Examples </span> </a> <nav class=md-nav aria-label="Code Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#python-api-usage class=md-nav__link> <span class=md-ellipsis> Python API Usage </span> </a> </li> <li class=md-nav__item> <a href=#gradio-ui-integration class=md-nav__link> <span class=md-ellipsis> Gradio UI Integration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#research-patterns class=md-nav__link> <span class=md-ellipsis> Research Patterns </span> </a> <nav class=md-nav aria-label="Research Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterative-research class=md-nav__link> <span class=md-ellipsis> Iterative Research </span> </a> </li> <li class=md-nav__item> <a href=#deep-research class=md-nav__link> <span class=md-ellipsis> Deep Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-examples class=md-nav__link> <span class=md-ellipsis> Configuration Examples </span> </a> <nav class=md-nav aria-label="Configuration Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#basic-configuration class=md-nav__link> <span class=md-ellipsis> Basic Configuration </span> </a> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#basic-research-query class=md-nav__link> <span class=md-ellipsis> Basic Research Query </span> </a> <nav class=md-nav aria-label="Basic Research Query"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-1-drug-information class=md-nav__link> <span class=md-ellipsis> Example 1: Drug Information </span> </a> </li> <li class=md-nav__item> <a href=#example-2-clinical-trial-search class=md-nav__link> <span class=md-ellipsis> Example 2: Clinical Trial Search </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-research-queries class=md-nav__link> <span class=md-ellipsis> Advanced Research Queries </span> </a> <nav class=md-nav aria-label="Advanced Research Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-3-comprehensive-review class=md-nav__link> <span class=md-ellipsis> Example 3: Comprehensive Review </span> </a> </li> <li class=md-nav__item> <a href=#example-4-hypothesis-testing class=md-nav__link> <span class=md-ellipsis> Example 4: Hypothesis Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mcp-tool-examples class=md-nav__link> <span class=md-ellipsis> MCP Tool Examples </span> </a> <nav class=md-nav aria-label="MCP Tool Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#using-search_pubmed class=md-nav__link> <span class=md-ellipsis> Using search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#using-search_clinical_trials class=md-nav__link> <span class=md-ellipsis> Using search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#using-search_all class=md-nav__link> <span class=md-ellipsis> Using search_all </span> </a> </li> <li class=md-nav__item> <a href=#using-analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> Using analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#code-examples class=md-nav__link> <span class=md-ellipsis> Code Examples </span> </a> <nav class=md-nav aria-label="Code Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#python-api-usage class=md-nav__link> <span class=md-ellipsis> Python API Usage </span> </a> </li> <li class=md-nav__item> <a href=#gradio-ui-integration class=md-nav__link> <span class=md-ellipsis> Gradio UI Integration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#research-patterns class=md-nav__link> <span class=md-ellipsis> Research Patterns </span> </a> <nav class=md-nav aria-label="Research Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterative-research class=md-nav__link> <span class=md-ellipsis> Iterative Research </span> </a> </li> <li class=md-nav__item> <a href=#deep-research class=md-nav__link> <span class=md-ellipsis> Deep Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-examples class=md-nav__link> <span class=md-ellipsis> Configuration Examples </span> </a> <nav class=md-nav aria-label="Configuration Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#basic-configuration class=md-nav__link> <span class=md-ellipsis> Basic Configuration </span> </a> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=examples>Examples<a class=headerlink href=#examples title="Permanent link">¶</a></h1> <p>This page provides examples of using DeepCritical for various research tasks.</p> <h2 id=basic-research-query>Basic Research Query<a class=headerlink href=#basic-research-query title="Permanent link">¶</a></h2> <h3 id=example-1-drug-information>Example 1: Drug Information<a class=headerlink href=#example-1-drug-information title="Permanent link">¶</a></h3> <p><strong>Query</strong>: <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>What are the latest treatments for Alzheimer's disease?
|
| 2 |
-
</code></pre></div></p> <p><strong>What
|
| 3 |
-
</code></pre></div></p> <p><strong>What
|
| 4 |
-
<a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>including clinical trials, mechanisms of action, and safety profile.
|
| 5 |
-
</code></pre></div>
|
| 6 |
-
</code></pre></div></p> <p><strong>What
|
| 7 |
-
</code></pre></div> <h3 id=using-search_clinical_trials>Using search_clinical_trials<a class=headerlink href=#using-search_clinical_trials title="
|
| 8 |
-
</code></pre></div> <h3 id=using-search_all>Using search_all<a class=headerlink href=#using-search_all title="
|
| 9 |
-
</code></pre></div> <h3 id=using-analyze_hypothesis>Using analyze_hypothesis<a class=headerlink href=#using-analyze_hypothesis title="
|
| 10 |
-
</code></pre></div> <h2 id=code-examples>Code Examples<a class=headerlink href=#code-examples title="
|
| 11 |
-
<a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.search_handler</span><span class=w> </span><span class=kn>import</span> <span class=n>SearchHandler</span>
|
| 12 |
-
<a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a><span class=kn>from</span><span class=w> </span><span class=nn>src.agent_factory.judges</span><span class=w> </span><span class=kn>import</span> <span class=n>create_judge_handler</span>
|
| 13 |
-
<a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a>
|
| 14 |
-
<a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=c1># Create orchestrator</span>
|
| 15 |
-
<a id=__codelineno-8-6 name=__codelineno-8-6 href=#__codelineno-8-6></a><span class=n>search_handler</span> <span class=o>=</span> <span class=n>SearchHandler</span><span class=p>()</span>
|
| 16 |
-
<a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a><span class=n>judge_handler</span> <span class=o>=</span> <span class=n>create_judge_handler</span><span class=p>()</span>
|
| 17 |
-
</code></pre></div> <div class=highlight><pre><span></span><code><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=c1># Run research query</span>
|
| 18 |
-
<a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></a><span class=n>query</span> <span class=o>=</span> <span class=s2>"What are the latest treatments for Alzheimer's disease?"</span>
|
| 19 |
-
<a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>orchestrator</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 20 |
-
<a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>"Event: </span><span class=si>{</span><span class=n>event</span><span class=o>.</span><span class=n>type</span><span class=si>}</span><span class=s2> - </span><span class=si>{</span><span class=n>event</span><span class=o>.</span><span class=n>data</span><span class=si>}</span><span class=s2>"</span><span class=p>)</span>
|
| 21 |
-
</code></pre></div> <h3 id=gradio-ui-integration>Gradio UI Integration<a class=headerlink href=#gradio-ui-integration title="
|
| 22 |
-
<a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.app</span><span class=w> </span><span class=kn>import</span> <span class=n>create_research_interface</span>
|
| 23 |
-
<a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a>
|
| 24 |
-
<a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a><span class=c1># Create interface</span>
|
| 25 |
-
<a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a><span class=n>interface</span> <span class=o>=</span> <span class=n>create_research_interface</span><span class=p>()</span>
|
| 26 |
-
<a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a>
|
| 27 |
-
<a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a><span class=c1># Launch</span>
|
| 28 |
-
<a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a><span class=n>interface</span><span class=o>.</span><span class=n>launch</span><span class=p>(</span><span class=n>server_name</span><span class=o>=</span><span class=s2>"0.0.0.0"</span><span class=p>,</span> <span class=n>server_port</span><span class=o>=</span><span class=mi>7860</span><span class=p>)</span>
|
| 29 |
-
</code></pre></div> <h2 id=research-patterns>Research Patterns<a class=headerlink href=#research-patterns title="
|
| 30 |
-
</code></pre></div> <div class=highlight><pre><span></span><code><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>flow</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 31 |
-
<a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a> <span class=c1># Handle events</span>
|
| 32 |
-
<a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a> <span class=k>pass</span>
|
| 33 |
-
</code></pre></div> <h3 id=deep-research>Deep Research<a class=headerlink href=#deep-research title="
|
| 34 |
-
</code></pre></div> <div class=highlight><pre><span></span><code><a id=__codelineno-14-1 name=__codelineno-14-1 href=#__codelineno-14-1></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>flow</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 35 |
-
<a id=__codelineno-14-2 name=__codelineno-14-2 href=#__codelineno-14-2></a> <span class=c1># Handle events</span>
|
| 36 |
-
<a id=__codelineno-14-3 name=__codelineno-14-3 href=#__codelineno-14-3></a> <span class=k>pass</span>
|
| 37 |
-
</code></pre></div> <h2 id=configuration-examples>Configuration Examples<a class=headerlink href=#configuration-examples title="
|
| 38 |
-
<a id=__codelineno-15-2 name=__codelineno-15-2 href=#__codelineno-15-2></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>openai
|
| 39 |
-
<a id=__codelineno-15-3 name=__codelineno-15-3 href=#__codelineno-15-3></a><span class=nv>OPENAI_API_KEY</span><span class=o>=</span>your_key_here
|
| 40 |
-
<a id=__codelineno-15-4 name=__codelineno-15-4 href=#__codelineno-15-4></a><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=m>10</span>
|
| 41 |
-
</code></pre></div> <h3 id=advanced-configuration>Advanced Configuration<a class=headerlink href=#advanced-configuration title="
|
| 42 |
-
<a id=__codelineno-16-2 name=__codelineno-16-2 href=#__codelineno-16-2></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>anthropic
|
| 43 |
-
<a id=__codelineno-16-3 name=__codelineno-16-3 href=#__codelineno-16-3></a><span class=nv>ANTHROPIC_API_KEY</span><span class=o>=</span>your_key_here
|
| 44 |
-
<a id=__codelineno-16-4 name=__codelineno-16-4 href=#__codelineno-16-4></a><span class=nv>EMBEDDING_PROVIDER</span><span class=o>=</span><span class=nb>local</span>
|
| 45 |
-
<a id=__codelineno-16-5 name=__codelineno-16-5 href=#__codelineno-16-5></a><span class=nv>WEB_SEARCH_PROVIDER</span><span class=o>=</span>duckduckgo
|
| 46 |
-
<a id=__codelineno-16-6 name=__codelineno-16-6 href=#__codelineno-16-6></a><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=m>20</span>
|
| 47 |
-
<a id=__codelineno-16-7 name=__codelineno-16-7 href=#__codelineno-16-7></a><span class=nv>DEFAULT_TOKEN_LIMIT</span><span class=o>=</span><span class=m>200000</span>
|
| 48 |
-
<a id=__codelineno-16-8 name=__codelineno-16-8 href=#__codelineno-16-8></a><span class=nv>USE_GRAPH_EXECUTION</span><span class=o>=</span><span class=nb>true</span>
|
| 49 |
-
</code></pre></div> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/examples/ rel=canonical><link href=../mcp-integration/ rel=prev><link href=../../configuration/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Examples - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#examples class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Examples </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Examples </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Examples </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#basic-research-query class=md-nav__link> <span class=md-ellipsis> Basic Research Query </span> </a> <nav class=md-nav aria-label="Basic Research Query"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-1-drug-information class=md-nav__link> <span class=md-ellipsis> Example 1: Drug Information </span> </a> </li> <li class=md-nav__item> <a href=#example-2-clinical-trial-search class=md-nav__link> <span class=md-ellipsis> Example 2: Clinical Trial Search </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-research-queries class=md-nav__link> <span class=md-ellipsis> Advanced Research Queries </span> </a> <nav class=md-nav aria-label="Advanced Research Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#example-3-comprehensive-review class=md-nav__link> <span class=md-ellipsis> Example 3: Comprehensive Review </span> </a> </li> <li class=md-nav__item> <a href=#example-4-hypothesis-testing class=md-nav__link> <span class=md-ellipsis> Example 4: Hypothesis Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#mcp-tool-examples class=md-nav__link> <span class=md-ellipsis> MCP Tool Examples </span> </a> <nav class=md-nav aria-label="MCP Tool Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#using-search_pubmed class=md-nav__link> <span class=md-ellipsis> Using search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#using-search_clinical_trials class=md-nav__link> <span class=md-ellipsis> Using search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#using-search_all class=md-nav__link> <span class=md-ellipsis> Using search_all </span> </a> </li> <li class=md-nav__item> <a href=#using-analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> Using analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#code-examples class=md-nav__link> <span class=md-ellipsis> Code Examples </span> </a> <nav class=md-nav aria-label="Code Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#python-api-usage class=md-nav__link> <span class=md-ellipsis> Python API Usage </span> </a> </li> <li class=md-nav__item> <a href=#gradio-ui-integration class=md-nav__link> <span class=md-ellipsis> Gradio UI Integration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#research-patterns class=md-nav__link> <span class=md-ellipsis> Research Patterns </span> </a> <nav class=md-nav aria-label="Research Patterns"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#iterative-research class=md-nav__link> <span class=md-ellipsis> Iterative Research </span> </a> </li> <li class=md-nav__item> <a href=#deep-research class=md-nav__link> <span class=md-ellipsis> Deep Research </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#configuration-examples class=md-nav__link> <span class=md-ellipsis> Configuration Examples </span> </a> <nav class=md-nav aria-label="Configuration Examples"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#basic-configuration class=md-nav__link> <span class=md-ellipsis> Basic Configuration </span> </a> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=examples>Examples<a class=headerlink href=#examples title="Anchor link to this section">¶</a></h1> <p>This page provides examples of using The DETERMINATOR for various research tasks.</p> <h2 id=basic-research-query>Basic Research Query<a class=headerlink href=#basic-research-query title="Anchor link to this section">¶</a></h2> <h3 id=example-1-drug-information>Example 1: Drug Information<a class=headerlink href=#example-1-drug-information title="Anchor link to this section">¶</a></h3> <p><strong>Query</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>What are the latest treatments for Alzheimer's disease?
|
| 2 |
+
</span></code></pre></div></p> <p><strong>What The DETERMINATOR Does</strong>: 1. Searches PubMed for recent papers 2. Searches ClinicalTrials.gov for active trials 3. Evaluates evidence quality 4. Synthesizes findings into a comprehensive report</p> <h3 id=example-2-clinical-trial-search>Example 2: Clinical Trial Search<a class=headerlink href=#example-2-clinical-trial-search title="Anchor link to this section">¶</a></h3> <p><strong>Query</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>What clinical trials are investigating metformin for cancer prevention?
|
| 3 |
+
</span></code></pre></div></p> <p><strong>What The DETERMINATOR Does</strong>:</p> <ol> <li>Searches ClinicalTrials.gov for relevant trials</li> <li>Searches PubMed for supporting literature</li> <li>Provides trial details and status</li> <li>Summarizes findings</li> </ol> <h2 id=advanced-research-queries>Advanced Research Queries<a class=headerlink href=#advanced-research-queries title="Anchor link to this section">¶</a></h2> <h3 id=example-3-comprehensive-review>Example 3: Comprehensive Review<a class=headerlink href=#example-3-comprehensive-review title="Anchor link to this section">¶</a></h3> <p><strong>Query</strong>:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>Review the evidence for using metformin as an anti-aging intervention,
|
| 4 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>including clinical trials, mechanisms of action, and safety profile.
|
| 5 |
+
</span></code></pre></div> <p><strong>What The DETERMINATOR Does</strong>: 1. Uses deep research mode (multi-section) 2. Searches multiple sources in parallel 3. Generates sections on: - Clinical trials - Mechanisms of action - Safety profile 4. Synthesizes comprehensive report</p> <h3 id=example-4-hypothesis-testing>Example 4: Hypothesis Testing<a class=headerlink href=#example-4-hypothesis-testing title="Anchor link to this section">¶</a></h3> <p><strong>Query</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>Test the hypothesis that regular exercise reduces Alzheimer's disease risk.
|
| 6 |
+
</span></code></pre></div></p> <p><strong>What The DETERMINATOR Does</strong>: 1. Generates testable hypotheses 2. Searches for supporting/contradicting evidence 3. Performs statistical analysis (if Modal configured) 4. Provides verdict: SUPPORTED, REFUTED, or INCONCLUSIVE</p> <h2 id=mcp-tool-examples>MCP Tool Examples<a class=headerlink href=#mcp-tool-examples title="Anchor link to this section">¶</a></h2> <h3 id=using-search_pubmed>Using search_pubmed<a class=headerlink href=#using-search_pubmed title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>Search PubMed for "CRISPR gene editing cancer therapy"
|
| 7 |
+
</span></code></pre></div> <h3 id=using-search_clinical_trials>Using search_clinical_trials<a class=headerlink href=#using-search_clinical_trials title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>Find active clinical trials for "diabetes type 2 treatment"
|
| 8 |
+
</span></code></pre></div> <h3 id=using-search_all>Using search_all<a class=headerlink href=#using-search_all title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>Search all sources for "COVID-19 vaccine side effects"
|
| 9 |
+
</span></code></pre></div> <h3 id=using-analyze_hypothesis>Using analyze_hypothesis<a class=headerlink href=#using-analyze_hypothesis title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>Analyze whether vitamin D supplementation reduces COVID-19 severity
|
| 10 |
+
</span></code></pre></div> <h2 id=code-examples>Code Examples<a class=headerlink href=#code-examples title="Anchor link to this section">¶</a></h2> <h3 id=python-api-usage>Python API Usage<a class=headerlink href=#python-api-usage title="Anchor link to this section">¶</a></h3> <div class="language-python highlight"><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.orchestrator_factory</span><span class=w> </span><span class=kn>import</span> <span class=n>create_orchestrator</span>
|
| 11 |
+
</span><span id=__span-8-2><a id=__codelineno-8-2 name=__codelineno-8-2 href=#__codelineno-8-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.tools.search_handler</span><span class=w> </span><span class=kn>import</span> <span class=n>SearchHandler</span>
|
| 12 |
+
</span><span id=__span-8-3><a id=__codelineno-8-3 name=__codelineno-8-3 href=#__codelineno-8-3></a><span class=kn>from</span><span class=w> </span><span class=nn>src.agent_factory.judges</span><span class=w> </span><span class=kn>import</span> <span class=n>create_judge_handler</span>
|
| 13 |
+
</span><span id=__span-8-4><a id=__codelineno-8-4 name=__codelineno-8-4 href=#__codelineno-8-4></a>
|
| 14 |
+
</span><span id=__span-8-5><a id=__codelineno-8-5 name=__codelineno-8-5 href=#__codelineno-8-5></a><span class=c1># Create orchestrator</span>
|
| 15 |
+
</span><span id=__span-8-6><a id=__codelineno-8-6 name=__codelineno-8-6 href=#__codelineno-8-6></a><span class=n>search_handler</span> <span class=o>=</span> <span class=n>SearchHandler</span><span class=p>()</span>
|
| 16 |
+
</span><span id=__span-8-7><a id=__codelineno-8-7 name=__codelineno-8-7 href=#__codelineno-8-7></a><span class=n>judge_handler</span> <span class=o>=</span> <span class=n>create_judge_handler</span><span class=p>()</span>
|
| 17 |
+
</span></code></pre></div> <div class="language-python highlight"><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a><span class=c1># Run research query</span>
|
| 18 |
+
</span><span id=__span-9-2><a id=__codelineno-9-2 name=__codelineno-9-2 href=#__codelineno-9-2></a><span class=n>query</span> <span class=o>=</span> <span class=s2>"What are the latest treatments for Alzheimer's disease?"</span>
|
| 19 |
+
</span><span id=__span-9-3><a id=__codelineno-9-3 name=__codelineno-9-3 href=#__codelineno-9-3></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>orchestrator</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 20 |
+
</span><span id=__span-9-4><a id=__codelineno-9-4 name=__codelineno-9-4 href=#__codelineno-9-4></a> <span class=nb>print</span><span class=p>(</span><span class=sa>f</span><span class=s2>"Event: </span><span class=si>{</span><span class=n>event</span><span class=o>.</span><span class=n>type</span><span class=si>}</span><span class=s2> - </span><span class=si>{</span><span class=n>event</span><span class=o>.</span><span class=n>data</span><span class=si>}</span><span class=s2>"</span><span class=p>)</span>
|
| 21 |
+
</span></code></pre></div> <h3 id=gradio-ui-integration>Gradio UI Integration<a class=headerlink href=#gradio-ui-integration title="Anchor link to this section">¶</a></h3> <div class="language-python highlight"><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a><span class=kn>import</span><span class=w> </span><span class=nn>gradio</span><span class=w> </span><span class=k>as</span><span class=w> </span><span class=nn>gr</span>
|
| 22 |
+
</span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=kn>from</span><span class=w> </span><span class=nn>src.app</span><span class=w> </span><span class=kn>import</span> <span class=n>create_research_interface</span>
|
| 23 |
+
</span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a>
|
| 24 |
+
</span><span id=__span-10-4><a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a><span class=c1># Create interface</span>
|
| 25 |
+
</span><span id=__span-10-5><a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a><span class=n>interface</span> <span class=o>=</span> <span class=n>create_research_interface</span><span class=p>()</span>
|
| 26 |
+
</span><span id=__span-10-6><a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a>
|
| 27 |
+
</span><span id=__span-10-7><a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a><span class=c1># Launch</span>
|
| 28 |
+
</span><span id=__span-10-8><a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a><span class=n>interface</span><span class=o>.</span><span class=n>launch</span><span class=p>(</span><span class=n>server_name</span><span class=o>=</span><span class=s2>"0.0.0.0"</span><span class=p>,</span> <span class=n>server_port</span><span class=o>=</span><span class=mi>7860</span><span class=p>)</span>
|
| 29 |
+
</span></code></pre></div> <h2 id=research-patterns>Research Patterns<a class=headerlink href=#research-patterns title="Anchor link to this section">¶</a></h2> <h3 id=iterative-research>Iterative Research<a class=headerlink href=#iterative-research title="Anchor link to this section">¶</a></h3> <p>Single-loop research with search-judge-synthesize cycles:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.orchestrator.research_flow</span><span class=w> </span><span class=kn>import</span> <span class=n>IterativeResearchFlow</span>
|
| 30 |
+
</span></code></pre></div> <div class="language-python highlight"><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>flow</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 31 |
+
</span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a> <span class=c1># Handle events</span>
|
| 32 |
+
</span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a> <span class=k>pass</span>
|
| 33 |
+
</span></code></pre></div> <h3 id=deep-research>Deep Research<a class=headerlink href=#deep-research title="Anchor link to this section">¶</a></h3> <p>Multi-section parallel research:</p> <div class="language-python highlight"><pre><span></span><code><span id=__span-13-1><a id=__codelineno-13-1 name=__codelineno-13-1 href=#__codelineno-13-1></a><span class=kn>from</span><span class=w> </span><span class=nn>src.orchestrator.research_flow</span><span class=w> </span><span class=kn>import</span> <span class=n>DeepResearchFlow</span>
|
| 34 |
+
</span></code></pre></div> <div class="language-python highlight"><pre><span></span><code><span id=__span-14-1><a id=__codelineno-14-1 name=__codelineno-14-1 href=#__codelineno-14-1></a><span class=k>async</span> <span class=k>for</span> <span class=n>event</span> <span class=ow>in</span> <span class=n>flow</span><span class=o>.</span><span class=n>run</span><span class=p>(</span><span class=n>query</span><span class=p>):</span>
|
| 35 |
+
</span><span id=__span-14-2><a id=__codelineno-14-2 name=__codelineno-14-2 href=#__codelineno-14-2></a> <span class=c1># Handle events</span>
|
| 36 |
+
</span><span id=__span-14-3><a id=__codelineno-14-3 name=__codelineno-14-3 href=#__codelineno-14-3></a> <span class=k>pass</span>
|
| 37 |
+
</span></code></pre></div> <h2 id=configuration-examples>Configuration Examples<a class=headerlink href=#configuration-examples title="Anchor link to this section">¶</a></h2> <h3 id=basic-configuration>Basic Configuration<a class=headerlink href=#basic-configuration title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-15-1><a id=__codelineno-15-1 name=__codelineno-15-1 href=#__codelineno-15-1></a><span class=c1># .env file</span>
|
| 38 |
+
</span><span id=__span-15-2><a id=__codelineno-15-2 name=__codelineno-15-2 href=#__codelineno-15-2></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>openai
|
| 39 |
+
</span><span id=__span-15-3><a id=__codelineno-15-3 name=__codelineno-15-3 href=#__codelineno-15-3></a><span class=nv>OPENAI_API_KEY</span><span class=o>=</span>your_key_here
|
| 40 |
+
</span><span id=__span-15-4><a id=__codelineno-15-4 name=__codelineno-15-4 href=#__codelineno-15-4></a><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=m>10</span>
|
| 41 |
+
</span></code></pre></div> <h3 id=advanced-configuration>Advanced Configuration<a class=headerlink href=#advanced-configuration title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-16-1><a id=__codelineno-16-1 name=__codelineno-16-1 href=#__codelineno-16-1></a><span class=c1># .env file</span>
|
| 42 |
+
</span><span id=__span-16-2><a id=__codelineno-16-2 name=__codelineno-16-2 href=#__codelineno-16-2></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>anthropic
|
| 43 |
+
</span><span id=__span-16-3><a id=__codelineno-16-3 name=__codelineno-16-3 href=#__codelineno-16-3></a><span class=nv>ANTHROPIC_API_KEY</span><span class=o>=</span>your_key_here
|
| 44 |
+
</span><span id=__span-16-4><a id=__codelineno-16-4 name=__codelineno-16-4 href=#__codelineno-16-4></a><span class=nv>EMBEDDING_PROVIDER</span><span class=o>=</span><span class=nb>local</span>
|
| 45 |
+
</span><span id=__span-16-5><a id=__codelineno-16-5 name=__codelineno-16-5 href=#__codelineno-16-5></a><span class=nv>WEB_SEARCH_PROVIDER</span><span class=o>=</span>duckduckgo
|
| 46 |
+
</span><span id=__span-16-6><a id=__codelineno-16-6 name=__codelineno-16-6 href=#__codelineno-16-6></a><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=m>20</span>
|
| 47 |
+
</span><span id=__span-16-7><a id=__codelineno-16-7 name=__codelineno-16-7 href=#__codelineno-16-7></a><span class=nv>DEFAULT_TOKEN_LIMIT</span><span class=o>=</span><span class=m>200000</span>
|
| 48 |
+
</span><span id=__span-16-8><a id=__codelineno-16-8 name=__codelineno-16-8 href=#__codelineno-16-8></a><span class=nv>USE_GRAPH_EXECUTION</span><span class=o>=</span><span class=nb>true</span>
|
| 49 |
+
</span></code></pre></div> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ul> <li>Read the <a href=../../configuration/ >Configuration Guide</a> for all options</li> <li>Explore the <a href=../../architecture/graph_orchestration/ >Architecture Documentation</a></li> <li>Check out the <a href=../../api/agents/ >API Reference</a> for programmatic usage</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/getting-started/installation/index.html
CHANGED
|
@@ -1,21 +1,27 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/installation/ rel=canonical><link href=../../overview/features/ rel=prev><link href=../quick-start/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Installation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#installation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Installation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Installation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Installation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> <li class=md-nav__item> <a href=#installation-steps class=md-nav__link> <span class=md-ellipsis> Installation Steps </span> </a> <nav class=md-nav aria-label="Installation Steps"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-install-uv-recommended class=md-nav__link> <span class=md-ellipsis> 1. Install uv (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#2-clone-the-repository class=md-nav__link> <span class=md-ellipsis> 2. Clone the Repository </span> </a> </li> <li class=md-nav__item> <a href=#3-install-dependencies class=md-nav__link> <span class=md-ellipsis> 3. Install Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#4-install-optional-dependencies class=md-nav__link> <span class=md-ellipsis> 4. Install Optional Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#5-configure-environment-variables class=md-nav__link> <span class=md-ellipsis> 5. Configure Environment Variables </span> </a> </li> <li class=md-nav__item> <a href=#6-verify-installation class=md-nav__link> <span class=md-ellipsis> 6. Verify Installation </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-setup class=md-nav__link> <span class=md-ellipsis> Development Setup </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#common-issues class=md-nav__link> <span class=md-ellipsis> Common Issues </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> <li class=md-nav__item> <a href=#installation-steps class=md-nav__link> <span class=md-ellipsis> Installation Steps </span> </a> <nav class=md-nav aria-label="Installation Steps"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-install-uv-recommended class=md-nav__link> <span class=md-ellipsis> 1. Install uv (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#2-clone-the-repository class=md-nav__link> <span class=md-ellipsis> 2. Clone the Repository </span> </a> </li> <li class=md-nav__item> <a href=#3-install-dependencies class=md-nav__link> <span class=md-ellipsis> 3. Install Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#4-install-optional-dependencies class=md-nav__link> <span class=md-ellipsis> 4. Install Optional Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#5-configure-environment-variables class=md-nav__link> <span class=md-ellipsis> 5. Configure Environment Variables </span> </a> </li> <li class=md-nav__item> <a href=#6-verify-installation class=md-nav__link> <span class=md-ellipsis> 6. Verify Installation </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-setup class=md-nav__link> <span class=md-ellipsis> Development Setup </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#common-issues class=md-nav__link> <span class=md-ellipsis> Common Issues </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¶</a></h1> <p>This guide will help you install and set up DeepCritical on your system.</p> <h2 id=prerequisites>Prerequisites<a class=headerlink href=#prerequisites title="Permanent link">¶</a></h2> <ul> <li>Python 3.11 or higher</li> <li><code>uv</code> package manager (recommended) or <code>pip</code></li> <li>At least one LLM API key (OpenAI, Anthropic, or HuggingFace)</li> </ul> <h2 id=installation-steps>Installation Steps<a class=headerlink href=#installation-steps title="Permanent link">¶</a></h2> <h3 id=1-install-uv-recommended>1. Install uv (Recommended)<a class=headerlink href=#1-install-uv-recommended title="Permanent link">¶</a></h3> <p><code>uv</code> is a fast Python package installer and resolver. Install it with:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>pip<span class=w> </span>install<span class=w> </span>uv
|
| 2 |
-
</code></pre></div>
|
| 3 |
-
<a id=__codelineno-
|
| 4 |
-
</
|
| 5 |
-
</
|
| 6 |
-
</
|
| 7 |
-
</
|
| 8 |
-
</code></pre></div> <p>
|
| 9 |
-
</
|
| 10 |
-
</code></pre></div> <h3 id=
|
| 11 |
-
<a id=__codelineno-
|
| 12 |
-
<a id=__codelineno-
|
| 13 |
-
<a id=__codelineno-
|
| 14 |
-
<a id=__codelineno-8-
|
| 15 |
-
<a id=__codelineno-
|
| 16 |
-
<
|
| 17 |
-
<a id=__codelineno-
|
| 18 |
-
</
|
| 19 |
-
</
|
| 20 |
-
</
|
| 21 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/installation/ rel=canonical><link href=../../overview/features/ rel=prev><link href=../quick-start/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Installation - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#installation class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Installation </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Installation </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Installation </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#prerequisites class=md-nav__link> <span class=md-ellipsis> Prerequisites </span> </a> </li> <li class=md-nav__item> <a href=#installation-steps class=md-nav__link> <span class=md-ellipsis> Installation Steps </span> </a> <nav class=md-nav aria-label="Installation Steps"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-install-uv-recommended class=md-nav__link> <span class=md-ellipsis> 1. Install uv (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#2-clone-the-repository class=md-nav__link> <span class=md-ellipsis> 2. Clone the Repository </span> </a> </li> <li class=md-nav__item> <a href=#3-install-dependencies class=md-nav__link> <span class=md-ellipsis> 3. Install Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#4-install-optional-dependencies class=md-nav__link> <span class=md-ellipsis> 4. Install Optional Dependencies </span> </a> </li> <li class=md-nav__item> <a href=#5-configure-environment-variables class=md-nav__link> <span class=md-ellipsis> 5. Configure Environment Variables </span> </a> </li> <li class=md-nav__item> <a href=#6-verify-installation class=md-nav__link> <span class=md-ellipsis> 6. Verify Installation </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-setup class=md-nav__link> <span class=md-ellipsis> Development Setup </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#common-issues class=md-nav__link> <span class=md-ellipsis> Common Issues </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=installation>Installation<a class=headerlink href=#installation title="Anchor link to this section">¶</a></h1> <p>This guide will help you install and set up DeepCritical on your system.</p> <h2 id=prerequisites>Prerequisites<a class=headerlink href=#prerequisites title="Anchor link to this section">¶</a></h2> <ul> <li>Python 3.11 or higher</li> <li><code>uv</code> package manager (recommended) or <code>pip</code></li> <li>At least one LLM API key (OpenAI, Anthropic, or HuggingFace)</li> </ul> <h2 id=installation-steps>Installation Steps<a class=headerlink href=#installation-steps title="Anchor link to this section">¶</a></h2> <h3 id=1-install-uv-recommended>1. Install uv (Recommended)<a class=headerlink href=#1-install-uv-recommended title="Anchor link to this section">¶</a></h3> <p><code>uv</code> is a fast Python package installer and resolver. Install it using the standalone installer (recommended):</p> <p><strong>Unix/macOS/Linux:</strong> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>curl<span class=w> </span>-LsSf<span class=w> </span>https://astral.sh/uv/install.sh<span class=w> </span><span class=p>|</span><span class=w> </span>sh
|
| 2 |
+
</span></code></pre></div></p> <p><strong>Windows (PowerShell):</strong> <div class="language-powershell highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=n>powershell</span> <span class=n>-ExecutionPolicy</span> <span class=n>ByPass</span> <span class=n>-c</span> <span class=s2>"irm https://astral.sh/uv/install.ps1 | iex"</span>
|
| 3 |
+
</span></code></pre></div></p> <p><strong>Alternative methods:</strong> <div class="language-bash highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=c1># Using pipx (recommended if you have pipx installed)</span>
|
| 4 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>pipx<span class=w> </span>install<span class=w> </span>uv
|
| 5 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a>
|
| 6 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=c1># Or using pip</span>
|
| 7 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a>pip<span class=w> </span>install<span class=w> </span>uv
|
| 8 |
+
</span></code></pre></div></p> <p>After installation, restart your terminal or add <code>~/.cargo/bin</code> to your PATH.</p> <h3 id=2-clone-the-repository>2. Clone the Repository<a class=headerlink href=#2-clone-the-repository title="Anchor link to this section">¶</a></h3> <div class="language-bash highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>git<span class=w> </span>clone<span class=w> </span>https://github.com/DeepCritical/GradioDemo.git
|
| 9 |
+
</span><span id=__span-3-2><a id=__codelineno-3-2 name=__codelineno-3-2 href=#__codelineno-3-2></a><span class=nb>cd</span><span class=w> </span>GradioDemo
|
| 10 |
+
</span></code></pre></div> <h3 id=3-install-dependencies>3. Install Dependencies<a class=headerlink href=#3-install-dependencies title="Anchor link to this section">¶</a></h3> <p>Using <code>uv</code> (recommended):</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a>uv<span class=w> </span>sync
|
| 11 |
+
</span></code></pre></div> <p>Using <code>pip</code>:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>pip<span class=w> </span>install<span class=w> </span>-e<span class=w> </span>.
|
| 12 |
+
</span></code></pre></div> <h3 id=4-install-optional-dependencies>4. Install Optional Dependencies<a class=headerlink href=#4-install-optional-dependencies title="Anchor link to this section">¶</a></h3> <p>For embeddings support (local sentence-transformers):</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>uv<span class=w> </span>sync<span class=w> </span>--extra<span class=w> </span>embeddings
|
| 13 |
+
</span></code></pre></div> <p>For Modal sandbox execution:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>uv<span class=w> </span>sync<span class=w> </span>--extra<span class=w> </span>modal
|
| 14 |
+
</span></code></pre></div> <p>For Magentic orchestration:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a>uv<span class=w> </span>sync<span class=w> </span>--extra<span class=w> </span>magentic
|
| 15 |
+
</span></code></pre></div> <p>Install all extras:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras
|
| 16 |
+
</span></code></pre></div> <h3 id=5-configure-environment-variables>5. Configure Environment Variables<a class=headerlink href=#5-configure-environment-variables title="Anchor link to this section">¶</a></h3> <p>Create a <code>.env</code> file in the project root:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a><span class=c1># Required: At least one LLM provider</span>
|
| 17 |
+
</span><span id=__span-10-2><a id=__codelineno-10-2 name=__codelineno-10-2 href=#__codelineno-10-2></a><span class=nv>LLM_PROVIDER</span><span class=o>=</span>openai<span class=w> </span><span class=c1># or "anthropic" or "huggingface"</span>
|
| 18 |
+
</span><span id=__span-10-3><a id=__codelineno-10-3 name=__codelineno-10-3 href=#__codelineno-10-3></a><span class=nv>OPENAI_API_KEY</span><span class=o>=</span>your_openai_api_key_here
|
| 19 |
+
</span><span id=__span-10-4><a id=__codelineno-10-4 name=__codelineno-10-4 href=#__codelineno-10-4></a>
|
| 20 |
+
</span><span id=__span-10-5><a id=__codelineno-10-5 name=__codelineno-10-5 href=#__codelineno-10-5></a><span class=c1># Optional: Other services</span>
|
| 21 |
+
</span><span id=__span-10-6><a id=__codelineno-10-6 name=__codelineno-10-6 href=#__codelineno-10-6></a><span class=nv>NCBI_API_KEY</span><span class=o>=</span>your_ncbi_api_key_here<span class=w> </span><span class=c1># For higher PubMed rate limits</span>
|
| 22 |
+
</span><span id=__span-10-7><a id=__codelineno-10-7 name=__codelineno-10-7 href=#__codelineno-10-7></a><span class=nv>MODAL_TOKEN_ID</span><span class=o>=</span>your_modal_token_id
|
| 23 |
+
</span><span id=__span-10-8><a id=__codelineno-10-8 name=__codelineno-10-8 href=#__codelineno-10-8></a><span class=nv>MODAL_TOKEN_SECRET</span><span class=o>=</span>your_modal_token_secret
|
| 24 |
+
</span></code></pre></div> <p>See the <a href=../../configuration/ >Configuration Guide</a> for all available options.</p> <h3 id=6-verify-installation>6. Verify Installation<a class=headerlink href=#6-verify-installation title="Anchor link to this section">¶</a></h3> <p>Run the application:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a>uv<span class=w> </span>run<span class=w> </span>gradio<span class=w> </span>run<span class=w> </span>src/app.py
|
| 25 |
+
</span></code></pre></div> <p>Open your browser to <code>http://localhost:7860</code> to verify the installation.</p> <h2 id=development-setup>Development Setup<a class=headerlink href=#development-setup title="Anchor link to this section">¶</a></h2> <p>For development, install dev dependencies:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a>uv<span class=w> </span>sync<span class=w> </span>--all-extras<span class=w> </span>--dev
|
| 26 |
+
</span></code></pre></div> <p>Install pre-commit hooks:</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-13-1><a id=__codelineno-13-1 name=__codelineno-13-1 href=#__codelineno-13-1></a>uv<span class=w> </span>run<span class=w> </span>pre-commit<span class=w> </span>install
|
| 27 |
+
</span></code></pre></div> <h2 id=troubleshooting>Troubleshooting<a class=headerlink href=#troubleshooting title="Anchor link to this section">¶</a></h2> <h3 id=common-issues>Common Issues<a class=headerlink href=#common-issues title="Anchor link to this section">¶</a></h3> <p><strong>Import Errors</strong>: - Ensure you've installed all required dependencies - Check that Python 3.11+ is being used</p> <p><strong>API Key Errors</strong>: - Verify your <code>.env</code> file is in the project root - Check that API keys are correctly formatted - Ensure at least one LLM provider is configured</p> <p><strong>Module Not Found</strong>: - Run <code>uv sync</code> or <code>pip install -e .</code> again - Check that you're in the correct virtual environment</p> <p><strong>Port Already in Use</strong>: - Change the port in <code>src/app.py</code> or use environment variable - Kill the process using port 7860</p> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ul> <li>Read the <a href=../quick-start/ >Quick Start Guide</a></li> <li>Learn about <a href=../mcp-integration/ >MCP Integration</a></li> <li>Explore <a href=../examples/ >Examples</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/getting-started/mcp-integration/index.html
CHANGED
|
@@ -1,35 +1,35 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/mcp-integration/ rel=canonical><link href=../quick-start/ rel=prev><link href=../examples/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>MCP Integration - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mcp-integration class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> MCP Integration </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> MCP Integration </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> MCP Integration </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#what-is-mcp class=md-nav__link> <span class=md-ellipsis> What is MCP? </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server-url class=md-nav__link> <span class=md-ellipsis> MCP Server URL </span> </a> </li> <li class=md-nav__item> <a href=#claude-desktop-configuration class=md-nav__link> <span class=md-ellipsis> Claude Desktop Configuration </span> </a> <nav class=md-nav aria-label="Claude Desktop Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-locate-configuration-file class=md-nav__link> <span class=md-ellipsis> 1. Locate Configuration File </span> </a> </li> <li class=md-nav__item> <a href=#2-add-deepcritical-server class=md-nav__link> <span class=md-ellipsis> 2. Add DeepCritical Server </span> </a> </li> <li class=md-nav__item> <a href=#3-restart-claude-desktop class=md-nav__link> <span class=md-ellipsis> 3. Restart Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#4-verify-connection class=md-nav__link> <span class=md-ellipsis> 4. Verify Connection </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#available-tools class=md-nav__link> <span class=md-ellipsis> Available Tools </span> </a> <nav class=md-nav aria-label="Available Tools"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#search_pubmed class=md-nav__link> <span class=md-ellipsis> search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#search_clinical_trials class=md-nav__link> <span class=md-ellipsis> search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#search_biorxiv class=md-nav__link> <span class=md-ellipsis> search_biorxiv </span> </a> </li> <li class=md-nav__item> <a href=#search_all class=md-nav__link> <span class=md-ellipsis> search_all </span> </a> </li> <li class=md-nav__item> <a href=#analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-tools-in-claude-desktop class=md-nav__link> <span class=md-ellipsis> Using Tools in Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connection-issues class=md-nav__link> <span class=md-ellipsis> Connection Issues </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> <nav class=md-nav aria-label="Advanced Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#custom-port class=md-nav__link> <span class=md-ellipsis> Custom Port </span> </a> </li> <li class=md-nav__item> <a href=#multiple-instances class=md-nav__link> <span class=md-ellipsis> Multiple Instances </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#what-is-mcp class=md-nav__link> <span class=md-ellipsis> What is MCP? </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server-url class=md-nav__link> <span class=md-ellipsis> MCP Server URL </span> </a> </li> <li class=md-nav__item> <a href=#claude-desktop-configuration class=md-nav__link> <span class=md-ellipsis> Claude Desktop Configuration </span> </a> <nav class=md-nav aria-label="Claude Desktop Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-locate-configuration-file class=md-nav__link> <span class=md-ellipsis> 1. Locate Configuration File </span> </a> </li> <li class=md-nav__item> <a href=#2-add-deepcritical-server class=md-nav__link> <span class=md-ellipsis> 2. Add DeepCritical Server </span> </a> </li> <li class=md-nav__item> <a href=#3-restart-claude-desktop class=md-nav__link> <span class=md-ellipsis> 3. Restart Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#4-verify-connection class=md-nav__link> <span class=md-ellipsis> 4. Verify Connection </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#available-tools class=md-nav__link> <span class=md-ellipsis> Available Tools </span> </a> <nav class=md-nav aria-label="Available Tools"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#search_pubmed class=md-nav__link> <span class=md-ellipsis> search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#search_clinical_trials class=md-nav__link> <span class=md-ellipsis> search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#search_biorxiv class=md-nav__link> <span class=md-ellipsis> search_biorxiv </span> </a> </li> <li class=md-nav__item> <a href=#search_all class=md-nav__link> <span class=md-ellipsis> search_all </span> </a> </li> <li class=md-nav__item> <a href=#analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-tools-in-claude-desktop class=md-nav__link> <span class=md-ellipsis> Using Tools in Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connection-issues class=md-nav__link> <span class=md-ellipsis> Connection Issues </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> <nav class=md-nav aria-label="Advanced Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#custom-port class=md-nav__link> <span class=md-ellipsis> Custom Port </span> </a> </li> <li class=md-nav__item> <a href=#multiple-instances class=md-nav__link> <span class=md-ellipsis> Multiple Instances </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=mcp-integration>MCP Integration<a class=headerlink href=#mcp-integration title="Permanent link">¶</a></h1> <p>DeepCritical exposes a Model Context Protocol (MCP) server, allowing you to use its search tools directly from Claude Desktop or other MCP clients.</p> <h2 id=what-is-mcp>What is MCP?<a class=headerlink href=#what-is-mcp title="Permanent link">¶</a></h2> <p>The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. DeepCritical implements an MCP server that exposes its search capabilities as MCP tools.</p> <h2 id=mcp-server-url>MCP Server URL<a class=headerlink href=#mcp-server-url title="Permanent link">¶</a></h2> <p>When running locally:</p> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>http://localhost:7860/gradio_api/mcp/
|
| 2 |
-
</code></pre></div> <h2 id=claude-desktop-configuration>Claude Desktop Configuration<a class=headerlink href=#claude-desktop-configuration title="
|
| 3 |
-
</code></pre></div></p> <p><strong>Windows</strong>: <div class=highlight><pre><span></span><code><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>%APPDATA%\Claude\claude_desktop_config.json
|
| 4 |
-
</code></pre></div></p> <p><strong>Linux</strong>: <div class=highlight><pre><span></span><code><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>~/.config/Claude/claude_desktop_config.json
|
| 5 |
-
</code></pre></div></p> <h3 id=2-add-
|
| 6 |
-
<a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 7 |
-
<a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a><span class=w> </span><span class=nt>"
|
| 8 |
-
<a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:7860/gradio_api/mcp/"</span>
|
| 9 |
-
<a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a><span class=w> </span><span class=p>}</span>
|
| 10 |
-
<a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=w> </span><span class=p>}</span>
|
| 11 |
-
<a id=__codelineno-4-7 name=__codelineno-4-7 href=#__codelineno-4-7></a><span class=p>}</span>
|
| 12 |
-
</code></pre></div> <h3 id=3-restart-claude-desktop>3. Restart Claude Desktop<a class=headerlink href=#3-restart-claude-desktop title="
|
| 13 |
-
</code></pre></div></p> <h3 id=search_clinical_trials>search_clinical_trials<a class=headerlink href=#search_clinical_trials title="
|
| 14 |
-
</code></pre></div></p> <h3 id=search_biorxiv>search_biorxiv<a class=headerlink href=#search_biorxiv title="
|
| 15 |
-
</code></pre></div></p> <h3 id=search_all>search_all<a class=headerlink href=#search_all title="
|
| 16 |
-
</code></pre></div></p> <h3 id=analyze_hypothesis>analyze_hypothesis<a class=headerlink href=#analyze_hypothesis title="
|
| 17 |
-
</code></pre></div></p> <h2 id=using-tools-in-claude-desktop>Using Tools in Claude Desktop<a class=headerlink href=#using-tools-in-claude-desktop title="
|
| 18 |
-
</code></pre></div> <p>Claude will automatically: 1. Call the appropriate DeepCritical tool 2. Retrieve results 3. Use the results in its response</p> <h2 id=troubleshooting>Troubleshooting<a class=headerlink href=#troubleshooting title="
|
| 19 |
-
<a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 20 |
-
<a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a><span class=w> </span><span class=nt>"deepcritical"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 21 |
-
<a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:8080/gradio_api/mcp/"</span>
|
| 22 |
-
<a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><span class=w> </span><span class=p>}</span>
|
| 23 |
-
<a id=__codelineno-11-6 name=__codelineno-11-6 href=#__codelineno-11-6></a><span class=w> </span><span class=p>}</span>
|
| 24 |
-
<a id=__codelineno-11-7 name=__codelineno-11-7 href=#__codelineno-11-7></a><span class=p>}</span>
|
| 25 |
-
</code></pre></div> <h3 id=multiple-instances>Multiple Instances<a class=headerlink href=#multiple-instances title="
|
| 26 |
-
<a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 27 |
-
<a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a><span class=w> </span><span class=nt>"deepcritical-local"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 28 |
-
<a id=__codelineno-12-4 name=__codelineno-12-4 href=#__codelineno-12-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:7860/gradio_api/mcp/"</span>
|
| 29 |
-
<a id=__codelineno-12-5 name=__codelineno-12-5 href=#__codelineno-12-5></a><span class=w> </span><span class=p>},</span>
|
| 30 |
-
<a id=__codelineno-12-6 name=__codelineno-12-6 href=#__codelineno-12-6></a><span class=w> </span><span class=nt>"deepcritical-remote"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 31 |
-
<a id=__codelineno-12-7 name=__codelineno-12-7 href=#__codelineno-12-7></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"https://your-server.com/gradio_api/mcp/"</span>
|
| 32 |
-
<a id=__codelineno-12-8 name=__codelineno-12-8 href=#__codelineno-12-8></a><span class=w> </span><span class=p>}</span>
|
| 33 |
-
<a id=__codelineno-12-9 name=__codelineno-12-9 href=#__codelineno-12-9></a><span class=w> </span><span class=p>}</span>
|
| 34 |
-
<a id=__codelineno-12-10 name=__codelineno-12-10 href=#__codelineno-12-10></a><span class=p>}</span>
|
| 35 |
-
</code></pre></div> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/mcp-integration/ rel=canonical><link href=../quick-start/ rel=prev><link href=../examples/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>MCP Integration - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#mcp-integration class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> MCP Integration </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> MCP Integration </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> MCP Integration </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#what-is-mcp class=md-nav__link> <span class=md-ellipsis> What is MCP? </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server-url class=md-nav__link> <span class=md-ellipsis> MCP Server URL </span> </a> </li> <li class=md-nav__item> <a href=#claude-desktop-configuration class=md-nav__link> <span class=md-ellipsis> Claude Desktop Configuration </span> </a> <nav class=md-nav aria-label="Claude Desktop Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-locate-configuration-file class=md-nav__link> <span class=md-ellipsis> 1. Locate Configuration File </span> </a> </li> <li class=md-nav__item> <a href=#2-add-the-determinator-server class=md-nav__link> <span class=md-ellipsis> 2. Add The DETERMINATOR Server </span> </a> </li> <li class=md-nav__item> <a href=#3-restart-claude-desktop class=md-nav__link> <span class=md-ellipsis> 3. Restart Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#4-verify-connection class=md-nav__link> <span class=md-ellipsis> 4. Verify Connection </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#available-tools class=md-nav__link> <span class=md-ellipsis> Available Tools </span> </a> <nav class=md-nav aria-label="Available Tools"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#search_pubmed class=md-nav__link> <span class=md-ellipsis> search_pubmed </span> </a> </li> <li class=md-nav__item> <a href=#search_clinical_trials class=md-nav__link> <span class=md-ellipsis> search_clinical_trials </span> </a> </li> <li class=md-nav__item> <a href=#search_biorxiv class=md-nav__link> <span class=md-ellipsis> search_biorxiv </span> </a> </li> <li class=md-nav__item> <a href=#search_all class=md-nav__link> <span class=md-ellipsis> search_all </span> </a> </li> <li class=md-nav__item> <a href=#analyze_hypothesis class=md-nav__link> <span class=md-ellipsis> analyze_hypothesis </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#using-tools-in-claude-desktop class=md-nav__link> <span class=md-ellipsis> Using Tools in Claude Desktop </span> </a> </li> <li class=md-nav__item> <a href=#troubleshooting class=md-nav__link> <span class=md-ellipsis> Troubleshooting </span> </a> <nav class=md-nav aria-label=Troubleshooting> <ul class=md-nav__list> <li class=md-nav__item> <a href=#connection-issues class=md-nav__link> <span class=md-ellipsis> Connection Issues </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-configuration class=md-nav__link> <span class=md-ellipsis> Advanced Configuration </span> </a> <nav class=md-nav aria-label="Advanced Configuration"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#custom-port class=md-nav__link> <span class=md-ellipsis> Custom Port </span> </a> </li> <li class=md-nav__item> <a href=#multiple-instances class=md-nav__link> <span class=md-ellipsis> Multiple Instances </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=mcp-integration>MCP Integration<a class=headerlink href=#mcp-integration title="Anchor link to this section">¶</a></h1> <p>The DETERMINATOR exposes a Model Context Protocol (MCP) server, allowing you to use its search tools directly from Claude Desktop or other MCP clients.</p> <h2 id=what-is-mcp>What is MCP?<a class=headerlink href=#what-is-mcp title="Anchor link to this section">¶</a></h2> <p>The Model Context Protocol (MCP) is a standard for connecting AI assistants to external tools and data sources. The DETERMINATOR implements an MCP server that exposes its search capabilities as MCP tools.</p> <h2 id=mcp-server-url>MCP Server URL<a class=headerlink href=#mcp-server-url title="Anchor link to this section">¶</a></h2> <p>When running locally:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>http://localhost:7860/gradio_api/mcp/
|
| 2 |
+
</span></code></pre></div> <h2 id=claude-desktop-configuration>Claude Desktop Configuration<a class=headerlink href=#claude-desktop-configuration title="Anchor link to this section">¶</a></h2> <h3 id=1-locate-configuration-file>1. Locate Configuration File<a class=headerlink href=#1-locate-configuration-file title="Anchor link to this section">¶</a></h3> <p><strong>macOS</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>~/Library/Application Support/Claude/claude_desktop_config.json
|
| 3 |
+
</span></code></pre></div></p> <p><strong>Windows</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>%APPDATA%\Claude\claude_desktop_config.json
|
| 4 |
+
</span></code></pre></div></p> <p><strong>Linux</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>~/.config/Claude/claude_desktop_config.json
|
| 5 |
+
</span></code></pre></div></p> <h3 id=2-add-the-determinator-server>2. Add The DETERMINATOR Server<a class=headerlink href=#2-add-the-determinator-server title="Anchor link to this section">¶</a></h3> <p>Edit <code>claude_desktop_config.json</code> and add:</p> <div class="language-json highlight"><pre><span></span><code><span id=__span-4-1><a id=__codelineno-4-1 name=__codelineno-4-1 href=#__codelineno-4-1></a><span class=p>{</span>
|
| 6 |
+
</span><span id=__span-4-2><a id=__codelineno-4-2 name=__codelineno-4-2 href=#__codelineno-4-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 7 |
+
</span><span id=__span-4-3><a id=__codelineno-4-3 name=__codelineno-4-3 href=#__codelineno-4-3></a><span class=w> </span><span class=nt>"determinator"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 8 |
+
</span><span id=__span-4-4><a id=__codelineno-4-4 name=__codelineno-4-4 href=#__codelineno-4-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:7860/gradio_api/mcp/"</span>
|
| 9 |
+
</span><span id=__span-4-5><a id=__codelineno-4-5 name=__codelineno-4-5 href=#__codelineno-4-5></a><span class=w> </span><span class=p>}</span>
|
| 10 |
+
</span><span id=__span-4-6><a id=__codelineno-4-6 name=__codelineno-4-6 href=#__codelineno-4-6></a><span class=w> </span><span class=p>}</span>
|
| 11 |
+
</span><span id=__span-4-7><a id=__codelineno-4-7 name=__codelineno-4-7 href=#__codelineno-4-7></a><span class=p>}</span>
|
| 12 |
+
</span></code></pre></div> <h3 id=3-restart-claude-desktop>3. Restart Claude Desktop<a class=headerlink href=#3-restart-claude-desktop title="Anchor link to this section">¶</a></h3> <p>Close and restart Claude Desktop for changes to take effect.</p> <h3 id=4-verify-connection>4. Verify Connection<a class=headerlink href=#4-verify-connection title="Anchor link to this section">¶</a></h3> <p>In Claude Desktop, you should see The DETERMINATOR tools available: - <code>search_pubmed</code> - <code>search_clinical_trials</code> - <code>search_biorxiv</code> - <code>search_all</code> - <code>analyze_hypothesis</code></p> <h2 id=available-tools>Available Tools<a class=headerlink href=#available-tools title="Anchor link to this section">¶</a></h2> <h3 id=search_pubmed>search_pubmed<a class=headerlink href=#search_pubmed title="Anchor link to this section">¶</a></h3> <p>Search peer-reviewed biomedical literature from PubMed.</p> <p><strong>Parameters</strong>: - <code>query</code> (string): Search query - <code>max_results</code> (integer, optional): Maximum number of results (default: 10)</p> <p><strong>Example</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-5-1><a id=__codelineno-5-1 name=__codelineno-5-1 href=#__codelineno-5-1></a>Search PubMed for "metformin diabetes"
|
| 13 |
+
</span></code></pre></div></p> <h3 id=search_clinical_trials>search_clinical_trials<a class=headerlink href=#search_clinical_trials title="Anchor link to this section">¶</a></h3> <p>Search ClinicalTrials.gov for interventional studies.</p> <p><strong>Parameters</strong>: - <code>query</code> (string): Search query - <code>max_results</code> (integer, optional): Maximum number of results (default: 10)</p> <p><strong>Example</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-6-1><a id=__codelineno-6-1 name=__codelineno-6-1 href=#__codelineno-6-1></a>Search clinical trials for "Alzheimer's disease treatment"
|
| 14 |
+
</span></code></pre></div></p> <h3 id=search_biorxiv>search_biorxiv<a class=headerlink href=#search_biorxiv title="Anchor link to this section">¶</a></h3> <p>Search bioRxiv/medRxiv preprints via Europe PMC.</p> <p><strong>Parameters</strong>: - <code>query</code> (string): Search query - <code>max_results</code> (integer, optional): Maximum number of results (default: 10)</p> <p><strong>Example</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-7-1><a id=__codelineno-7-1 name=__codelineno-7-1 href=#__codelineno-7-1></a>Search bioRxiv for "CRISPR gene editing"
|
| 15 |
+
</span></code></pre></div></p> <h3 id=search_all>search_all<a class=headerlink href=#search_all title="Anchor link to this section">¶</a></h3> <p>Search all sources simultaneously (PubMed, ClinicalTrials.gov, Europe PMC).</p> <p><strong>Parameters</strong>: - <code>query</code> (string): Search query - <code>max_results</code> (integer, optional): Maximum number of results per source (default: 10)</p> <p><strong>Example</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-8-1><a id=__codelineno-8-1 name=__codelineno-8-1 href=#__codelineno-8-1></a>Search all sources for "COVID-19 vaccine efficacy"
|
| 16 |
+
</span></code></pre></div></p> <h3 id=analyze_hypothesis>analyze_hypothesis<a class=headerlink href=#analyze_hypothesis title="Anchor link to this section">¶</a></h3> <p>Perform secure statistical analysis using Modal sandboxes.</p> <p><strong>Parameters</strong>: - <code>hypothesis</code> (string): Hypothesis to analyze - <code>data</code> (string, optional): Data description or code</p> <p><strong>Example</strong>: <div class="language-text highlight"><pre><span></span><code><span id=__span-9-1><a id=__codelineno-9-1 name=__codelineno-9-1 href=#__codelineno-9-1></a>Analyze the hypothesis that metformin reduces cancer risk
|
| 17 |
+
</span></code></pre></div></p> <h2 id=using-tools-in-claude-desktop>Using Tools in Claude Desktop<a class=headerlink href=#using-tools-in-claude-desktop title="Anchor link to this section">¶</a></h2> <p>Once configured, you can ask Claude to use DeepCritical tools:</p> <div class="language-text highlight"><pre><span></span><code><span id=__span-10-1><a id=__codelineno-10-1 name=__codelineno-10-1 href=#__codelineno-10-1></a>Use DeepCritical to search PubMed for recent papers on Alzheimer's disease treatments.
|
| 18 |
+
</span></code></pre></div> <p>Claude will automatically: 1. Call the appropriate DeepCritical tool 2. Retrieve results 3. Use the results in its response</p> <h2 id=troubleshooting>Troubleshooting<a class=headerlink href=#troubleshooting title="Anchor link to this section">¶</a></h2> <h3 id=connection-issues>Connection Issues<a class=headerlink href=#connection-issues title="Anchor link to this section">¶</a></h3> <p><strong>Server Not Found</strong>: - Ensure DeepCritical is running (<code>uv run gradio run src/app.py</code>) - Verify the URL in <code>claude_desktop_config.json</code> is correct - Check that port 7860 is not blocked by firewall</p> <p><strong>Tools Not Appearing</strong>: - Restart Claude Desktop after configuration changes - Check Claude Desktop logs for errors - Verify MCP server is accessible at the configured URL</p> <h3 id=authentication>Authentication<a class=headerlink href=#authentication title="Anchor link to this section">¶</a></h3> <p>If DeepCritical requires authentication: - Configure API keys in DeepCritical settings - Use HuggingFace OAuth login - Ensure API keys are valid</p> <h2 id=advanced-configuration>Advanced Configuration<a class=headerlink href=#advanced-configuration title="Anchor link to this section">¶</a></h2> <h3 id=custom-port>Custom Port<a class=headerlink href=#custom-port title="Anchor link to this section">¶</a></h3> <p>If running on a different port, update the URL:</p> <div class="language-json highlight"><pre><span></span><code><span id=__span-11-1><a id=__codelineno-11-1 name=__codelineno-11-1 href=#__codelineno-11-1></a><span class=p>{</span>
|
| 19 |
+
</span><span id=__span-11-2><a id=__codelineno-11-2 name=__codelineno-11-2 href=#__codelineno-11-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 20 |
+
</span><span id=__span-11-3><a id=__codelineno-11-3 name=__codelineno-11-3 href=#__codelineno-11-3></a><span class=w> </span><span class=nt>"deepcritical"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 21 |
+
</span><span id=__span-11-4><a id=__codelineno-11-4 name=__codelineno-11-4 href=#__codelineno-11-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:8080/gradio_api/mcp/"</span>
|
| 22 |
+
</span><span id=__span-11-5><a id=__codelineno-11-5 name=__codelineno-11-5 href=#__codelineno-11-5></a><span class=w> </span><span class=p>}</span>
|
| 23 |
+
</span><span id=__span-11-6><a id=__codelineno-11-6 name=__codelineno-11-6 href=#__codelineno-11-6></a><span class=w> </span><span class=p>}</span>
|
| 24 |
+
</span><span id=__span-11-7><a id=__codelineno-11-7 name=__codelineno-11-7 href=#__codelineno-11-7></a><span class=p>}</span>
|
| 25 |
+
</span></code></pre></div> <h3 id=multiple-instances>Multiple Instances<a class=headerlink href=#multiple-instances title="Anchor link to this section">¶</a></h3> <p>You can configure multiple DeepCritical instances:</p> <div class="language-json highlight"><pre><span></span><code><span id=__span-12-1><a id=__codelineno-12-1 name=__codelineno-12-1 href=#__codelineno-12-1></a><span class=p>{</span>
|
| 26 |
+
</span><span id=__span-12-2><a id=__codelineno-12-2 name=__codelineno-12-2 href=#__codelineno-12-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 27 |
+
</span><span id=__span-12-3><a id=__codelineno-12-3 name=__codelineno-12-3 href=#__codelineno-12-3></a><span class=w> </span><span class=nt>"deepcritical-local"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 28 |
+
</span><span id=__span-12-4><a id=__codelineno-12-4 name=__codelineno-12-4 href=#__codelineno-12-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:7860/gradio_api/mcp/"</span>
|
| 29 |
+
</span><span id=__span-12-5><a id=__codelineno-12-5 name=__codelineno-12-5 href=#__codelineno-12-5></a><span class=w> </span><span class=p>},</span>
|
| 30 |
+
</span><span id=__span-12-6><a id=__codelineno-12-6 name=__codelineno-12-6 href=#__codelineno-12-6></a><span class=w> </span><span class=nt>"deepcritical-remote"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 31 |
+
</span><span id=__span-12-7><a id=__codelineno-12-7 name=__codelineno-12-7 href=#__codelineno-12-7></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"https://your-server.com/gradio_api/mcp/"</span>
|
| 32 |
+
</span><span id=__span-12-8><a id=__codelineno-12-8 name=__codelineno-12-8 href=#__codelineno-12-8></a><span class=w> </span><span class=p>}</span>
|
| 33 |
+
</span><span id=__span-12-9><a id=__codelineno-12-9 name=__codelineno-12-9 href=#__codelineno-12-9></a><span class=w> </span><span class=p>}</span>
|
| 34 |
+
</span><span id=__span-12-10><a id=__codelineno-12-10 name=__codelineno-12-10 href=#__codelineno-12-10></a><span class=p>}</span>
|
| 35 |
+
</span></code></pre></div> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ul> <li>Learn about <a href=../../configuration/ >Configuration</a> for advanced settings</li> <li>Explore <a href=../examples/ >Examples</a> for use cases</li> <li>Read the <a href=../../architecture/graph_orchestration/ >Architecture Documentation</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/getting-started/quick-start/index.html
CHANGED
|
@@ -1,6 +1,44 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/quick-start/ rel=canonical><link href=../installation/ rel=prev><link href=../mcp-integration/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Quick Start Guide - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#quick-start-guide class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Quick Start Guide </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Quick Start Guide </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Quick Start Guide </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#start-the-application class=md-nav__link> <span class=md-ellipsis> Start the Application </span> </a> </li> <li class=md-nav__item> <a href=#first-research-query class=md-nav__link> <span class=md-ellipsis> First Research Query </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> <nav class=md-nav aria-label=Authentication> <ul class=md-nav__list> <li class=md-nav__item> <a href=#huggingface-oauth-recommended class=md-nav__link> <span class=md-ellipsis> HuggingFace OAuth (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#manual-api-key class=md-nav__link> <span class=md-ellipsis> Manual API Key </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#understanding-the-interface class=md-nav__link> <span class=md-ellipsis> Understanding the Interface </span> </a> <nav class=md-nav aria-label="Understanding the Interface"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#chat-interface class=md-nav__link> <span class=md-ellipsis> Chat Interface </span> </a> </li> <li class=md-nav__item> <a href=#status-indicators class=md-nav__link> <span class=md-ellipsis> Status Indicators </span> </a> </li> <li class=md-nav__item> <a href=#settings class=md-nav__link> <span class=md-ellipsis> Settings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#example-queries class=md-nav__link> <span class=md-ellipsis> Example Queries </span> </a> <nav class=md-nav aria-label="Example Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#simple-query class=md-nav__link> <span class=md-ellipsis> Simple Query </span> </a> </li> <li class=md-nav__item> <a href=#complex-query class=md-nav__link> <span class=md-ellipsis> Complex Query </span> </a> </li> <li class=md-nav__item> <a href=#clinical-trial-query class=md-nav__link> <span class=md-ellipsis> Clinical Trial Query </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#start-the-application class=md-nav__link> <span class=md-ellipsis> Start the Application </span> </a> </li> <li class=md-nav__item> <a href=#first-research-query class=md-nav__link> <span class=md-ellipsis> First Research Query </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> <nav class=md-nav aria-label=Authentication> <ul class=md-nav__list> <li class=md-nav__item> <a href=#huggingface-oauth-recommended class=md-nav__link> <span class=md-ellipsis> HuggingFace OAuth (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#manual-api-key class=md-nav__link> <span class=md-ellipsis> Manual API Key </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#understanding-the-interface class=md-nav__link> <span class=md-ellipsis> Understanding the Interface </span> </a> <nav class=md-nav aria-label="Understanding the Interface"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#chat-interface class=md-nav__link> <span class=md-ellipsis> Chat Interface </span> </a> </li> <li class=md-nav__item> <a href=#status-indicators class=md-nav__link> <span class=md-ellipsis> Status Indicators </span> </a> </li> <li class=md-nav__item> <a href=#settings class=md-nav__link> <span class=md-ellipsis> Settings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#example-queries class=md-nav__link> <span class=md-ellipsis> Example Queries </span> </a> <nav class=md-nav aria-label="Example Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#simple-query class=md-nav__link> <span class=md-ellipsis> Simple Query </span> </a> </li> <li class=md-nav__item> <a href=#complex-query class=md-nav__link> <span class=md-ellipsis> Complex Query </span> </a> </li> <li class=md-nav__item> <a href=#clinical-trial-query class=md-nav__link> <span class=md-ellipsis> Clinical Trial Query </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=quick-start-guide>Quick Start Guide<a class=headerlink href=#quick-start-guide title="Permanent link">¶</a></h1> <p>Get up and running with DeepCritical in minutes.</p> <h2 id=start-the-application>Start the Application<a class=headerlink href=#start-the-application title="Permanent link">¶</a></h2> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>uv<span class=w> </span>run<span class=w> </span>gradio<span class=w> </span>run<span class=w> </span>src/app.py
|
| 2 |
-
</
|
| 3 |
-
</
|
| 4 |
-
<a id=__codelineno-
|
| 5 |
-
</
|
| 6 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/getting-started/quick-start/ rel=canonical><link href=../installation/ rel=prev><link href=../mcp-integration/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Single Command Deploy - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#single-command-deploy class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Single Command Deploy </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_3 checked> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=true> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Single Command Deploy </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Single Command Deploy </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#first-research-query class=md-nav__link> <span class=md-ellipsis> First Research Query </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> <nav class=md-nav aria-label=Authentication> <ul class=md-nav__list> <li class=md-nav__item> <a href=#huggingface-oauth-recommended class=md-nav__link> <span class=md-ellipsis> HuggingFace OAuth (Recommended) </span> </a> </li> <li class=md-nav__item> <a href=#manual-api-key class=md-nav__link> <span class=md-ellipsis> Manual API Key </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#understanding-the-interface class=md-nav__link> <span class=md-ellipsis> Understanding the Interface </span> </a> <nav class=md-nav aria-label="Understanding the Interface"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#chat-interface class=md-nav__link> <span class=md-ellipsis> Chat Interface </span> </a> </li> <li class=md-nav__item> <a href=#status-indicators class=md-nav__link> <span class=md-ellipsis> Status Indicators </span> </a> </li> <li class=md-nav__item> <a href=#settings class=md-nav__link> <span class=md-ellipsis> Settings </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#example-queries class=md-nav__link> <span class=md-ellipsis> Example Queries </span> </a> <nav class=md-nav aria-label="Example Queries"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#simple-query class=md-nav__link> <span class=md-ellipsis> Simple Query </span> </a> </li> <li class=md-nav__item> <a href=#complex-query class=md-nav__link> <span class=md-ellipsis> Complex Query </span> </a> </li> <li class=md-nav__item> <a href=#clinical-trial-query class=md-nav__link> <span class=md-ellipsis> Clinical Trial Query </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=single-command-deploy>Single Command Deploy<a class=headerlink href=#single-command-deploy title="Anchor link to this section">¶</a></h1> <p>Deploy with docker instandly with a single command :</p> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a>docker<span class=w> </span>run<span class=w> </span>-it<span class=w> </span>-p<span class=w> </span><span class=m>7860</span>:7860<span class=w> </span>--platform<span class=o>=</span>linux/amd64<span class=w> </span><span class=se>\</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=w> </span>-e<span class=w> </span><span class=nv>DB_KEY</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a><span class=w> </span>-e<span class=w> </span><span class=nv>SERP_API</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a><span class=w> </span>-e<span class=w> </span><span class=nv>INFERENCE_API</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=w> </span>-e<span class=w> </span><span class=nv>MODAL_TOKEN_ID</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a><span class=w> </span>-e<span class=w> </span><span class=nv>MODAL_TOKEN_SECRET</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a><span class=w> </span>-e<span class=w> </span><span class=nv>NCBI_API_KEY</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=w> </span>-e<span class=w> </span><span class=nv>SERPER_API_KEY</span><span class=o>=</span><span class=s2>"YOUR_VALUE_HERE"</span><span class=w> </span><span class=se>\</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=w> </span>-e<span class=w> </span><span class=nv>CHROMA_DB_PATH</span><span class=o>=</span><span class=s2>"./chroma_db"</span><span class=w> </span><span class=se>\</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a><span class=w> </span>-e<span class=w> </span><span class=nv>CHROMA_DB_HOST</span><span class=o>=</span><span class=s2>"localhost"</span><span class=w> </span><span class=se>\</span>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=w> </span>-e<span class=w> </span><span class=nv>CHROMA_DB_PORT</span><span class=o>=</span><span class=s2>"8000"</span><span class=w> </span><span class=se>\</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a><span class=w> </span>-e<span class=w> </span><span class=nv>RAG_COLLECTION_NAME</span><span class=o>=</span><span class=s2>"deepcritical_evidence"</span><span class=w> </span><span class=se>\</span>
|
| 13 |
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a><span class=w> </span>-e<span class=w> </span><span class=nv>RAG_SIMILARITY_TOP_K</span><span class=o>=</span><span class=s2>"5"</span><span class=w> </span><span class=se>\</span>
|
| 14 |
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a><span class=w> </span>-e<span class=w> </span><span class=nv>RAG_AUTO_INGEST</span><span class=o>=</span><span class=s2>"true"</span><span class=w> </span><span class=se>\</span>
|
| 15 |
+
</span><span id=__span-0-15><a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a><span class=w> </span>-e<span class=w> </span><span class=nv>USE_GRAPH_EXECUTION</span><span class=o>=</span><span class=s2>"false"</span><span class=w> </span><span class=se>\</span>
|
| 16 |
+
</span><span id=__span-0-16><a id=__codelineno-0-16 name=__codelineno-0-16 href=#__codelineno-0-16></a><span class=w> </span>-e<span class=w> </span><span class=nv>DEFAULT_TOKEN_LIMIT</span><span class=o>=</span><span class=s2>"100000"</span><span class=w> </span><span class=se>\</span>
|
| 17 |
+
</span><span id=__span-0-17><a id=__codelineno-0-17 name=__codelineno-0-17 href=#__codelineno-0-17></a><span class=w> </span>-e<span class=w> </span><span class=nv>DEFAULT_TIME_LIMIT_MINUTES</span><span class=o>=</span><span class=s2>"10"</span><span class=w> </span><span class=se>\</span>
|
| 18 |
+
</span><span id=__span-0-18><a id=__codelineno-0-18 name=__codelineno-0-18 href=#__codelineno-0-18></a><span class=w> </span>-e<span class=w> </span><span class=nv>DEFAULT_ITERATIONS_LIMIT</span><span class=o>=</span><span class=s2>"10"</span><span class=w> </span><span class=se>\</span>
|
| 19 |
+
</span><span id=__span-0-19><a id=__codelineno-0-19 name=__codelineno-0-19 href=#__codelineno-0-19></a><span class=w> </span>-e<span class=w> </span><span class=nv>WEB_SEARCH_PROVIDER</span><span class=o>=</span><span class=s2>"duckduckgo"</span><span class=w> </span><span class=se>\</span>
|
| 20 |
+
</span><span id=__span-0-20><a id=__codelineno-0-20 name=__codelineno-0-20 href=#__codelineno-0-20></a><span class=w> </span>-e<span class=w> </span><span class=nv>MAX_ITERATIONS</span><span class=o>=</span><span class=s2>"10"</span><span class=w> </span><span class=se>\</span>
|
| 21 |
+
</span><span id=__span-0-21><a id=__codelineno-0-21 name=__codelineno-0-21 href=#__codelineno-0-21></a><span class=w> </span>-e<span class=w> </span><span class=nv>SEARCH_TIMEOUT</span><span class=o>=</span><span class=s2>"30"</span><span class=w> </span><span class=se>\</span>
|
| 22 |
+
</span><span id=__span-0-22><a id=__codelineno-0-22 name=__codelineno-0-22 href=#__codelineno-0-22></a><span class=w> </span>-e<span class=w> </span><span class=nv>LOG_LEVEL</span><span class=o>=</span><span class=s2>"DEBUG"</span><span class=w> </span><span class=se>\</span>
|
| 23 |
+
</span><span id=__span-0-23><a id=__codelineno-0-23 name=__codelineno-0-23 href=#__codelineno-0-23></a><span class=w> </span>-e<span class=w> </span><span class=nv>EMBEDDING_PROVIDER</span><span class=o>=</span><span class=s2>"local"</span><span class=w> </span><span class=se>\</span>
|
| 24 |
+
</span><span id=__span-0-24><a id=__codelineno-0-24 name=__codelineno-0-24 href=#__codelineno-0-24></a><span class=w> </span>-e<span class=w> </span><span class=nv>OPENAI_EMBEDDING_MODEL</span><span class=o>=</span><span class=s2>"text-embedding-3-small"</span><span class=w> </span><span class=se>\</span>
|
| 25 |
+
</span><span id=__span-0-25><a id=__codelineno-0-25 name=__codelineno-0-25 href=#__codelineno-0-25></a><span class=w> </span>-e<span class=w> </span><span class=nv>LOCAL_EMBEDDING_MODEL</span><span class=o>=</span><span class=s2>"BAAI/bge-small-en-v1.5"</span><span class=w> </span><span class=se>\</span>
|
| 26 |
+
</span><span id=__span-0-26><a id=__codelineno-0-26 name=__codelineno-0-26 href=#__codelineno-0-26></a><span class=w> </span>-e<span class=w> </span><span class=nv>HUGGINGFACE_EMBEDDING_MODEL</span><span class=o>=</span><span class=s2>"sentence-transformers/all-MiniLM-L6-v2"</span><span class=w> </span><span class=se>\</span>
|
| 27 |
+
</span><span id=__span-0-27><a id=__codelineno-0-27 name=__codelineno-0-27 href=#__codelineno-0-27></a><span class=w> </span>-e<span class=w> </span><span class=nv>HF_FALLBACK_MODELS</span><span class=o>=</span><span class=s2>"Qwen/Qwen3-Next-80B-A3B-Thinking,Qwen/Qwen3-Next-80B-A3B-Instruct,meta-llama/Llama-3.3-70B-Instruct,meta-llama/Llama-3.1-8B-Instruct,HuggingFaceH4/zephyr-7b-beta,Qwen/Qwen2-7B-Instruct"</span><span class=w> </span><span class=se>\</span>
|
| 28 |
+
</span><span id=__span-0-28><a id=__codelineno-0-28 name=__codelineno-0-28 href=#__codelineno-0-28></a><span class=w> </span>-e<span class=w> </span><span class=nv>HUGGINGFACE_MODEL</span><span class=o>=</span><span class=s2>"Qwen/Qwen3-Next-80B-A3B-Thinking"</span><span class=w> </span><span class=se>\</span>
|
| 29 |
+
</span><span id=__span-0-29><a id=__codelineno-0-29 name=__codelineno-0-29 href=#__codelineno-0-29></a><span class=w> </span>registry.hf.space/dataquests-deepcritical:latest<span class=w> </span>python<span class=w> </span>src/app.py
|
| 30 |
+
</span><span id=__span-0-30><a id=__codelineno-0-30 name=__codelineno-0-30 href=#__codelineno-0-30></a><span class=w> </span><span class=sb>```</span>
|
| 31 |
+
</span><span id=__span-0-31><a id=__codelineno-0-31 name=__codelineno-0-31 href=#__codelineno-0-31></a>
|
| 32 |
+
</span><span id=__span-0-32><a id=__codelineno-0-32 name=__codelineno-0-32 href=#__codelineno-0-32></a><span class=c1>## Quick start guide</span>
|
| 33 |
+
</span><span id=__span-0-33><a id=__codelineno-0-33 name=__codelineno-0-33 href=#__codelineno-0-33></a>
|
| 34 |
+
</span><span id=__span-0-34><a id=__codelineno-0-34 name=__codelineno-0-34 href=#__codelineno-0-34></a>Get<span class=w> </span>up<span class=w> </span>and<span class=w> </span>running<span class=w> </span>with<span class=w> </span>The<span class=w> </span>DETERMINATOR<span class=w> </span><span class=k>in</span><span class=w> </span>minutes.
|
| 35 |
+
</span><span id=__span-0-35><a id=__codelineno-0-35 name=__codelineno-0-35 href=#__codelineno-0-35></a>
|
| 36 |
+
</span><span id=__span-0-36><a id=__codelineno-0-36 name=__codelineno-0-36 href=#__codelineno-0-36></a><span class=c1>## Start the Application</span>
|
| 37 |
+
</span><span id=__span-0-37><a id=__codelineno-0-37 name=__codelineno-0-37 href=#__codelineno-0-37></a>
|
| 38 |
+
</span><span id=__span-0-38><a id=__codelineno-0-38 name=__codelineno-0-38 href=#__codelineno-0-38></a><span class=sb>```</span>bash
|
| 39 |
+
</span><span id=__span-0-39><a id=__codelineno-0-39 name=__codelineno-0-39 href=#__codelineno-0-39></a>gradio<span class=w> </span>src/app.py
|
| 40 |
+
</span></code></pre></div> <p>Open your browser to <code>http://localhost:7860</code>.</p> <h2 id=first-research-query>First Research Query<a class=headerlink href=#first-research-query title="Anchor link to this section">¶</a></h2> <ol> <li><strong>Enter a Research Question</strong></li> </ol> <p>Type your research question in the chat interface, for example: - "What are the latest treatments for Alzheimer's disease?" - "Review the evidence for metformin in cancer prevention" - "What clinical trials are investigating COVID-19 vaccines?"</p> <ol> <li><strong>Submit the Query</strong></li> </ol> <p>Click "Submit" or press Enter. The system will: - Generate observations about your query - Identify knowledge gaps - Search multiple sources (PubMed, ClinicalTrials.gov, Europe PMC) - Evaluate evidence quality - Synthesize findings into a report</p> <ol> <li><strong>Review Results</strong></li> </ol> <p>Watch the real-time progress in the chat interface: - Search operations and results - Evidence evaluation - Report generation - Final research report with citations</p> <h2 id=authentication>Authentication<a class=headerlink href=#authentication title="Anchor link to this section">¶</a></h2> <h3 id=huggingface-oauth-recommended>HuggingFace OAuth (Recommended)<a class=headerlink href=#huggingface-oauth-recommended title="Anchor link to this section">¶</a></h3> <ol> <li>Click "Sign in with HuggingFace" at the top of the app</li> <li>Authorize the application</li> <li>Your HuggingFace API token will be automatically used</li> <li>No need to manually enter API keys</li> </ol> <h3 id=manual-api-key>Manual API Key<a class=headerlink href=#manual-api-key title="Anchor link to this section">¶</a></h3> <ol> <li>Open the Settings accordion</li> <li>Enter your API key:</li> <li>OpenAI API key</li> <li>Anthropic API key</li> <li>HuggingFace API key</li> <li>Click "Save Settings"</li> <li>Manual keys take priority over OAuth tokens</li> </ol> <h2 id=understanding-the-interface>Understanding the Interface<a class=headerlink href=#understanding-the-interface title="Anchor link to this section">¶</a></h2> <h3 id=chat-interface>Chat Interface<a class=headerlink href=#chat-interface title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Input</strong>: Enter your research questions here</li> <li><strong>Messages</strong>: View conversation history and research progress</li> <li><strong>Streaming</strong>: Real-time updates as research progresses</li> </ul> <h3 id=status-indicators>Status Indicators<a class=headerlink href=#status-indicators title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Searching</strong>: Active search operations</li> <li><strong>Evaluating</strong>: Evidence quality assessment</li> <li><strong>Synthesizing</strong>: Report generation</li> <li><strong>Complete</strong>: Research finished</li> </ul> <h3 id=settings>Settings<a class=headerlink href=#settings title="Anchor link to this section">¶</a></h3> <ul> <li><strong>API Keys</strong>: Configure LLM providers</li> <li><strong>Research Mode</strong>: Choose iterative or deep research</li> <li><strong>Budget Limits</strong>: Set token, time, and iteration limits</li> </ul> <h2 id=example-queries>Example Queries<a class=headerlink href=#example-queries title="Anchor link to this section">¶</a></h2> <h3 id=simple-query>Simple Query<a class=headerlink href=#simple-query title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a>What are the side effects of metformin?
|
| 41 |
+
</span></code></pre></div> <h3 id=complex-query>Complex Query<a class=headerlink href=#complex-query title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a>Review the evidence for using metformin as an anti-aging intervention,
|
| 42 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a>including clinical trials, mechanisms of action, and safety profile.
|
| 43 |
+
</span></code></pre></div> <h3 id=clinical-trial-query>Clinical Trial Query<a class=headerlink href=#clinical-trial-query title="Anchor link to this section">¶</a></h3> <div class="language-text highlight"><pre><span></span><code><span id=__span-3-1><a id=__codelineno-3-1 name=__codelineno-3-1 href=#__codelineno-3-1></a>What are the active clinical trials investigating Alzheimer's disease treatments?
|
| 44 |
+
</span></code></pre></div> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ul> <li>Learn about <a href=../mcp-integration/ >MCP Integration</a> to use The DETERMINATOR from Claude Desktop</li> <li>Explore <a href=../examples/ >Examples</a> for more use cases</li> <li>Read the <a href=../../configuration/ >Configuration Guide</a> for advanced settings</li> <li>Check out the <a href=../../architecture/graph_orchestration/ >Architecture Documentation</a> to understand how it works</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/index.html
CHANGED
|
@@ -1,9 +1,16 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/ rel=canonical><link href=overview/architecture/ rel=next><link rel=icon href=assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>The DETERMINATOR</title><link rel=stylesheet href=assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#deepcritical class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Home </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Home </span> <span class="md-nav__icon md-icon"></span> </label> <a href=. class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Home </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> <li class=md-nav__item> <a href=#quick-start class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=#architecture class=md-nav__link> <span class=md-ellipsis> Architecture </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> <li class=md-nav__item> <a href=#quick-start class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=#architecture class=md-nav__link> <span class=md-ellipsis> Architecture </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=deepcritical>DeepCritical<a class=headerlink href=#deepcritical title="Permanent link">¶</a></h1> <p><strong>AI-Native Drug Repurposing Research Agent</strong></p> <p>DeepCritical is a deep research agent system that uses iterative search-and-judge loops to comprehensively answer research questions. The system supports multiple orchestration patterns, graph-based execution, parallel research workflows, and long-running task management with real-time streaming.</p> <h2 id=features>Features<a class=headerlink href=#features title="Permanent link">¶</a></h2> <ul> <li><strong>Multi-Source Search</strong>: PubMed, ClinicalTrials.gov, Europe PMC (includes bioRxiv/medRxiv)</li> <li><strong>MCP Integration</strong>: Use our tools from Claude Desktop or any MCP client</li> <li><strong>HuggingFace OAuth</strong>: Sign in with your HuggingFace account to automatically use your API token</li> <li><strong>Modal Sandbox</strong>: Secure execution of AI-generated statistical code</li> <li><strong>LlamaIndex RAG</strong>: Semantic search and evidence synthesis</li> <li><strong>HuggingFace Inference</strong>: Free tier support with automatic fallback</li> <li><strong>Strongly Typed Composable Graphs</strong>: Graph-based orchestration with Pydantic AI</li> <li><strong>Specialized Research Teams of Agents</strong>: Multi-agent coordination for complex research tasks</li> </ul> <h2 id=quick-start>Quick Start<a class=headerlink href=#quick-start title="Permanent link">¶</a></h2> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install uv if you haven't already</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
<a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>
|
| 7 |
-
<a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
-
<a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a>
|
| 9 |
-
</
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/ rel=canonical><link href=overview/architecture/ rel=next><link rel=icon href=assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>The DETERMINATOR</title><link rel=stylesheet href=assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=css/timeago.css><script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#the-determinator class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Home </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class="md-tabs__item md-tabs__item--active"> <a href=. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Home </span> <span class="md-nav__icon md-icon"></span> </label> <a href=. class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Home </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#features class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> <li class=md-nav__item> <a href=#quick-start class=md-nav__link> <span class=md-ellipsis> Quick Start </span> </a> </li> <li class=md-nav__item> <a href=#architecture class=md-nav__link> <span class=md-ellipsis> Architecture </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=the-determinator>The DETERMINATOR<a class=headerlink href=#the-determinator title="Anchor link to this section">¶</a></h1> <p><strong>Generalist Deep Research Agent - Stops at Nothing Until Finding Precise Answers</strong></p> <p>The DETERMINATOR is a powerful generalist deep research agent system that uses iterative search-and-judge loops to comprehensively investigate any research question. It stops at nothing until finding precise answers, only stopping at configured limits (budget, time, iterations).</p> <p><strong>Key Features</strong>: - <strong>Generalist</strong>: Handles queries from any domain (medical, technical, business, scientific, etc.) - <strong>Automatic Source Selection</strong>: Automatically determines if medical knowledge sources (PubMed, ClinicalTrials.gov) are needed - <strong>Multi-Source Search</strong>: Web search, PubMed, ClinicalTrials.gov, Europe PMC, RAG - <strong>Iterative Refinement</strong>: Continues searching and refining until precise answers are found - <strong>Evidence Synthesis</strong>: Comprehensive reports with proper citations</p> <p><strong>Important</strong>: The DETERMINATOR is a research tool that synthesizes evidence. It cannot provide medical advice or answer medical questions directly.</p> <h2 id=features>Features<a class=headerlink href=#features title="Anchor link to this section">¶</a></h2> <ul> <li><strong>Generalist Research</strong>: Handles any research question from any domain</li> <li><strong>Automatic Medical Detection</strong>: Automatically determines if medical knowledge sources are needed</li> <li><strong>Multi-Source Search</strong>: Web search, PubMed, ClinicalTrials.gov, Europe PMC (includes bioRxiv/medRxiv), RAG</li> <li><strong>Iterative Until Precise</strong>: Stops at nothing until finding precise answers (only stops at configured limits)</li> <li><strong>MCP Integration</strong>: Use our tools from Claude Desktop or any MCP client</li> <li><strong>HuggingFace OAuth</strong>: Sign in with your HuggingFace account to automatically use your API token</li> <li><strong>Modal Sandbox</strong>: Secure execution of AI-generated statistical code</li> <li><strong>LlamaIndex RAG</strong>: Semantic search and evidence synthesis</li> <li><strong>HuggingFace Inference</strong>: Free tier support with automatic fallback</li> <li><strong>Strongly Typed Composable Graphs</strong>: Graph-based orchestration with Pydantic AI</li> <li><strong>Specialized Research Teams of Agents</strong>: Multi-agent coordination for complex research tasks</li> </ul> <h2 id=quick-start>Quick Start<a class=headerlink href=#quick-start title="Anchor link to this section">¶</a></h2> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install uv if you haven't already (recommended: standalone installer)</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=c1># Unix/macOS/Linux:</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>curl<span class=w> </span>-LsSf<span class=w> </span>https://astral.sh/uv/install.sh<span class=w> </span><span class=p>|</span><span class=w> </span>sh
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=c1># Windows (PowerShell):</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>powershell<span class=w> </span>-ExecutionPolicy<span class=w> </span>ByPass<span class=w> </span>-c<span class=w> </span><span class=s2>"irm https://astral.sh/uv/install.ps1 | iex"</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=c1># Alternative: pipx install uv</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=c1># Or: pip install uv</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=c1># Sync dependencies</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>uv<span class=w> </span>sync
|
| 13 |
+
</span><span id=__span-0-13><a id=__codelineno-0-13 name=__codelineno-0-13 href=#__codelineno-0-13></a>
|
| 14 |
+
</span><span id=__span-0-14><a id=__codelineno-0-14 name=__codelineno-0-14 href=#__codelineno-0-14></a><span class=c1># Start the Gradio app</span>
|
| 15 |
+
</span><span id=__span-0-15><a id=__codelineno-0-15 name=__codelineno-0-15 href=#__codelineno-0-15></a>uv<span class=w> </span>run<span class=w> </span>gradio<span class=w> </span>run<span class=w> </span>src/app.py
|
| 16 |
+
</span></code></pre></div> <p>Open your browser to <code>http://localhost:7860</code>.</p> <p>For detailed installation and setup instructions, see the <a href=getting-started/installation/ >Getting Started Guide</a>.</p> <h2 id=architecture>Architecture<a class=headerlink href=#architecture title="Anchor link to this section">¶</a></h2> <p>The DETERMINATOR uses a Vertical Slice Architecture:</p> <ol> <li><strong>Search Slice</strong>: Retrieving evidence from multiple sources (web, PubMed, ClinicalTrials.gov, Europe PMC, RAG) based on query analysis</li> <li><strong>Judge Slice</strong>: Evaluating evidence quality using LLMs</li> <li><strong>Orchestrator Slice</strong>: Managing the research loop and UI</li> </ol> <p>The system supports three main research patterns:</p> <ul> <li><strong>Iterative Research</strong>: Single research loop with search-judge-synthesize cycles</li> <li><strong>Deep Research</strong>: Multi-section parallel research with planning and synthesis</li> <li><strong>Research Team</strong>: Multi-agent coordination using Magentic framework</li> </ul> <p>Learn more about the <a href=overview/architecture/ >Architecture</a>.</p> <h2 id=documentation>Documentation<a class=headerlink href=#documentation title="Anchor link to this section">¶</a></h2> <ul> <li><a href=overview/architecture/ >Overview</a> - System architecture and design</li> <li><a href=getting-started/installation/ >Getting Started</a> - Installation and setup</li> <li><a href=configuration/ >Configuration</a> - Configuration guide</li> <li><a href=api/agents/ >API Reference</a> - API documentation</li> <li><a href=contributing/ >Contributing</a> - Development guidelines</li> </ul> <h2 id=links>Links<a class=headerlink href=#links title="Anchor link to this section">¶</a></h2> <ul> <li><a href=https://github.com/DeepCritical/GradioDemo>GitHub Repository</a></li> <li><a href=https://huggingface.co/spaces/DataQuests/DeepCritical>HuggingFace Space</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:33:25 UTC"><span class=timeago datetime=2025-11-29T21:33:25+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:33:25 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": ".", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=assets/javascripts/bundle.e71a0d61.min.js></script> <script src=js/timeago.min.js></script> <script src=js/timeago_mkdocs_material.js></script> </body> </html>
|
site/license/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/LICENSE/ rel=canonical><link href=../contributing/testing/ rel=prev><link href=../team/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>License - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#license class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> License </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Contributing </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> License </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> License </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mit-license class=md-nav__link> <span class=md-ellipsis> MIT License </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mit-license class=md-nav__link> <span class=md-ellipsis> MIT License </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=license>License<a class=headerlink href=#license title="Permanent link">¶</a></h1> <p>DeepCritical is licensed under the MIT License.</p> <h2 id=mit-license>MIT License<a class=headerlink href=#mit-license title="Permanent link">¶</a></h2> <p>Copyright (c) 2024 DeepCritical Team</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p> <p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p> <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/LICENSE/ rel=canonical><link href=../contributing/testing/ rel=prev><link href=../team/ rel=next><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>License - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../css/timeago.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#license class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> License </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Contributing </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> License </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> License </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#mit-license class=md-nav__link> <span class=md-ellipsis> MIT License </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=license>License<a class=headerlink href=#license title="Anchor link to this section">¶</a></h1> <p>DeepCritical is licensed under the MIT License.</p> <h2 id=mit-license>MIT License<a class=headerlink href=#mit-license title="Anchor link to this section">¶</a></h2> <p>Copyright (c) 2024 DeepCritical Team</p> <p>Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:</p> <p>The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.</p> <p>THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:59:02 UTC"><span class=timeago datetime=2025-12-02T01:59:02+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:59:02 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:59:02 UTC"><span class=timeago datetime=2025-12-02T01:59:02+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:59:02 UTC">2025-12-02</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../js/timeago.min.js></script> <script src=../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/overview/architecture/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/overview/architecture/ rel=canonical><link rel=prev href=../..><link href=../features/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Architecture Overview - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#architecture-overview class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Architecture Overview </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Architecture Overview </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Architecture Overview </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-architecture class=md-nav__link> <span class=md-ellipsis> Core Architecture </span> </a> <nav class=md-nav aria-label="Core Architecture"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#long-running-task-support class=md-nav__link> <span class=md-ellipsis> Long-Running Task Support </span> </a> </li> <li class=md-nav__item> <a href=#graph-architecture class=md-nav__link> <span class=md-ellipsis> Graph Architecture </span> </a> </li> <li class=md-nav__item> <a href=#key-components class=md-nav__link> <span class=md-ellipsis> Key Components </span> </a> </li> <li class=md-nav__item> <a href=#research-team-parallel-execution class=md-nav__link> <span class=md-ellipsis> Research Team & Parallel Execution </span> </a> </li> <li class=md-nav__item> <a href=#configuration-modes class=md-nav__link> <span class=md-ellipsis> Configuration & Modes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-architecture class=md-nav__link> <span class=md-ellipsis> Core Architecture </span> </a> <nav class=md-nav aria-label="Core Architecture"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#long-running-task-support class=md-nav__link> <span class=md-ellipsis> Long-Running Task Support </span> </a> </li> <li class=md-nav__item> <a href=#graph-architecture class=md-nav__link> <span class=md-ellipsis> Graph Architecture </span> </a> </li> <li class=md-nav__item> <a href=#key-components class=md-nav__link> <span class=md-ellipsis> Key Components </span> </a> </li> <li class=md-nav__item> <a href=#research-team-parallel-execution class=md-nav__link> <span class=md-ellipsis> Research Team & Parallel Execution </span> </a> </li> <li class=md-nav__item> <a href=#configuration-modes class=md-nav__link> <span class=md-ellipsis> Configuration & Modes </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=architecture-overview>Architecture Overview<a class=headerlink href=#architecture-overview title="Permanent link">¶</a></h1> <p>DeepCritical is a deep research agent system that uses iterative search-and-judge loops to comprehensively answer research questions. The system supports multiple orchestration patterns, graph-based execution, parallel research workflows, and long-running task management with real-time streaming.</p> <h2 id=core-architecture>Core Architecture<a class=headerlink href=#core-architecture title="Permanent link">¶</a></h2> <h3 id=orchestration-patterns>Orchestration Patterns<a class=headerlink href=#orchestration-patterns title="Permanent link">¶</a></h3> <ol> <li><strong>Graph Orchestrator</strong> (<code>src/orchestrator/graph_orchestrator.py</code>):</li> <li>Graph-based execution using Pydantic AI agents as nodes</li> <li>Supports both iterative and deep research patterns</li> <li>Node types: Agent, State, Decision, Parallel</li> <li>Edge types: Sequential, Conditional, Parallel</li> <li>Conditional routing based on knowledge gaps, budget, and iterations</li> <li>Parallel execution for concurrent research loops</li> <li>Event streaming via <code>AsyncGenerator[AgentEvent]</code> for real-time UI updates</li> <li> <p>Fallback to agent chains when graph execution is disabled</p> </li> <li> <p><strong>Deep Research Flow</strong> (<code>src/orchestrator/research_flow.py</code>):</p> </li> <li><strong>Pattern</strong>: Planner → Parallel Iterative Loops (one per section) → Synthesis</li> <li>Uses <code>PlannerAgent</code> to break query into report sections</li> <li>Runs <code>IterativeResearchFlow</code> instances in parallel per section via <code>WorkflowManager</code></li> <li>Synthesizes results using <code>LongWriterAgent</code> or <code>ProofreaderAgent</code></li> <li>Supports both graph execution (<code>use_graph=True</code>) and agent chains (<code>use_graph=False</code>)</li> <li>Budget tracking per section and globally</li> <li> <p>State synchronization across parallel loops</p> </li> <li> <p><strong>Iterative Research Flow</strong> (<code>src/orchestrator/research_flow.py</code>):</p> </li> <li><strong>Pattern</strong>: Generate observations → Evaluate gaps → Select tools → Execute → Judge → Continue/Complete</li> <li>Uses <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>ThinkingAgent</code>, <code>WriterAgent</code></li> <li><code>JudgeHandler</code> assesses evidence sufficiency</li> <li>Iterates until research complete or constraints met (iterations, time, tokens)</li> <li> <p>Supports graph execution and agent chains</p> </li> <li> <p><strong>Magentic Orchestrator</strong> (<code>src/orchestrator_magentic.py</code>):</p> </li> <li>Multi-agent coordination using <code>agent-framework-core</code></li> <li>ChatAgent pattern with internal LLMs per agent</li> <li>Uses <code>MagenticBuilder</code> with participants: searcher, hypothesizer, judge, reporter</li> <li>Manager orchestrates agents via <code>OpenAIChatClient</code></li> <li>Requires OpenAI API key (function calling support)</li> <li>Event-driven: converts Magentic events to <code>AgentEvent</code> for UI streaming</li> <li> <p>Supports long-running workflows with max rounds and stall/reset handling</p> </li> <li> <p><strong>Hierarchical Orchestrator</strong> (<code>src/orchestrator_hierarchical.py</code>):</p> </li> <li>Uses <code>SubIterationMiddleware</code> with <code>ResearchTeam</code> and <code>LLMSubIterationJudge</code></li> <li>Adapts Magentic ChatAgent to <code>SubIterationTeam</code> protocol</li> <li>Event-driven via <code>asyncio.Queue</code> for coordination</li> <li> <p>Supports sub-iteration patterns for complex research tasks</p> </li> <li> <p><strong>Legacy Simple Mode</strong> (<code>src/legacy_orchestrator.py</code>):</p> </li> <li>Linear search-judge-synthesize loop</li> <li>Uses <code>SearchHandlerProtocol</code> and <code>JudgeHandlerProtocol</code></li> <li>Generator-based design yielding <code>AgentEvent</code> objects</li> <li>Backward compatibility for simple use cases</li> </ol> <h2 id=long-running-task-support>Long-Running Task Support<a class=headerlink href=#long-running-task-support title="Permanent link">¶</a></h2> <p>The system is designed for long-running research tasks with comprehensive state management and streaming:</p> <ol> <li><strong>Event Streaming</strong>:</li> <li>All orchestrators yield <code>AgentEvent</code> objects via <code>AsyncGenerator</code></li> <li>Real-time UI updates through Gradio chat interface</li> <li>Event types: <code>started</code>, <code>searching</code>, <code>search_complete</code>, <code>judging</code>, <code>judge_complete</code>, <code>looping</code>, <code>synthesizing</code>, <code>hypothesizing</code>, <code>complete</code>, <code>error</code></li> <li> <p>Metadata includes iteration numbers, tool names, result counts, durations</p> </li> <li> <p><strong>Budget Tracking</strong> (<code>src/middleware/budget_tracker.py</code>):</p> </li> <li>Per-loop and global budget management</li> <li>Tracks: tokens, time (seconds), iterations</li> <li>Budget enforcement at decision nodes</li> <li>Token estimation (~4 chars per token)</li> <li>Early termination when budgets exceeded</li> <li> <p>Budget summaries for monitoring</p> </li> <li> <p><strong>Workflow Manager</strong> (<code>src/middleware/workflow_manager.py</code>):</p> </li> <li>Coordinates parallel research loops</li> <li>Tracks loop status: <code>pending</code>, <code>running</code>, <code>completed</code>, <code>failed</code>, <code>cancelled</code></li> <li>Synchronizes evidence between loops and global state</li> <li>Handles errors per loop (doesn't fail all if one fails)</li> <li>Supports loop cancellation and timeout handling</li> <li> <p>Evidence deduplication across parallel loops</p> </li> <li> <p><strong>State Management</strong> (<code>src/middleware/state_machine.py</code>):</p> </li> <li>Thread-safe isolation using <code>ContextVar</code> for concurrent requests</li> <li><code>WorkflowState</code> tracks: evidence, conversation history, embedding service</li> <li>Evidence deduplication by URL</li> <li>Semantic search via embedding service</li> <li>State persistence across long-running workflows</li> <li> <p>Supports both iterative and deep research patterns</p> </li> <li> <p><strong>Gradio UI</strong> (<code>src/app.py</code>):</p> </li> <li>Real-time streaming of research progress</li> <li>Accordion-based UI for pending/done operations</li> <li>OAuth integration (HuggingFace)</li> <li>Multiple backend support (API keys, free tier)</li> <li>Handles long-running tasks with progress indicators</li> <li>Event accumulation for pending operations</li> </ol> <h2 id=graph-architecture>Graph Architecture<a class=headerlink href=#graph-architecture title="Permanent link">¶</a></h2> <p>The graph orchestrator (<code>src/orchestrator/graph_orchestrator.py</code>) implements a flexible graph-based execution model:</p> <p><strong>Node Types</strong>:</p> <ul> <li><strong>Agent Nodes</strong>: Execute Pydantic AI agents (e.g., <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>)</li> <li><strong>State Nodes</strong>: Update or read workflow state (evidence, conversation)</li> <li><strong>Decision Nodes</strong>: Make routing decisions (research complete?, budget exceeded?)</li> <li><strong>Parallel Nodes</strong>: Execute multiple nodes concurrently (parallel research loops)</li> </ul> <p><strong>Edge Types</strong>:</p> <ul> <li><strong>Sequential Edges</strong>: Always traversed (no condition)</li> <li><strong>Conditional Edges</strong>: Traversed based on condition (e.g., if research complete → writer, else → tool selector)</li> <li><strong>Parallel Edges</strong>: Used for parallel execution branches</li> </ul> <p><strong>Graph Patterns</strong>:</p> <ul> <li><strong>Iterative Graph</strong>: <code>[Input] → [Thinking] → [Knowledge Gap] → [Decision: Complete?] → [Tool Selector] or [Writer]</code></li> <li><strong>Deep Research Graph</strong>: <code>[Input] → [Planner] → [Parallel Iterative Loops] → [Synthesizer]</code></li> </ul> <p><strong>Execution Flow</strong>:</p> <ol> <li>Graph construction from nodes and edges</li> <li>Graph validation (no cycles, all nodes reachable)</li> <li>Graph execution from entry node</li> <li>Node execution based on type</li> <li>Edge evaluation for next node(s)</li> <li>Parallel execution via <code>asyncio.gather()</code></li> <li>State updates at state nodes</li> <li>Event streaming for UI</li> </ol> <h2 id=key-components>Key Components<a class=headerlink href=#key-components title="Permanent link">¶</a></h2> <ul> <li><strong>Orchestrators</strong>: Multiple orchestration patterns (<code>src/orchestrator/</code>, <code>src/orchestrator_*.py</code>)</li> <li><strong>Research Flows</strong>: Iterative and deep research patterns (<code>src/orchestrator/research_flow.py</code>)</li> <li><strong>Graph Builder</strong>: Graph construction utilities (<code>src/agent_factory/graph_builder.py</code>)</li> <li><strong>Agents</strong>: Pydantic AI agents (<code>src/agents/</code>, <code>src/agent_factory/agents.py</code>)</li> <li><strong>Search Tools</strong>: PubMed, ClinicalTrials.gov, Europe PMC, RAG (<code>src/tools/</code>)</li> <li><strong>Judge Handler</strong>: LLM-based evidence assessment (<code>src/agent_factory/judges.py</code>)</li> <li><strong>Embeddings</strong>: Semantic search & deduplication (<code>src/services/embeddings.py</code>)</li> <li><strong>Statistical Analyzer</strong>: Modal sandbox execution (<code>src/services/statistical_analyzer.py</code>)</li> <li><strong>Middleware</strong>: State management, budget tracking, workflow coordination (<code>src/middleware/</code>)</li> <li><strong>MCP Tools</strong>: Claude Desktop integration (<code>src/mcp_tools.py</code>)</li> <li><strong>Gradio UI</strong>: Web interface with MCP server and streaming (<code>src/app.py</code>)</li> </ul> <h2 id=research-team-parallel-execution>Research Team & Parallel Execution<a class=headerlink href=#research-team-parallel-execution title="Permanent link">¶</a></h2> <p>The system supports complex research workflows through:</p> <ol> <li><strong>WorkflowManager</strong>: Coordinates multiple parallel research loops</li> <li>Creates and tracks <code>ResearchLoop</code> instances</li> <li>Runs loops in parallel via <code>asyncio.gather()</code></li> <li>Synchronizes evidence to global state</li> <li> <p>Handles loop failures gracefully</p> </li> <li> <p><strong>Deep Research Pattern</strong>: Breaks complex queries into sections</p> </li> <li>Planner creates report outline with sections</li> <li>Each section runs as independent iterative research loop</li> <li>Loops execute in parallel</li> <li>Evidence shared across loops via global state</li> <li> <p>Final synthesis combines all section results</p> </li> <li> <p><strong>State Synchronization</strong>: Thread-safe evidence sharing</p> </li> <li>Evidence deduplication by URL</li> <li>Global state accessible to all loops</li> <li>Semantic search across all collected evidence</li> <li>Conversation history tracking per iteration</li> </ol> <h2 id=configuration-modes>Configuration & Modes<a class=headerlink href=#configuration-modes title="Permanent link">¶</a></h2> <ul> <li><strong>Orchestrator Factory</strong> (<code>src/orchestrator_factory.py</code>):</li> <li>Auto-detects mode: "advanced" if OpenAI key available, else "simple"</li> <li>Supports explicit mode selection: "simple", "magentic", "advanced"</li> <li> <p>Lazy imports for optional dependencies</p> </li> <li> <p><strong>Research Modes</strong>:</p> </li> <li><code>iterative</code>: Single research loop</li> <li><code>deep</code>: Multi-section parallel research</li> <li> <p><code>auto</code>: Auto-detect based on query complexity</p> </li> <li> <p><strong>Execution Modes</strong>:</p> </li> <li><code>use_graph=True</code>: Graph-based execution (parallel, conditional routing)</li> <li><code>use_graph=False</code>: Agent chains (sequential, backward compatible)</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/overview/architecture/ rel=canonical><link rel=prev href=../..><link href=../features/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Architecture Overview - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#architecture-overview class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Architecture Overview </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Architecture Overview </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Architecture Overview </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-architecture class=md-nav__link> <span class=md-ellipsis> Core Architecture </span> </a> <nav class=md-nav aria-label="Core Architecture"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#long-running-task-support class=md-nav__link> <span class=md-ellipsis> Long-Running Task Support </span> </a> </li> <li class=md-nav__item> <a href=#graph-architecture class=md-nav__link> <span class=md-ellipsis> Graph Architecture </span> </a> </li> <li class=md-nav__item> <a href=#key-components class=md-nav__link> <span class=md-ellipsis> Key Components </span> </a> </li> <li class=md-nav__item> <a href=#research-team--parallel-execution class=md-nav__link> <span class=md-ellipsis> Research Team & Parallel Execution </span> </a> </li> <li class=md-nav__item> <a href=#configuration--modes class=md-nav__link> <span class=md-ellipsis> Configuration & Modes </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=architecture-overview>Architecture Overview<a class=headerlink href=#architecture-overview title="Anchor link to this section">¶</a></h1> <p>The DETERMINATOR is a powerful generalist deep research agent system that uses iterative search-and-judge loops to comprehensively investigate any research question. It stops at nothing until finding precise answers, only stopping at configured limits (budget, time, iterations). The system automatically determines if medical knowledge sources are needed and adapts its search strategy accordingly. It supports multiple orchestration patterns, graph-based execution, parallel research workflows, and long-running task management with real-time streaming.</p> <h2 id=core-architecture>Core Architecture<a class=headerlink href=#core-architecture title="Anchor link to this section">¶</a></h2> <h3 id=orchestration-patterns>Orchestration Patterns<a class=headerlink href=#orchestration-patterns title="Anchor link to this section">¶</a></h3> <ol> <li><strong>Graph Orchestrator</strong> (<code>src/orchestrator/graph_orchestrator.py</code>):</li> <li>Graph-based execution using Pydantic AI agents as nodes</li> <li>Supports both iterative and deep research patterns</li> <li>Node types: Agent, State, Decision, Parallel</li> <li>Edge types: Sequential, Conditional, Parallel</li> <li>Conditional routing based on knowledge gaps, budget, and iterations</li> <li>Parallel execution for concurrent research loops</li> <li>Event streaming via <code>AsyncGenerator[AgentEvent]</code> for real-time UI updates</li> <li> <p>Fallback to agent chains when graph execution is disabled</p> </li> <li> <p><strong>Deep Research Flow</strong> (<code>src/orchestrator/research_flow.py</code>):</p> </li> <li><strong>Pattern</strong>: Planner → Parallel Iterative Loops (one per section) → Synthesis</li> <li>Uses <code>PlannerAgent</code> to break query into report sections</li> <li>Runs <code>IterativeResearchFlow</code> instances in parallel per section via <code>WorkflowManager</code></li> <li>Synthesizes results using <code>LongWriterAgent</code> or <code>ProofreaderAgent</code></li> <li>Supports both graph execution (<code>use_graph=True</code>) and agent chains (<code>use_graph=False</code>)</li> <li>Budget tracking per section and globally</li> <li> <p>State synchronization across parallel loops</p> </li> <li> <p><strong>Iterative Research Flow</strong> (<code>src/orchestrator/research_flow.py</code>):</p> </li> <li><strong>Pattern</strong>: Generate observations → Evaluate gaps → Select tools → Execute → Judge → Continue/Complete</li> <li>Uses <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>, <code>ThinkingAgent</code>, <code>WriterAgent</code></li> <li><code>JudgeHandler</code> assesses evidence sufficiency</li> <li>Iterates until research complete or constraints met (iterations, time, tokens)</li> <li> <p>Supports graph execution and agent chains</p> </li> <li> <p><strong>Magentic Orchestrator</strong> (<code>src/orchestrator_magentic.py</code>):</p> </li> <li>Multi-agent coordination using <code>agent-framework-core</code></li> <li>ChatAgent pattern with internal LLMs per agent</li> <li>Uses <code>MagenticBuilder</code> with participants: searcher, hypothesizer, judge, reporter</li> <li>Manager orchestrates agents via <code>OpenAIChatClient</code></li> <li>Requires OpenAI API key (function calling support)</li> <li>Event-driven: converts Magentic events to <code>AgentEvent</code> for UI streaming</li> <li> <p>Supports long-running workflows with max rounds and stall/reset handling</p> </li> <li> <p><strong>Hierarchical Orchestrator</strong> (<code>src/orchestrator_hierarchical.py</code>):</p> </li> <li>Uses <code>SubIterationMiddleware</code> with <code>ResearchTeam</code> and <code>LLMSubIterationJudge</code></li> <li>Adapts Magentic ChatAgent to <code>SubIterationTeam</code> protocol</li> <li>Event-driven via <code>asyncio.Queue</code> for coordination</li> <li> <p>Supports sub-iteration patterns for complex research tasks</p> </li> <li> <p><strong>Legacy Simple Mode</strong> (<code>src/legacy_orchestrator.py</code>):</p> </li> <li>Linear search-judge-synthesize loop</li> <li>Uses <code>SearchHandlerProtocol</code> and <code>JudgeHandlerProtocol</code></li> <li>Generator-based design yielding <code>AgentEvent</code> objects</li> <li>Backward compatibility for simple use cases</li> </ol> <h2 id=long-running-task-support>Long-Running Task Support<a class=headerlink href=#long-running-task-support title="Anchor link to this section">¶</a></h2> <p>The system is designed for long-running research tasks with comprehensive state management and streaming:</p> <ol> <li><strong>Event Streaming</strong>:</li> <li>All orchestrators yield <code>AgentEvent</code> objects via <code>AsyncGenerator</code></li> <li>Real-time UI updates through Gradio chat interface</li> <li>Event types: <code>started</code>, <code>searching</code>, <code>search_complete</code>, <code>judging</code>, <code>judge_complete</code>, <code>looping</code>, <code>synthesizing</code>, <code>hypothesizing</code>, <code>complete</code>, <code>error</code></li> <li> <p>Metadata includes iteration numbers, tool names, result counts, durations</p> </li> <li> <p><strong>Budget Tracking</strong> (<code>src/middleware/budget_tracker.py</code>):</p> </li> <li>Per-loop and global budget management</li> <li>Tracks: tokens, time (seconds), iterations</li> <li>Budget enforcement at decision nodes</li> <li>Token estimation (~4 chars per token)</li> <li>Early termination when budgets exceeded</li> <li> <p>Budget summaries for monitoring</p> </li> <li> <p><strong>Workflow Manager</strong> (<code>src/middleware/workflow_manager.py</code>):</p> </li> <li>Coordinates parallel research loops</li> <li>Tracks loop status: <code>pending</code>, <code>running</code>, <code>completed</code>, <code>failed</code>, <code>cancelled</code></li> <li>Synchronizes evidence between loops and global state</li> <li>Handles errors per loop (doesn't fail all if one fails)</li> <li>Supports loop cancellation and timeout handling</li> <li> <p>Evidence deduplication across parallel loops</p> </li> <li> <p><strong>State Management</strong> (<code>src/middleware/state_machine.py</code>):</p> </li> <li>Thread-safe isolation using <code>ContextVar</code> for concurrent requests</li> <li><code>WorkflowState</code> tracks: evidence, conversation history, embedding service</li> <li>Evidence deduplication by URL</li> <li>Semantic search via embedding service</li> <li>State persistence across long-running workflows</li> <li> <p>Supports both iterative and deep research patterns</p> </li> <li> <p><strong>Gradio UI</strong> (<code>src/app.py</code>):</p> </li> <li>Real-time streaming of research progress</li> <li>Accordion-based UI for pending/done operations</li> <li>OAuth integration (HuggingFace)</li> <li>Multiple backend support (API keys, free tier)</li> <li>Handles long-running tasks with progress indicators</li> <li>Event accumulation for pending operations</li> </ol> <h2 id=graph-architecture>Graph Architecture<a class=headerlink href=#graph-architecture title="Anchor link to this section">¶</a></h2> <p>The graph orchestrator (<code>src/orchestrator/graph_orchestrator.py</code>) implements a flexible graph-based execution model:</p> <p><strong>Node Types</strong>:</p> <ul> <li><strong>Agent Nodes</strong>: Execute Pydantic AI agents (e.g., <code>KnowledgeGapAgent</code>, <code>ToolSelectorAgent</code>)</li> <li><strong>State Nodes</strong>: Update or read workflow state (evidence, conversation)</li> <li><strong>Decision Nodes</strong>: Make routing decisions (research complete?, budget exceeded?)</li> <li><strong>Parallel Nodes</strong>: Execute multiple nodes concurrently (parallel research loops)</li> </ul> <p><strong>Edge Types</strong>:</p> <ul> <li><strong>Sequential Edges</strong>: Always traversed (no condition)</li> <li><strong>Conditional Edges</strong>: Traversed based on condition (e.g., if research complete → writer, else → tool selector)</li> <li><strong>Parallel Edges</strong>: Used for parallel execution branches</li> </ul> <p><strong>Graph Patterns</strong>:</p> <ul> <li><strong>Iterative Graph</strong>: <code>[Input] → [Thinking] → [Knowledge Gap] → [Decision: Complete?] → [Tool Selector] or [Writer]</code></li> <li><strong>Deep Research Graph</strong>: <code>[Input] → [Planner] → [Parallel Iterative Loops] → [Synthesizer]</code></li> </ul> <p><strong>Execution Flow</strong>:</p> <ol> <li>Graph construction from nodes and edges</li> <li>Graph validation (no cycles, all nodes reachable)</li> <li>Graph execution from entry node</li> <li>Node execution based on type</li> <li>Edge evaluation for next node(s)</li> <li>Parallel execution via <code>asyncio.gather()</code></li> <li>State updates at state nodes</li> <li>Event streaming for UI</li> </ol> <h2 id=key-components>Key Components<a class=headerlink href=#key-components title="Anchor link to this section">¶</a></h2> <ul> <li><strong>Orchestrators</strong>: Multiple orchestration patterns (<code>src/orchestrator/</code>, <code>src/orchestrator_*.py</code>)</li> <li><strong>Research Flows</strong>: Iterative and deep research patterns (<code>src/orchestrator/research_flow.py</code>)</li> <li><strong>Graph Builder</strong>: Graph construction utilities (<code>src/agent_factory/graph_builder.py</code>)</li> <li><strong>Agents</strong>: Pydantic AI agents (<code>src/agents/</code>, <code>src/agent_factory/agents.py</code>)</li> <li><strong>Search Tools</strong>: Neo4j knowledge graph, PubMed, ClinicalTrials.gov, Europe PMC, Web search, RAG (<code>src/tools/</code>)</li> <li><strong>Judge Handler</strong>: LLM-based evidence assessment (<code>src/agent_factory/judges.py</code>)</li> <li><strong>Embeddings</strong>: Semantic search & deduplication (<code>src/services/embeddings.py</code>)</li> <li><strong>Statistical Analyzer</strong>: Modal sandbox execution (<code>src/services/statistical_analyzer.py</code>)</li> <li><strong>Multimodal Processing</strong>: Image OCR and audio STT/TTS services (<code>src/services/multimodal_processing.py</code>, <code>src/services/audio_processing.py</code>)</li> <li><strong>Middleware</strong>: State management, budget tracking, workflow coordination (<code>src/middleware/</code>)</li> <li><strong>MCP Tools</strong>: Claude Desktop integration (<code>src/mcp_tools.py</code>)</li> <li><strong>Gradio UI</strong>: Web interface with MCP server and streaming (<code>src/app.py</code>)</li> </ul> <h2 id=research-team--parallel-execution>Research Team & Parallel Execution<a class=headerlink href=#research-team--parallel-execution title="Anchor link to this section">¶</a></h2> <p>The system supports complex research workflows through:</p> <ol> <li><strong>WorkflowManager</strong>: Coordinates multiple parallel research loops</li> <li>Creates and tracks <code>ResearchLoop</code> instances</li> <li>Runs loops in parallel via <code>asyncio.gather()</code></li> <li>Synchronizes evidence to global state</li> <li> <p>Handles loop failures gracefully</p> </li> <li> <p><strong>Deep Research Pattern</strong>: Breaks complex queries into sections</p> </li> <li>Planner creates report outline with sections</li> <li>Each section runs as independent iterative research loop</li> <li>Loops execute in parallel</li> <li>Evidence shared across loops via global state</li> <li> <p>Final synthesis combines all section results</p> </li> <li> <p><strong>State Synchronization</strong>: Thread-safe evidence sharing</p> </li> <li>Evidence deduplication by URL</li> <li>Global state accessible to all loops</li> <li>Semantic search across all collected evidence</li> <li>Conversation history tracking per iteration</li> </ol> <h2 id=configuration--modes>Configuration & Modes<a class=headerlink href=#configuration--modes title="Anchor link to this section">¶</a></h2> <ul> <li><strong>Orchestrator Factory</strong> (<code>src/orchestrator_factory.py</code>):</li> <li>Auto-detects mode: "advanced" if OpenAI key available, else "simple"</li> <li>Supports explicit mode selection: "simple", "magentic" (alias for "advanced"), "advanced", "iterative", "deep", "auto"</li> <li> <p>Lazy imports for optional dependencies</p> </li> <li> <p><strong>Orchestrator Modes</strong> (selected in UI or via factory):</p> </li> <li><code>simple</code>: Legacy linear search-judge loop (Free Tier)</li> <li><code>advanced</code> or <code>magentic</code>: Multi-agent coordination using Microsoft Agent Framework (requires OpenAI API key)</li> <li><code>iterative</code>: Knowledge-gap-driven research with single loop (Free Tier)</li> <li><code>deep</code>: Parallel section-based research with planning (Free Tier)</li> <li> <p><code>auto</code>: Intelligent mode detection based on query complexity (Free Tier)</p> </li> <li> <p><strong>Graph Research Modes</strong> (used within graph orchestrator, separate from orchestrator mode):</p> </li> <li><code>iterative</code>: Single research loop pattern</li> <li><code>deep</code>: Multi-section parallel research pattern</li> <li> <p><code>auto</code>: Auto-detect pattern based on query complexity</p> </li> <li> <p><strong>Execution Modes</strong>:</p> </li> <li><code>use_graph=True</code>: Graph-based execution (parallel, conditional routing)</li> <li><code>use_graph=False</code>: Agent chains (sequential, backward compatible)</li> </ul> <p><strong>Note</strong>: The UI provides separate controls for orchestrator mode and graph research mode. When using graph-based orchestrators (iterative/deep/auto), the graph research mode determines the specific pattern used within the graph execution.</p> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/overview/features/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/overview/features/ rel=canonical><link href=../architecture/ rel=prev><link href=../../getting-started/installation/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Features - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#features class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Features </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Features </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Features </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-features class=md-nav__link> <span class=md-ellipsis> Core Features </span> </a> <nav class=md-nav aria-label="Core Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#multi-source-search class=md-nav__link> <span class=md-ellipsis> Multi-Source Search </span> </a> </li> <li class=md-nav__item> <a href=#mcp-integration class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> <li class=md-nav__item> <a href=#secure-code-execution class=md-nav__link> <span class=md-ellipsis> Secure Code Execution </span> </a> </li> <li class=md-nav__item> <a href=#semantic-search-rag class=md-nav__link> <span class=md-ellipsis> Semantic Search & RAG </span> </a> </li> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> <li class=md-nav__item> <a href=#real-time-streaming class=md-nav__link> <span class=md-ellipsis> Real-Time Streaming </span> </a> </li> <li class=md-nav__item> <a href=#budget-management class=md-nav__link> <span class=md-ellipsis> Budget Management </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-features class=md-nav__link> <span class=md-ellipsis> Advanced Features </span> </a> <nav class=md-nav aria-label="Advanced Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#agent-system class=md-nav__link> <span class=md-ellipsis> Agent System </span> </a> </li> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#configuration class=md-nav__link> <span class=md-ellipsis> Configuration </span> </a> </li> <li class=md-nav__item> <a href=#testing class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ui-features class=md-nav__link> <span class=md-ellipsis> UI Features </span> </a> <nav class=md-nav aria-label="UI Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#gradio-interface class=md-nav__link> <span class=md-ellipsis> Gradio Interface </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server class=md-nav__link> <span class=md-ellipsis> MCP Server </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-features class=md-nav__link> <span class=md-ellipsis> Development Features </span> </a> <nav class=md-nav aria-label="Development Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-quality class=md-nav__link> <span class=md-ellipsis> Code Quality </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-features class=md-nav__link> <span class=md-ellipsis> Core Features </span> </a> <nav class=md-nav aria-label="Core Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#multi-source-search class=md-nav__link> <span class=md-ellipsis> Multi-Source Search </span> </a> </li> <li class=md-nav__item> <a href=#mcp-integration class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> <li class=md-nav__item> <a href=#secure-code-execution class=md-nav__link> <span class=md-ellipsis> Secure Code Execution </span> </a> </li> <li class=md-nav__item> <a href=#semantic-search-rag class=md-nav__link> <span class=md-ellipsis> Semantic Search & RAG </span> </a> </li> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> <li class=md-nav__item> <a href=#real-time-streaming class=md-nav__link> <span class=md-ellipsis> Real-Time Streaming </span> </a> </li> <li class=md-nav__item> <a href=#budget-management class=md-nav__link> <span class=md-ellipsis> Budget Management </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-features class=md-nav__link> <span class=md-ellipsis> Advanced Features </span> </a> <nav class=md-nav aria-label="Advanced Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#agent-system class=md-nav__link> <span class=md-ellipsis> Agent System </span> </a> </li> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#configuration class=md-nav__link> <span class=md-ellipsis> Configuration </span> </a> </li> <li class=md-nav__item> <a href=#testing class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ui-features class=md-nav__link> <span class=md-ellipsis> UI Features </span> </a> <nav class=md-nav aria-label="UI Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#gradio-interface class=md-nav__link> <span class=md-ellipsis> Gradio Interface </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server class=md-nav__link> <span class=md-ellipsis> MCP Server </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-features class=md-nav__link> <span class=md-ellipsis> Development Features </span> </a> <nav class=md-nav aria-label="Development Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-quality class=md-nav__link> <span class=md-ellipsis> Code Quality </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=features>Features<a class=headerlink href=#features title="Permanent link">¶</a></h1> <p>DeepCritical provides a comprehensive set of features for AI-assisted research:</p> <h2 id=core-features>Core Features<a class=headerlink href=#core-features title="Permanent link">¶</a></h2> <h3 id=multi-source-search>Multi-Source Search<a class=headerlink href=#multi-source-search title="Permanent link">¶</a></h3> <ul> <li><strong>PubMed</strong>: Search peer-reviewed biomedical literature via NCBI E-utilities</li> <li><strong>ClinicalTrials.gov</strong>: Search interventional clinical trials</li> <li><strong>Europe PMC</strong>: Search preprints and peer-reviewed articles (includes bioRxiv/medRxiv)</li> <li><strong>RAG</strong>: Semantic search within collected evidence using LlamaIndex</li> </ul> <h3 id=mcp-integration>MCP Integration<a class=headerlink href=#mcp-integration title="Permanent link">¶</a></h3> <ul> <li><strong>Model Context Protocol</strong>: Expose search tools via MCP server</li> <li><strong>Claude Desktop</strong>: Use DeepCritical tools directly from Claude Desktop</li> <li><strong>MCP Clients</strong>: Compatible with any MCP-compatible client</li> </ul> <h3 id=authentication>Authentication<a class=headerlink href=#authentication title="Permanent link">¶</a></h3> <ul> <li><strong>HuggingFace OAuth</strong>: Sign in with HuggingFace account for automatic API token usage</li> <li><strong>Manual API Keys</strong>: Support for OpenAI, Anthropic, and HuggingFace API keys</li> <li><strong>Free Tier Support</strong>: Automatic fallback to HuggingFace Inference API</li> </ul> <h3 id=secure-code-execution>Secure Code Execution<a class=headerlink href=#secure-code-execution title="Permanent link">¶</a></h3> <ul> <li><strong>Modal Sandbox</strong>: Secure execution of AI-generated statistical code</li> <li><strong>Isolated Environment</strong>: Network isolation and package version pinning</li> <li><strong>Safe Execution</strong>: Prevents malicious code execution</li> </ul> <h3 id=semantic-search-rag>Semantic Search & RAG<a class=headerlink href=#semantic-search-rag title="Permanent link">¶</a></h3> <ul> <li><strong>LlamaIndex Integration</strong>: Advanced RAG capabilities</li> <li><strong>Vector Storage</strong>: ChromaDB for embedding storage</li> <li><strong>Semantic Deduplication</strong>: Automatic detection of similar evidence</li> <li><strong>Embedding Service</strong>: Local sentence-transformers (no API key required)</li> </ul> <h3 id=orchestration-patterns>Orchestration Patterns<a class=headerlink href=#orchestration-patterns title="Permanent link">¶</a></h3> <ul> <li><strong>Graph-Based Execution</strong>: Flexible graph orchestration with conditional routing</li> <li><strong>Parallel Research Loops</strong>: Run multiple research tasks concurrently</li> <li><strong>Iterative Research</strong>: Single-loop research with search-judge-synthesize cycles</li> <li><strong>Deep Research</strong>: Multi-section parallel research with planning and synthesis</li> <li><strong>Magentic Orchestration</strong>: Multi-agent coordination using Microsoft Agent Framework</li> </ul> <h3 id=real-time-streaming>Real-Time Streaming<a class=headerlink href=#real-time-streaming title="Permanent link">¶</a></h3> <ul> <li><strong>Event Streaming</strong>: Real-time updates via <code>AsyncGenerator[AgentEvent]</code></li> <li><strong>Progress Tracking</strong>: Monitor research progress with detailed event metadata</li> <li><strong>UI Integration</strong>: Seamless integration with Gradio chat interface</li> </ul> <h3 id=budget-management>Budget Management<a class=headerlink href=#budget-management title="Permanent link">¶</a></h3> <ul> <li><strong>Token Budget</strong>: Track and limit LLM token usage</li> <li><strong>Time Budget</strong>: Enforce time limits per research loop</li> <li><strong>Iteration Budget</strong>: Limit maximum iterations</li> <li><strong>Per-Loop Budgets</strong>: Independent budgets for parallel research loops</li> </ul> <h3 id=state-management>State Management<a class=headerlink href=#state-management title="Permanent link">¶</a></h3> <ul> <li><strong>Thread-Safe Isolation</strong>: ContextVar-based state management</li> <li><strong>Evidence Deduplication</strong>: Automatic URL-based deduplication</li> <li><strong>Conversation History</strong>: Track iteration history and agent interactions</li> <li><strong>State Synchronization</strong>: Share evidence across parallel loops</li> </ul> <h2 id=advanced-features>Advanced Features<a class=headerlink href=#advanced-features title="Permanent link">¶</a></h2> <h3 id=agent-system>Agent System<a class=headerlink href=#agent-system title="Permanent link">¶</a></h3> <ul> <li><strong>Pydantic AI Agents</strong>: Type-safe agent implementation</li> <li><strong>Structured Output</strong>: Pydantic models for agent responses</li> <li><strong>Agent Factory</strong>: Centralized agent creation with fallback support</li> <li><strong>Specialized Agents</strong>: Knowledge gap, tool selector, writer, proofreader, and more</li> </ul> <h3 id=search-tools>Search Tools<a class=headerlink href=#search-tools title="Permanent link">¶</a></h3> <ul> <li><strong>Rate Limiting</strong>: Built-in rate limiting for external APIs</li> <li><strong>Retry Logic</strong>: Automatic retry with exponential backoff</li> <li><strong>Query Preprocessing</strong>: Automatic query enhancement and synonym expansion</li> <li><strong>Evidence Conversion</strong>: Automatic conversion to structured Evidence objects</li> </ul> <h3 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Permanent link">¶</a></h3> <ul> <li><strong>Custom Exceptions</strong>: Hierarchical exception system</li> <li><strong>Error Chaining</strong>: Preserve exception context</li> <li><strong>Structured Logging</strong>: Comprehensive logging with structlog</li> <li><strong>Graceful Degradation</strong>: Fallback handlers for missing dependencies</li> </ul> <h3 id=configuration>Configuration<a class=headerlink href=#configuration title="Permanent link">¶</a></h3> <ul> <li><strong>Pydantic Settings</strong>: Type-safe configuration management</li> <li><strong>Environment Variables</strong>: Support for <code>.env</code> files</li> <li><strong>Validation</strong>: Automatic configuration validation</li> <li><strong>Flexible Providers</strong>: Support for multiple LLM and embedding providers</li> </ul> <h3 id=testing>Testing<a class=headerlink href=#testing title="Permanent link">¶</a></h3> <ul> <li><strong>Unit Tests</strong>: Comprehensive unit test coverage</li> <li><strong>Integration Tests</strong>: Real API integration tests</li> <li><strong>Mock Support</strong>: Extensive mocking utilities</li> <li><strong>Coverage Reports</strong>: Code coverage tracking</li> </ul> <h2 id=ui-features>UI Features<a class=headerlink href=#ui-features title="Permanent link">¶</a></h2> <h3 id=gradio-interface>Gradio Interface<a class=headerlink href=#gradio-interface title="Permanent link">¶</a></h3> <ul> <li><strong>Real-Time Chat</strong>: Interactive chat interface</li> <li><strong>Streaming Updates</strong>: Live progress updates</li> <li><strong>Accordion UI</strong>: Organized display of pending/done operations</li> <li><strong>OAuth Integration</strong>: Seamless HuggingFace authentication</li> </ul> <h3 id=mcp-server>MCP Server<a class=headerlink href=#mcp-server title="Permanent link">¶</a></h3> <ul> <li><strong>RESTful API</strong>: HTTP-based MCP server</li> <li><strong>Tool Discovery</strong>: Automatic tool registration</li> <li><strong>Request Handling</strong>: Async request processing</li> <li><strong>Error Responses</strong>: Structured error responses</li> </ul> <h2 id=development-features>Development Features<a class=headerlink href=#development-features title="Permanent link">¶</a></h2> <h3 id=code-quality>Code Quality<a class=headerlink href=#code-quality title="Permanent link">¶</a></h3> <ul> <li><strong>Type Safety</strong>: Full type hints with mypy strict mode</li> <li><strong>Linting</strong>: Ruff for code quality</li> <li><strong>Formatting</strong>: Automatic code formatting</li> <li><strong>Pre-commit Hooks</strong>: Automated quality checks</li> </ul> <h3 id=documentation>Documentation<a class=headerlink href=#documentation title="Permanent link">¶</a></h3> <ul> <li><strong>Comprehensive Docs</strong>: Detailed documentation for all components</li> <li><strong>Code Examples</strong>: Extensive code examples</li> <li><strong>Architecture Diagrams</strong>: Visual architecture documentation</li> <li><strong>API Reference</strong>: Complete API documentation</li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/overview/features/ rel=canonical><link href=../architecture/ rel=prev><link href=../../getting-started/installation/ rel=next><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Features - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#features class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Features </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=../architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--active md-nav__item--section md-nav__item--nested"> <input class="md-nav__toggle md-toggle " type=checkbox id=__nav_2 checked> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=true> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Features </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Features </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#core-features class=md-nav__link> <span class=md-ellipsis> Core Features </span> </a> <nav class=md-nav aria-label="Core Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#multi-source-search class=md-nav__link> <span class=md-ellipsis> Multi-Source Search </span> </a> </li> <li class=md-nav__item> <a href=#mcp-integration class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=#authentication class=md-nav__link> <span class=md-ellipsis> Authentication </span> </a> </li> <li class=md-nav__item> <a href=#secure-code-execution class=md-nav__link> <span class=md-ellipsis> Secure Code Execution </span> </a> </li> <li class=md-nav__item> <a href=#semantic-search--rag class=md-nav__link> <span class=md-ellipsis> Semantic Search & RAG </span> </a> </li> <li class=md-nav__item> <a href=#orchestration-patterns class=md-nav__link> <span class=md-ellipsis> Orchestration Patterns </span> </a> </li> <li class=md-nav__item> <a href=#real-time-streaming class=md-nav__link> <span class=md-ellipsis> Real-Time Streaming </span> </a> </li> <li class=md-nav__item> <a href=#budget-management class=md-nav__link> <span class=md-ellipsis> Budget Management </span> </a> </li> <li class=md-nav__item> <a href=#state-management class=md-nav__link> <span class=md-ellipsis> State Management </span> </a> </li> <li class=md-nav__item> <a href=#multimodal-input--output class=md-nav__link> <span class=md-ellipsis> Multimodal Input & Output </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#advanced-features class=md-nav__link> <span class=md-ellipsis> Advanced Features </span> </a> <nav class=md-nav aria-label="Advanced Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#agent-system class=md-nav__link> <span class=md-ellipsis> Agent System </span> </a> </li> <li class=md-nav__item> <a href=#search-tools class=md-nav__link> <span class=md-ellipsis> Search Tools </span> </a> </li> <li class=md-nav__item> <a href=#error-handling class=md-nav__link> <span class=md-ellipsis> Error Handling </span> </a> </li> <li class=md-nav__item> <a href=#configuration class=md-nav__link> <span class=md-ellipsis> Configuration </span> </a> </li> <li class=md-nav__item> <a href=#testing class=md-nav__link> <span class=md-ellipsis> Testing </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#ui-features class=md-nav__link> <span class=md-ellipsis> UI Features </span> </a> <nav class=md-nav aria-label="UI Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#gradio-interface class=md-nav__link> <span class=md-ellipsis> Gradio Interface </span> </a> </li> <li class=md-nav__item> <a href=#mcp-server class=md-nav__link> <span class=md-ellipsis> MCP Server </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#development-features class=md-nav__link> <span class=md-ellipsis> Development Features </span> </a> <nav class=md-nav aria-label="Development Features"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#code-quality class=md-nav__link> <span class=md-ellipsis> Code Quality </span> </a> </li> <li class=md-nav__item> <a href=#documentation class=md-nav__link> <span class=md-ellipsis> Documentation </span> </a> </li> </ul> </nav> </li> </ul> </nav> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=features>Features<a class=headerlink href=#features title="Anchor link to this section">¶</a></h1> <p>The DETERMINATOR provides a comprehensive set of features for AI-assisted research:</p> <h2 id=core-features>Core Features<a class=headerlink href=#core-features title="Anchor link to this section">¶</a></h2> <h3 id=multi-source-search>Multi-Source Search<a class=headerlink href=#multi-source-search title="Anchor link to this section">¶</a></h3> <ul> <li><strong>General Web Search</strong>: Search general knowledge sources for any domain</li> <li><strong>Neo4j Knowledge Graph</strong>: Search structured knowledge graph for papers and disease relationships</li> <li><strong>PubMed</strong>: Search peer-reviewed biomedical literature via NCBI E-utilities (automatically used when medical knowledge needed)</li> <li><strong>ClinicalTrials.gov</strong>: Search interventional clinical trials (automatically used when medical knowledge needed)</li> <li><strong>Europe PMC</strong>: Search preprints and peer-reviewed articles (includes bioRxiv/medRxiv)</li> <li><strong>RAG</strong>: Semantic search within collected evidence using LlamaIndex</li> <li><strong>Automatic Source Selection</strong>: Automatically determines which sources are needed based on query analysis</li> </ul> <h3 id=mcp-integration>MCP Integration<a class=headerlink href=#mcp-integration title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Model Context Protocol</strong>: Expose search tools via MCP server</li> <li><strong>Claude Desktop</strong>: Use The DETERMINATOR tools directly from Claude Desktop</li> <li><strong>MCP Clients</strong>: Compatible with any MCP-compatible client</li> </ul> <h3 id=authentication>Authentication<a class=headerlink href=#authentication title="Anchor link to this section">¶</a></h3> <ul> <li><strong>REQUIRED</strong>: Authentication is mandatory before using the application</li> <li><strong>HuggingFace OAuth</strong>: Sign in with HuggingFace account for automatic API token usage (recommended)</li> <li><strong>Manual API Keys</strong>: Support for HuggingFace API keys via environment variables (<code>HF_TOKEN</code> or <code>HUGGINGFACE_API_KEY</code>)</li> <li><strong>Free Tier Support</strong>: Automatic fallback to HuggingFace Inference API (public models) when no API key is available</li> <li><strong>Authentication Check</strong>: The application will display an error message if authentication is not provided</li> </ul> <h3 id=secure-code-execution>Secure Code Execution<a class=headerlink href=#secure-code-execution title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Modal Sandbox</strong>: Secure execution of AI-generated statistical code</li> <li><strong>Isolated Environment</strong>: Network isolation and package version pinning</li> <li><strong>Safe Execution</strong>: Prevents malicious code execution</li> </ul> <h3 id=semantic-search--rag>Semantic Search & RAG<a class=headerlink href=#semantic-search--rag title="Anchor link to this section">¶</a></h3> <ul> <li><strong>LlamaIndex Integration</strong>: Advanced RAG capabilities</li> <li><strong>Vector Storage</strong>: ChromaDB for embedding storage</li> <li><strong>Semantic Deduplication</strong>: Automatic detection of similar evidence</li> <li><strong>Embedding Service</strong>: Local sentence-transformers (no API key required)</li> </ul> <h3 id=orchestration-patterns>Orchestration Patterns<a class=headerlink href=#orchestration-patterns title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Graph-Based Execution</strong>: Flexible graph orchestration with conditional routing</li> <li><strong>Parallel Research Loops</strong>: Run multiple research tasks concurrently</li> <li><strong>Iterative Research</strong>: Single-loop research with search-judge-synthesize cycles that continues until precise answers are found</li> <li><strong>Deep Research</strong>: Multi-section parallel research with planning and synthesis</li> <li><strong>Magentic Orchestration</strong>: Multi-agent coordination using Microsoft Agent Framework (alias: "advanced" mode)</li> <li><strong>Stops at Nothing</strong>: Only stops at configured limits (budget, time, iterations), otherwise continues until finding precise answers</li> </ul> <p><strong>Orchestrator Modes</strong>: - <code>simple</code>: Legacy linear search-judge loop - <code>advanced</code> (or <code>magentic</code>): Multi-agent coordination (requires OpenAI API key) - <code>iterative</code>: Knowledge-gap-driven research with single loop - <code>deep</code>: Parallel section-based research with planning - <code>auto</code>: Intelligent mode detection based on query complexity</p> <p><strong>Graph Research Modes</strong> (used within graph orchestrator): - <code>iterative</code>: Single research loop pattern - <code>deep</code>: Multi-section parallel research pattern - <code>auto</code>: Auto-detect pattern based on query complexity</p> <p><strong>Execution Modes</strong>: - <code>use_graph=True</code>: Graph-based execution with parallel and conditional routing - <code>use_graph=False</code>: Agent chains with sequential execution (backward compatible)</p> <h3 id=real-time-streaming>Real-Time Streaming<a class=headerlink href=#real-time-streaming title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Event Streaming</strong>: Real-time updates via <code>AsyncGenerator[AgentEvent]</code></li> <li><strong>Progress Tracking</strong>: Monitor research progress with detailed event metadata</li> <li><strong>UI Integration</strong>: Seamless integration with Gradio chat interface</li> </ul> <h3 id=budget-management>Budget Management<a class=headerlink href=#budget-management title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Token Budget</strong>: Track and limit LLM token usage</li> <li><strong>Time Budget</strong>: Enforce time limits per research loop</li> <li><strong>Iteration Budget</strong>: Limit maximum iterations</li> <li><strong>Per-Loop Budgets</strong>: Independent budgets for parallel research loops</li> </ul> <h3 id=state-management>State Management<a class=headerlink href=#state-management title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Thread-Safe Isolation</strong>: ContextVar-based state management</li> <li><strong>Evidence Deduplication</strong>: Automatic URL-based deduplication</li> <li><strong>Conversation History</strong>: Track iteration history and agent interactions</li> <li><strong>State Synchronization</strong>: Share evidence across parallel loops</li> </ul> <h3 id=multimodal-input--output>Multimodal Input & Output<a class=headerlink href=#multimodal-input--output title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Image Input (OCR)</strong>: Upload images and extract text using optical character recognition</li> <li><strong>Audio Input (STT)</strong>: Record or upload audio files and transcribe to text using speech-to-text</li> <li><strong>Audio Output (TTS)</strong>: Generate audio responses with text-to-speech synthesis</li> <li><strong>Configurable Settings</strong>: Enable/disable multimodal features via sidebar settings</li> <li><strong>Voice Selection</strong>: Choose from multiple TTS voices (American English: af_<em>, am_</em>)</li> <li><strong>Speech Speed Control</strong>: Adjust TTS speech speed (0.5x to 2.0x)</li> <li><strong>Multimodal Processing Service</strong>: Integrated service for processing images and audio files</li> </ul> <h2 id=advanced-features>Advanced Features<a class=headerlink href=#advanced-features title="Anchor link to this section">¶</a></h2> <h3 id=agent-system>Agent System<a class=headerlink href=#agent-system title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Pydantic AI Agents</strong>: Type-safe agent implementation</li> <li><strong>Structured Output</strong>: Pydantic models for agent responses</li> <li><strong>Agent Factory</strong>: Centralized agent creation with fallback support</li> <li><strong>Specialized Agents</strong>: Knowledge gap, tool selector, writer, proofreader, and more</li> </ul> <h3 id=search-tools>Search Tools<a class=headerlink href=#search-tools title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Rate Limiting</strong>: Built-in rate limiting for external APIs</li> <li><strong>Retry Logic</strong>: Automatic retry with exponential backoff</li> <li><strong>Query Preprocessing</strong>: Automatic query enhancement and synonym expansion</li> <li><strong>Evidence Conversion</strong>: Automatic conversion to structured Evidence objects</li> </ul> <h3 id=error-handling>Error Handling<a class=headerlink href=#error-handling title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Custom Exceptions</strong>: Hierarchical exception system</li> <li><strong>Error Chaining</strong>: Preserve exception context</li> <li><strong>Structured Logging</strong>: Comprehensive logging with structlog</li> <li><strong>Graceful Degradation</strong>: Fallback handlers for missing dependencies</li> </ul> <h3 id=configuration>Configuration<a class=headerlink href=#configuration title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Pydantic Settings</strong>: Type-safe configuration management</li> <li><strong>Environment Variables</strong>: Support for <code>.env</code> files</li> <li><strong>Validation</strong>: Automatic configuration validation</li> <li><strong>Flexible Providers</strong>: Support for multiple LLM and embedding providers</li> </ul> <h3 id=testing>Testing<a class=headerlink href=#testing title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Unit Tests</strong>: Comprehensive unit test coverage</li> <li><strong>Integration Tests</strong>: Real API integration tests</li> <li><strong>Mock Support</strong>: Extensive mocking utilities</li> <li><strong>Coverage Reports</strong>: Code coverage tracking</li> </ul> <h2 id=ui-features>UI Features<a class=headerlink href=#ui-features title="Anchor link to this section">¶</a></h2> <h3 id=gradio-interface>Gradio Interface<a class=headerlink href=#gradio-interface title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Real-Time Chat</strong>: Interactive chat interface with multimodal support</li> <li><strong>Streaming Updates</strong>: Live progress updates</li> <li><strong>Accordion UI</strong>: Organized display of pending/done operations</li> <li><strong>OAuth Integration</strong>: Seamless HuggingFace authentication</li> <li><strong>Multimodal Input</strong>: Support for text, images, and audio input in the same interface</li> <li><strong>Sidebar Settings</strong>: Configuration accordions for research, multimodal, and audio settings</li> </ul> <h3 id=mcp-server>MCP Server<a class=headerlink href=#mcp-server title="Anchor link to this section">¶</a></h3> <ul> <li><strong>RESTful API</strong>: HTTP-based MCP server</li> <li><strong>Tool Discovery</strong>: Automatic tool registration</li> <li><strong>Request Handling</strong>: Async request processing</li> <li><strong>Error Responses</strong>: Structured error responses</li> </ul> <h2 id=development-features>Development Features<a class=headerlink href=#development-features title="Anchor link to this section">¶</a></h2> <h3 id=code-quality>Code Quality<a class=headerlink href=#code-quality title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Type Safety</strong>: Full type hints with mypy strict mode</li> <li><strong>Linting</strong>: Ruff for code quality</li> <li><strong>Formatting</strong>: Automatic code formatting</li> <li><strong>Pre-commit Hooks</strong>: Automated quality checks</li> </ul> <h3 id=documentation>Documentation<a class=headerlink href=#documentation title="Anchor link to this section">¶</a></h3> <ul> <li><strong>Comprehensive Docs</strong>: Detailed documentation for all components</li> <li><strong>Code Examples</strong>: Extensive code examples</li> <li><strong>Architecture Diagrams</strong>: Visual architecture documentation</li> <li><strong>API Reference</strong>: Complete API documentation</li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/overview/quick-start/index.html
CHANGED
|
@@ -1,15 +1,22 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/overview/quick-start/ rel=canonical><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Quick Start - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#quick-start class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Quick Start </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#installation class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=#run-the-ui class=md-nav__link> <span class=md-ellipsis> Run the UI </span> </a> </li> <li class=md-nav__item> <a href=#basic-usage class=md-nav__link> <span class=md-ellipsis> Basic Usage </span> </a> <nav class=md-nav aria-label="Basic Usage"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#1-authentication-optional class=md-nav__link> <span class=md-ellipsis> 1. Authentication (Optional) </span> </a> </li> <li class=md-nav__item> <a href=#2-start-a-research-query class=md-nav__link> <span class=md-ellipsis> 2. Start a Research Query </span> </a> </li> <li class=md-nav__item> <a href=#3-mcp-integration-optional class=md-nav__link> <span class=md-ellipsis> 3. MCP Integration (Optional) </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#available-tools class=md-nav__link> <span class=md-ellipsis> Available Tools </span> </a> </li> <li class=md-nav__item> <a href=#next-steps class=md-nav__link> <span class=md-ellipsis> Next Steps </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=quick-start>Quick Start<a class=headerlink href=#quick-start title="Permanent link">¶</a></h1> <p>Get started with DeepCritical in minutes.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Permanent link">¶</a></h2> <div class=highlight><pre><span></span><code><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install uv if you haven't already</span>
|
| 2 |
-
<a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a>
|
| 3 |
-
<a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>
|
| 4 |
-
<a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
-
<a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a>
|
| 6 |
-
</
|
| 7 |
-
<a id=__codelineno-
|
| 8 |
-
</
|
| 9 |
-
<a id=__codelineno-
|
| 10 |
-
<a id=__codelineno-
|
| 11 |
-
<a id=__codelineno-
|
| 12 |
-
<a id=__codelineno-
|
| 13 |
-
<
|
| 14 |
-
<a id=__codelineno-
|
| 15 |
-
</code></pre></div><
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/overview/quick-start/ rel=canonical><link rel=icon href=../../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Quick Start - The DETERMINATOR</title><link rel=stylesheet href=../../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../../css/timeago.css><script>__md_scope=new URL("../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#quick-start class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=../.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Quick Start </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=../.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../../LICENSE/ class=md-tabs__link> License </a> </li> <li class=md-tabs__item> <a href=../../team/ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=../.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class=md-nav__item> <a href=../../team/ class=md-nav__link> <span class=md-ellipsis> Team </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=quick-start>Quick Start<a class=headerlink href=#quick-start title="Anchor link to this section">¶</a></h1> <p>Get started with DeepCritical in minutes.</p> <h2 id=installation>Installation<a class=headerlink href=#installation title="Anchor link to this section">¶</a></h2> <div class="language-bash highlight"><pre><span></span><code><span id=__span-0-1><a id=__codelineno-0-1 name=__codelineno-0-1 href=#__codelineno-0-1></a><span class=c1># Install uv if you haven't already (recommended: standalone installer)</span>
|
| 2 |
+
</span><span id=__span-0-2><a id=__codelineno-0-2 name=__codelineno-0-2 href=#__codelineno-0-2></a><span class=c1># Unix/macOS/Linux:</span>
|
| 3 |
+
</span><span id=__span-0-3><a id=__codelineno-0-3 name=__codelineno-0-3 href=#__codelineno-0-3></a>curl<span class=w> </span>-LsSf<span class=w> </span>https://astral.sh/uv/install.sh<span class=w> </span><span class=p>|</span><span class=w> </span>sh
|
| 4 |
+
</span><span id=__span-0-4><a id=__codelineno-0-4 name=__codelineno-0-4 href=#__codelineno-0-4></a>
|
| 5 |
+
</span><span id=__span-0-5><a id=__codelineno-0-5 name=__codelineno-0-5 href=#__codelineno-0-5></a><span class=c1># Windows (PowerShell):</span>
|
| 6 |
+
</span><span id=__span-0-6><a id=__codelineno-0-6 name=__codelineno-0-6 href=#__codelineno-0-6></a>powershell<span class=w> </span>-ExecutionPolicy<span class=w> </span>ByPass<span class=w> </span>-c<span class=w> </span><span class=s2>"irm https://astral.sh/uv/install.ps1 | iex"</span>
|
| 7 |
+
</span><span id=__span-0-7><a id=__codelineno-0-7 name=__codelineno-0-7 href=#__codelineno-0-7></a>
|
| 8 |
+
</span><span id=__span-0-8><a id=__codelineno-0-8 name=__codelineno-0-8 href=#__codelineno-0-8></a><span class=c1># Alternative: pipx install uv</span>
|
| 9 |
+
</span><span id=__span-0-9><a id=__codelineno-0-9 name=__codelineno-0-9 href=#__codelineno-0-9></a><span class=c1># Or: pip install uv</span>
|
| 10 |
+
</span><span id=__span-0-10><a id=__codelineno-0-10 name=__codelineno-0-10 href=#__codelineno-0-10></a>
|
| 11 |
+
</span><span id=__span-0-11><a id=__codelineno-0-11 name=__codelineno-0-11 href=#__codelineno-0-11></a><span class=c1># Sync dependencies</span>
|
| 12 |
+
</span><span id=__span-0-12><a id=__codelineno-0-12 name=__codelineno-0-12 href=#__codelineno-0-12></a>uv<span class=w> </span>sync
|
| 13 |
+
</span></code></pre></div> <h2 id=run-the-ui>Run the UI<a class=headerlink href=#run-the-ui title="Anchor link to this section">¶</a></h2> <div class="language-bash highlight"><pre><span></span><code><span id=__span-1-1><a id=__codelineno-1-1 name=__codelineno-1-1 href=#__codelineno-1-1></a><span class=c1># Start the Gradio app</span>
|
| 14 |
+
</span><span id=__span-1-2><a id=__codelineno-1-2 name=__codelineno-1-2 href=#__codelineno-1-2></a>uv<span class=w> </span>run<span class=w> </span>gradio<span class=w> </span>run<span class=w> </span>src/app.py
|
| 15 |
+
</span></code></pre></div> <p>Open your browser to <code>http://localhost:7860</code>.</p> <h2 id=basic-usage>Basic Usage<a class=headerlink href=#basic-usage title="Anchor link to this section">¶</a></h2> <h3 id=1-authentication-required>1. Authentication (REQUIRED)<a class=headerlink href=#1-authentication-required title="Anchor link to this section">¶</a></h3> <p><strong>Authentication is mandatory</strong> - you must authenticate before using the application. The app will display an error message if you try to use it without authentication.</p> <p><strong>HuggingFace OAuth Login</strong> (Recommended): - Click the "Sign in with HuggingFace" button at the top of the app - Your HuggingFace API token will be automatically used for AI inference - No need to manually enter API keys when logged in</p> <p><strong>Manual API Key</strong> (Alternative): - Set environment variable <code>HF_TOKEN</code> or <code>HUGGINGFACE_API_KEY</code> before starting the app - The app will automatically use these tokens if OAuth login is not available - Supports HuggingFace API keys only (OpenAI/Anthropic keys are not used in the current implementation)</p> <h3 id=2-start-a-research-query>2. Start a Research Query<a class=headerlink href=#2-start-a-research-query title="Anchor link to this section">¶</a></h3> <ol> <li>Enter your research question in the chat interface</li> <li><strong>Text Input</strong>: Type your question directly</li> <li><strong>Image Input</strong>: Click the 📷 icon to upload images (OCR will extract text)</li> <li><strong>Audio Input</strong>: Click the 🎤 icon to record or upload audio (STT will transcribe to text)</li> <li>Click "Submit" or press Enter</li> <li>Watch the real-time progress as the system:</li> <li>Generates observations</li> <li>Identifies knowledge gaps</li> <li>Searches multiple sources</li> <li>Evaluates evidence</li> <li>Synthesizes findings</li> <li>Review the final research report</li> <li><strong>Audio Output</strong>: If enabled, the final response will include audio synthesis (TTS)</li> </ol> <p><strong>Multimodal Features</strong>: - Configure image/audio input and output in the sidebar settings - Image OCR and audio STT/TTS can be enabled/disabled independently - TTS voice and speed can be customized in the Audio Output settings</p> <h3 id=3-mcp-integration-optional>3. MCP Integration (Optional)<a class=headerlink href=#3-mcp-integration-optional title="Anchor link to this section">¶</a></h3> <p>Connect DeepCritical to Claude Desktop:</p> <ol> <li> <p>Add to your <code>claude_desktop_config.json</code>: <div class="language-json highlight"><pre><span></span><code><span id=__span-2-1><a id=__codelineno-2-1 name=__codelineno-2-1 href=#__codelineno-2-1></a><span class=p>{</span>
|
| 16 |
+
</span><span id=__span-2-2><a id=__codelineno-2-2 name=__codelineno-2-2 href=#__codelineno-2-2></a><span class=w> </span><span class=nt>"mcpServers"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 17 |
+
</span><span id=__span-2-3><a id=__codelineno-2-3 name=__codelineno-2-3 href=#__codelineno-2-3></a><span class=w> </span><span class=nt>"deepcritical"</span><span class=p>:</span><span class=w> </span><span class=p>{</span>
|
| 18 |
+
</span><span id=__span-2-4><a id=__codelineno-2-4 name=__codelineno-2-4 href=#__codelineno-2-4></a><span class=w> </span><span class=nt>"url"</span><span class=p>:</span><span class=w> </span><span class=s2>"http://localhost:7860/gradio_api/mcp/"</span>
|
| 19 |
+
</span><span id=__span-2-5><a id=__codelineno-2-5 name=__codelineno-2-5 href=#__codelineno-2-5></a><span class=w> </span><span class=p>}</span>
|
| 20 |
+
</span><span id=__span-2-6><a id=__codelineno-2-6 name=__codelineno-2-6 href=#__codelineno-2-6></a><span class=w> </span><span class=p>}</span>
|
| 21 |
+
</span><span id=__span-2-7><a id=__codelineno-2-7 name=__codelineno-2-7 href=#__codelineno-2-7></a><span class=p>}</span>
|
| 22 |
+
</span></code></pre></div></p> </li> <li> <p>Restart Claude Desktop</p> </li> <li>Use DeepCritical tools directly from Claude Desktop</li> </ol> <h2 id=available-tools>Available Tools<a class=headerlink href=#available-tools title="Anchor link to this section">¶</a></h2> <ul> <li><code>search_pubmed</code>: Search peer-reviewed biomedical literature</li> <li><code>search_clinical_trials</code>: Search ClinicalTrials.gov</li> <li><code>search_biorxiv</code>: Search bioRxiv/medRxiv preprints</li> <li><code>search_neo4j</code>: Search Neo4j knowledge graph for papers and disease relationships</li> <li><code>search_all</code>: Search all sources simultaneously</li> <li><code>analyze_hypothesis</code>: Secure statistical analysis using Modal sandboxes</li> </ul> <p><strong>Note</strong>: The application automatically uses all available search tools (Neo4j, PubMed, ClinicalTrials.gov, Europe PMC, Web search, RAG) based on query analysis. Neo4j knowledge graph search is included by default for biomedical queries.</p> <h2 id=next-steps>Next Steps<a class=headerlink href=#next-steps title="Anchor link to this section">¶</a></h2> <ul> <li>Read the <a href=../../getting-started/installation/ >Installation Guide</a> for detailed setup</li> <li>Learn about <a href=../../configuration/ >Configuration</a></li> <li>Explore the <a href=../../architecture/graph_orchestration/ >Architecture</a></li> <li>Check out <a href=../../getting-started/examples/ >Examples</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 2, 2025 01:35:56 UTC"><span class=timeago datetime=2025-12-02T01:35:56+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 2, 2025 01:35:56 UTC">2025-12-02</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 22:24:36 UTC"><span class=timeago datetime=2025-11-29T22:24:36+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 22:24:36 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "../..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../../js/timeago.min.js></script> <script src=../../js/timeago_mkdocs_material.js></script> </body> </html>
|
site/search/search_index.json
CHANGED
|
The diff for this file is too large to render.
See raw diff
|
|
|
site/sitemap.xml
CHANGED
|
@@ -2,138 +2,126 @@
|
|
| 2 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
| 3 |
<url>
|
| 4 |
<loc>https://deepcritical.github.io/GradioDemo/</loc>
|
| 5 |
-
<lastmod>2025-12-
|
| 6 |
</url>
|
| 7 |
<url>
|
| 8 |
-
<loc>https://deepcritical.github.io/GradioDemo/
|
| 9 |
-
<lastmod>2025-12-
|
| 10 |
</url>
|
| 11 |
<url>
|
| 12 |
-
<loc>https://deepcritical.github.io/GradioDemo/
|
| 13 |
-
<lastmod>2025-12-
|
| 14 |
</url>
|
| 15 |
<url>
|
| 16 |
<loc>https://deepcritical.github.io/GradioDemo/team/</loc>
|
| 17 |
-
<lastmod>2025-12-
|
| 18 |
</url>
|
| 19 |
<url>
|
| 20 |
<loc>https://deepcritical.github.io/GradioDemo/api/agents/</loc>
|
| 21 |
-
<lastmod>2025-12-
|
| 22 |
</url>
|
| 23 |
<url>
|
| 24 |
<loc>https://deepcritical.github.io/GradioDemo/api/models/</loc>
|
| 25 |
-
<lastmod>2025-12-
|
| 26 |
</url>
|
| 27 |
<url>
|
| 28 |
<loc>https://deepcritical.github.io/GradioDemo/api/orchestrators/</loc>
|
| 29 |
-
<lastmod>2025-12-
|
| 30 |
</url>
|
| 31 |
<url>
|
| 32 |
<loc>https://deepcritical.github.io/GradioDemo/api/services/</loc>
|
| 33 |
-
<lastmod>2025-12-
|
| 34 |
</url>
|
| 35 |
<url>
|
| 36 |
<loc>https://deepcritical.github.io/GradioDemo/api/tools/</loc>
|
| 37 |
-
<lastmod>2025-12-
|
| 38 |
</url>
|
| 39 |
<url>
|
| 40 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/agents/</loc>
|
| 41 |
-
<lastmod>2025-12-
|
| 42 |
-
</url>
|
| 43 |
-
<url>
|
| 44 |
-
<loc>https://deepcritical.github.io/GradioDemo/architecture/graph-orchestration/</loc>
|
| 45 |
-
<lastmod>2025-12-01</lastmod>
|
| 46 |
</url>
|
| 47 |
<url>
|
| 48 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/graph_orchestration/</loc>
|
| 49 |
-
<lastmod>2025-12-
|
| 50 |
</url>
|
| 51 |
<url>
|
| 52 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/middleware/</loc>
|
| 53 |
-
<lastmod>2025-12-
|
| 54 |
</url>
|
| 55 |
<url>
|
| 56 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/orchestrators/</loc>
|
| 57 |
-
<lastmod>2025-12-
|
| 58 |
</url>
|
| 59 |
<url>
|
| 60 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/services/</loc>
|
| 61 |
-
<lastmod>2025-12-
|
| 62 |
</url>
|
| 63 |
<url>
|
| 64 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/tools/</loc>
|
| 65 |
-
<lastmod>2025-12-
|
| 66 |
</url>
|
| 67 |
<url>
|
| 68 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/workflow-diagrams/</loc>
|
| 69 |
-
<lastmod>2025-12-
|
| 70 |
-
</url>
|
| 71 |
-
<url>
|
| 72 |
-
<loc>https://deepcritical.github.io/GradioDemo/architecture/workflows/</loc>
|
| 73 |
-
<lastmod>2025-12-01</lastmod>
|
| 74 |
</url>
|
| 75 |
<url>
|
| 76 |
<loc>https://deepcritical.github.io/GradioDemo/configuration/</loc>
|
| 77 |
-
<lastmod>2025-12-
|
| 78 |
-
</url>
|
| 79 |
-
<url>
|
| 80 |
-
<loc>https://deepcritical.github.io/GradioDemo/configuration/CONFIGURATION/</loc>
|
| 81 |
-
<lastmod>2025-12-01</lastmod>
|
| 82 |
</url>
|
| 83 |
<url>
|
| 84 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/</loc>
|
| 85 |
-
<lastmod>2025-12-
|
| 86 |
</url>
|
| 87 |
<url>
|
| 88 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/code-quality/</loc>
|
| 89 |
-
<lastmod>2025-12-
|
| 90 |
</url>
|
| 91 |
<url>
|
| 92 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/code-style/</loc>
|
| 93 |
-
<lastmod>2025-12-
|
| 94 |
</url>
|
| 95 |
<url>
|
| 96 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/error-handling/</loc>
|
| 97 |
-
<lastmod>2025-12-
|
| 98 |
</url>
|
| 99 |
<url>
|
| 100 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/implementation-patterns/</loc>
|
| 101 |
-
<lastmod>2025-12-
|
| 102 |
</url>
|
| 103 |
<url>
|
| 104 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/prompt-engineering/</loc>
|
| 105 |
-
<lastmod>2025-12-
|
| 106 |
</url>
|
| 107 |
<url>
|
| 108 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/testing/</loc>
|
| 109 |
-
<lastmod>2025-12-
|
| 110 |
</url>
|
| 111 |
<url>
|
| 112 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/examples/</loc>
|
| 113 |
-
<lastmod>2025-12-
|
| 114 |
</url>
|
| 115 |
<url>
|
| 116 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/installation/</loc>
|
| 117 |
-
<lastmod>2025-12-
|
| 118 |
</url>
|
| 119 |
<url>
|
| 120 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/mcp-integration/</loc>
|
| 121 |
-
<lastmod>2025-12-
|
| 122 |
</url>
|
| 123 |
<url>
|
| 124 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/quick-start/</loc>
|
| 125 |
-
<lastmod>2025-12-
|
| 126 |
</url>
|
| 127 |
<url>
|
| 128 |
<loc>https://deepcritical.github.io/GradioDemo/overview/architecture/</loc>
|
| 129 |
-
<lastmod>2025-12-
|
| 130 |
</url>
|
| 131 |
<url>
|
| 132 |
<loc>https://deepcritical.github.io/GradioDemo/overview/features/</loc>
|
| 133 |
-
<lastmod>2025-12-
|
| 134 |
</url>
|
| 135 |
<url>
|
| 136 |
<loc>https://deepcritical.github.io/GradioDemo/overview/quick-start/</loc>
|
| 137 |
-
<lastmod>2025-12-
|
| 138 |
</url>
|
| 139 |
</urlset>
|
|
|
|
| 2 |
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
| 3 |
<url>
|
| 4 |
<loc>https://deepcritical.github.io/GradioDemo/</loc>
|
| 5 |
+
<lastmod>2025-12-02</lastmod>
|
| 6 |
</url>
|
| 7 |
<url>
|
| 8 |
+
<loc>https://deepcritical.github.io/GradioDemo/LICENSE/</loc>
|
| 9 |
+
<lastmod>2025-12-02</lastmod>
|
| 10 |
</url>
|
| 11 |
<url>
|
| 12 |
+
<loc>https://deepcritical.github.io/GradioDemo/MKDOCS_IMPROVEMENTS_ASSESSMENT/</loc>
|
| 13 |
+
<lastmod>2025-12-02</lastmod>
|
| 14 |
</url>
|
| 15 |
<url>
|
| 16 |
<loc>https://deepcritical.github.io/GradioDemo/team/</loc>
|
| 17 |
+
<lastmod>2025-12-02</lastmod>
|
| 18 |
</url>
|
| 19 |
<url>
|
| 20 |
<loc>https://deepcritical.github.io/GradioDemo/api/agents/</loc>
|
| 21 |
+
<lastmod>2025-12-02</lastmod>
|
| 22 |
</url>
|
| 23 |
<url>
|
| 24 |
<loc>https://deepcritical.github.io/GradioDemo/api/models/</loc>
|
| 25 |
+
<lastmod>2025-12-02</lastmod>
|
| 26 |
</url>
|
| 27 |
<url>
|
| 28 |
<loc>https://deepcritical.github.io/GradioDemo/api/orchestrators/</loc>
|
| 29 |
+
<lastmod>2025-12-02</lastmod>
|
| 30 |
</url>
|
| 31 |
<url>
|
| 32 |
<loc>https://deepcritical.github.io/GradioDemo/api/services/</loc>
|
| 33 |
+
<lastmod>2025-12-02</lastmod>
|
| 34 |
</url>
|
| 35 |
<url>
|
| 36 |
<loc>https://deepcritical.github.io/GradioDemo/api/tools/</loc>
|
| 37 |
+
<lastmod>2025-12-02</lastmod>
|
| 38 |
</url>
|
| 39 |
<url>
|
| 40 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/agents/</loc>
|
| 41 |
+
<lastmod>2025-12-02</lastmod>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 42 |
</url>
|
| 43 |
<url>
|
| 44 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/graph_orchestration/</loc>
|
| 45 |
+
<lastmod>2025-12-02</lastmod>
|
| 46 |
</url>
|
| 47 |
<url>
|
| 48 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/middleware/</loc>
|
| 49 |
+
<lastmod>2025-12-02</lastmod>
|
| 50 |
</url>
|
| 51 |
<url>
|
| 52 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/orchestrators/</loc>
|
| 53 |
+
<lastmod>2025-12-02</lastmod>
|
| 54 |
</url>
|
| 55 |
<url>
|
| 56 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/services/</loc>
|
| 57 |
+
<lastmod>2025-12-02</lastmod>
|
| 58 |
</url>
|
| 59 |
<url>
|
| 60 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/tools/</loc>
|
| 61 |
+
<lastmod>2025-12-02</lastmod>
|
| 62 |
</url>
|
| 63 |
<url>
|
| 64 |
<loc>https://deepcritical.github.io/GradioDemo/architecture/workflow-diagrams/</loc>
|
| 65 |
+
<lastmod>2025-12-02</lastmod>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 66 |
</url>
|
| 67 |
<url>
|
| 68 |
<loc>https://deepcritical.github.io/GradioDemo/configuration/</loc>
|
| 69 |
+
<lastmod>2025-12-02</lastmod>
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
</url>
|
| 71 |
<url>
|
| 72 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/</loc>
|
| 73 |
+
<lastmod>2025-12-02</lastmod>
|
| 74 |
</url>
|
| 75 |
<url>
|
| 76 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/code-quality/</loc>
|
| 77 |
+
<lastmod>2025-12-02</lastmod>
|
| 78 |
</url>
|
| 79 |
<url>
|
| 80 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/code-style/</loc>
|
| 81 |
+
<lastmod>2025-12-02</lastmod>
|
| 82 |
</url>
|
| 83 |
<url>
|
| 84 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/error-handling/</loc>
|
| 85 |
+
<lastmod>2025-12-02</lastmod>
|
| 86 |
</url>
|
| 87 |
<url>
|
| 88 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/implementation-patterns/</loc>
|
| 89 |
+
<lastmod>2025-12-02</lastmod>
|
| 90 |
</url>
|
| 91 |
<url>
|
| 92 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/prompt-engineering/</loc>
|
| 93 |
+
<lastmod>2025-12-02</lastmod>
|
| 94 |
</url>
|
| 95 |
<url>
|
| 96 |
<loc>https://deepcritical.github.io/GradioDemo/contributing/testing/</loc>
|
| 97 |
+
<lastmod>2025-12-02</lastmod>
|
| 98 |
</url>
|
| 99 |
<url>
|
| 100 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/examples/</loc>
|
| 101 |
+
<lastmod>2025-12-02</lastmod>
|
| 102 |
</url>
|
| 103 |
<url>
|
| 104 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/installation/</loc>
|
| 105 |
+
<lastmod>2025-12-02</lastmod>
|
| 106 |
</url>
|
| 107 |
<url>
|
| 108 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/mcp-integration/</loc>
|
| 109 |
+
<lastmod>2025-12-02</lastmod>
|
| 110 |
</url>
|
| 111 |
<url>
|
| 112 |
<loc>https://deepcritical.github.io/GradioDemo/getting-started/quick-start/</loc>
|
| 113 |
+
<lastmod>2025-12-02</lastmod>
|
| 114 |
</url>
|
| 115 |
<url>
|
| 116 |
<loc>https://deepcritical.github.io/GradioDemo/overview/architecture/</loc>
|
| 117 |
+
<lastmod>2025-12-02</lastmod>
|
| 118 |
</url>
|
| 119 |
<url>
|
| 120 |
<loc>https://deepcritical.github.io/GradioDemo/overview/features/</loc>
|
| 121 |
+
<lastmod>2025-12-02</lastmod>
|
| 122 |
</url>
|
| 123 |
<url>
|
| 124 |
<loc>https://deepcritical.github.io/GradioDemo/overview/quick-start/</loc>
|
| 125 |
+
<lastmod>2025-12-02</lastmod>
|
| 126 |
</url>
|
| 127 |
</urlset>
|
site/team/index.html
CHANGED
|
@@ -1 +1 @@
|
|
| 1 |
-
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DETERMINATOR Team"><link href=https://deepcritical.github.io/GradioDemo/team/ rel=canonical><link href=../LICENSE/ rel=prev><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Team - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#team class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Team </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/CONFIGURATION/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../LICENSE/ class=md-tabs__link> License </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Quick Start Guide </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <label class=md-nav__link for=__nav_4 id=__nav_4_label tabindex=0> <span class=md-ellipsis> Configuration </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../configuration/CONFIGURATION/ class=md-nav__link> <span class=md-ellipsis> Configuration Guide </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <label class=md-nav__link for=__nav_7 id=__nav_7_label tabindex=0> <span class=md-ellipsis> Contributing </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/ class=md-nav__link> <span class=md-ellipsis> Contributing to DeepCritical </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Team </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Team </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#team-members class=md-nav__link> <span class=md-ellipsis> Team Members </span> </a> <nav class=md-nav aria-label="Team Members"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#zj class=md-nav__link> <span class=md-ellipsis> ZJ </span> </a> </li> <li class=md-nav__item> <a href=#mario-aderman class=md-nav__link> <span class=md-ellipsis> Mario Aderman </span> </a> </li> <li class=md-nav__item> <a href=#joseph-pollack class=md-nav__link> <span class=md-ellipsis> Joseph Pollack </span> </a> </li> <li class=md-nav__item> <a href=#virat-chauran class=md-nav__link> <span class=md-ellipsis> Virat Chauran </span> </a> </li> <li class=md-nav__item> <a href=#anna-bossler class=md-nav__link> <span class=md-ellipsis> Anna Bossler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#about class=md-nav__link> <span class=md-ellipsis> About </span> </a> </li> <li class=md-nav__item> <a href=#contributing class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class="md-sidebar md-sidebar--secondary" data-md-component=sidebar data-md-type=toc> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#team-members class=md-nav__link> <span class=md-ellipsis> Team Members </span> </a> <nav class=md-nav aria-label="Team Members"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#zj class=md-nav__link> <span class=md-ellipsis> ZJ </span> </a> </li> <li class=md-nav__item> <a href=#mario-aderman class=md-nav__link> <span class=md-ellipsis> Mario Aderman </span> </a> </li> <li class=md-nav__item> <a href=#joseph-pollack class=md-nav__link> <span class=md-ellipsis> Joseph Pollack </span> </a> </li> <li class=md-nav__item> <a href=#virat-chauran class=md-nav__link> <span class=md-ellipsis> Virat Chauran </span> </a> </li> <li class=md-nav__item> <a href=#anna-bossler class=md-nav__link> <span class=md-ellipsis> Anna Bossler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#about class=md-nav__link> <span class=md-ellipsis> About </span> </a> </li> <li class=md-nav__item> <a href=#contributing class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=team>Team<a class=headerlink href=#team title="Permanent link">¶</a></h1> <p>DeepCritical is developed by a team of researchers and developers working on AI-assisted research.</p> <h2 id=team-members>Team Members<a class=headerlink href=#team-members title="Permanent link">¶</a></h2> <h3 id=zj>ZJ<a class=headerlink href=#zj title="Permanent link">¶</a></h3> <ul> <li>💼 <a href=https://www.linkedin.com/in// >LinkedIn</a></li> </ul> <h3 id=mario-aderman>Mario Aderman<a class=headerlink href=#mario-aderman title="Permanent link">¶</a></h3> <ul> <li>🤗 <a href=https://huggingface.co/SeasonalFall84>HuggingFace</a></li> <li>💼 <a href=https://www.linkedin.com/in/mario-aderman/ >LinkedIn</a></li> <li>𝕏 <a href=https://x.com/marioaderman>X</a></li> </ul> <h3 id=joseph-pollack>Joseph Pollack<a class=headerlink href=#joseph-pollack title="Permanent link">¶</a></h3> <ul> <li>🤗 <a href=https://huggingface.co/Tonic>HuggingFace</a></li> <li>💼 <a href=https://www.linkedin.com/in/josephpollack/ >LinkedIn</a></li> <li>𝕏 <a href=https://x.com/josephpollack>X</a></li> </ul> <h3 id=virat-chauran>Virat Chauran<a class=headerlink href=#virat-chauran title="Permanent link">¶</a></h3> <ul> <li>𝕏 <a href=https://x.com/viratzzs/ >X</a></li> <li>💼 <a href=https://www.linkedin.com/in/viratchauhan/ >LinkedIn</a></li> <li>🤗 <a href=https://huggingface.co/ViratChauhan>HuggingFace</a></li> </ul> <h3 id=anna-bossler>Anna Bossler<a class=headerlink href=#anna-bossler title="Permanent link">¶</a></h3> <ul> <li>💼 <a href=https://www.linkedin.com/in/ana-bossler-07304717>LinkedIn</a></li> </ul> <h2 id=about>About<a class=headerlink href=#about title="Permanent link">¶</a></h2> <p>The DeepCritical team met online in the Alzheimer's Critical Literature Review Group in the Hugging Science initiative. We're building the agent framework we want to use for AI-assisted research to turn the vast amounts of clinical data into cures.</p> <h2 id=contributing>Contributing<a class=headerlink href=#contributing title="Permanent link">¶</a></h2> <p>We welcome contributions! See the <a href=../contributing/ >Contributing Guide</a> for details.</p> <h2 id=links>Links<a class=headerlink href=#links title="Permanent link">¶</a></h2> <ul> <li><a href=https://github.com/DeepCritical/GradioDemo>GitHub Repository</a></li> <li><a href=https://huggingface.co/spaces/DataQuests/DeepCritical>HuggingFace Space</a></li> </ul> </article> </div> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=github.com class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title=huggingface.co class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.e71a0d61.min.js></script> </body> </html>
|
|
|
|
| 1 |
+
<!doctype html><html lang=en class=no-js> <head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=description content="Generalist Deep Research Agent that Stops at Nothing"><meta name=author content="The DeepCritical Team"><link href=https://deepcritical.github.io/GradioDemo/team/ rel=canonical><link href=../LICENSE/ rel=prev><link rel=icon href=../assets/images/favicon.png><meta name=generator content="mkdocs-1.6.1, mkdocs-material-9.7.0"><title>Team - The DETERMINATOR</title><link rel=stylesheet href=../assets/stylesheets/main.618322db.min.css><link rel=stylesheet href=../assets/stylesheets/palette.ab4e12ef.min.css><link rel=preconnect href=https://fonts.gstatic.com crossorigin><link rel=stylesheet href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback"><style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style><link rel=stylesheet href=../css/timeago.css><script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script></head> <body dir=ltr data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red> <input class=md-toggle data-md-toggle=drawer type=checkbox id=__drawer autocomplete=off> <input class=md-toggle data-md-toggle=search type=checkbox id=__search autocomplete=off> <label class=md-overlay for=__drawer></label> <div data-md-component=skip> <a href=#team class=md-skip> Skip to content </a> </div> <div data-md-component=announce> </div> <header class=md-header data-md-component=header> <nav class="md-header__inner md-grid" aria-label=Header> <a href=.. title="The DETERMINATOR" class="md-header__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> <label class="md-header__button md-icon" for=__drawer> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg> </label> <div class=md-header__title data-md-component=header-title> <div class=md-header__ellipsis> <div class=md-header__topic> <span class=md-ellipsis> The DETERMINATOR </span> </div> <div class=md-header__topic data-md-component=header-topic> <span class=md-ellipsis> Team </span> </div> </div> </div> <form class=md-header__option data-md-component=palette> <input class=md-option data-md-color-media data-md-color-scheme=default data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to dark mode" type=radio name=__palette id=__palette_0> <label class="md-header__button md-icon" title="Switch to dark mode" for=__palette_1 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> <input class=md-option data-md-color-media data-md-color-scheme=slate data-md-color-primary=orange data-md-color-accent=red aria-label="Switch to light mode" type=radio name=__palette id=__palette_1> <label class="md-header__button md-icon" title="Switch to light mode" for=__palette_0 hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg> </label> </form> <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script> <label class="md-header__button md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> </label> <div class=md-search data-md-component=search role=dialog> <label class=md-search__overlay for=__search></label> <div class=md-search__inner role=search> <form class=md-search__form name=search> <input type=text class=md-search__input name=query aria-label=Search placeholder=Search autocapitalize=off autocorrect=off autocomplete=off spellcheck=false data-md-component=search-query required> <label class="md-search__icon md-icon" for=__search> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg> </label> <nav class=md-search__options aria-label=Search> <button type=reset class="md-search__icon md-icon" title=Clear aria-label=Clear tabindex=-1> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> </button> </nav> <div class=md-search__suggest data-md-component=search-suggest></div> </form> <div class=md-search__output> <div class=md-search__scrollwrap tabindex=0 data-md-scrollfix> <div class=md-search-result data-md-component=search-result> <div class=md-search-result__meta> Initializing search </div> <ol class=md-search-result__list role=presentation></ol> </div> </div> </div> </div> </div> <div class=md-header__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> </nav> </header> <div class=md-container data-md-component=container> <nav class=md-tabs aria-label=Tabs data-md-component=tabs> <div class=md-grid> <ul class=md-tabs__list> <li class=md-tabs__item> <a href=.. class=md-tabs__link> Home </a> </li> <li class=md-tabs__item> <a href=../overview/architecture/ class=md-tabs__link> Overview </a> </li> <li class=md-tabs__item> <a href=../getting-started/installation/ class=md-tabs__link> Getting Started </a> </li> <li class=md-tabs__item> <a href=../configuration/ class=md-tabs__link> Configuration </a> </li> <li class=md-tabs__item> <a href=../architecture/graph_orchestration/ class=md-tabs__link> Architecture </a> </li> <li class=md-tabs__item> <a href=../api/agents/ class=md-tabs__link> API Reference </a> </li> <li class=md-tabs__item> <a href=../contributing/ class=md-tabs__link> Contributing </a> </li> <li class=md-tabs__item> <a href=../LICENSE/ class=md-tabs__link> License </a> </li> <li class="md-tabs__item md-tabs__item--active"> <a href=./ class=md-tabs__link> Team </a> </li> </ul> </div> </nav> <main class=md-main data-md-component=main> <div class="md-main__inner md-grid"> <div class="md-sidebar md-sidebar--primary" data-md-component=sidebar data-md-type=navigation> <div class=md-sidebar__scrollwrap> <div class=md-sidebar__inner> <nav class="md-nav md-nav--primary md-nav--lifted md-nav--integrated" aria-label=Navigation data-md-level=0> <label class=md-nav__title for=__drawer> <a href=.. title="The DETERMINATOR" class="md-nav__button md-logo" aria-label="The DETERMINATOR" data-md-component=logo> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg> </a> The DETERMINATOR </label> <div class=md-nav__source> <a href=https://github.com/DeepCritical/GradioDemo title="Go to repository" class=md-source data-md-component=source> <div class="md-source__icon md-icon"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </div> <div class=md-source__repository> DeepCritical/GradioDemo </div> </a> </div> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=.. class=md-nav__link> <span class=md-ellipsis> Home </span> </a> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_2> <label class=md-nav__link for=__nav_2 id=__nav_2_label tabindex=0> <span class=md-ellipsis> Overview </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_2_label aria-expanded=false> <label class=md-nav__title for=__nav_2> <span class="md-nav__icon md-icon"></span> Overview </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../overview/architecture/ class=md-nav__link> <span class=md-ellipsis> Architecture Overview </span> </a> </li> <li class=md-nav__item> <a href=../overview/features/ class=md-nav__link> <span class=md-ellipsis> Features </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_3> <label class=md-nav__link for=__nav_3 id=__nav_3_label tabindex=0> <span class=md-ellipsis> Getting Started </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_3_label aria-expanded=false> <label class=md-nav__title for=__nav_3> <span class="md-nav__icon md-icon"></span> Getting Started </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../getting-started/installation/ class=md-nav__link> <span class=md-ellipsis> Installation </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/quick-start/ class=md-nav__link> <span class=md-ellipsis> Single Command Deploy </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/mcp-integration/ class=md-nav__link> <span class=md-ellipsis> MCP Integration </span> </a> </li> <li class=md-nav__item> <a href=../getting-started/examples/ class=md-nav__link> <span class=md-ellipsis> Examples </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_4> <div class="md-nav__link md-nav__container"> <a href=../configuration/ class="md-nav__link "> <span class=md-ellipsis> Configuration </span> </a> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_4_label aria-expanded=false> <label class=md-nav__title for=__nav_4> <span class="md-nav__icon md-icon"></span> Configuration </label> <ul class=md-nav__list data-md-scrollfix> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_5> <label class=md-nav__link for=__nav_5 id=__nav_5_label tabindex=0> <span class=md-ellipsis> Architecture </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_5_label aria-expanded=false> <label class=md-nav__title for=__nav_5> <span class="md-nav__icon md-icon"></span> Architecture </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../architecture/graph_orchestration/ class=md-nav__link> <span class=md-ellipsis> Graph Orchestration </span> </a> </li> <li class=md-nav__item> <a href=../architecture/workflow-diagrams/ class=md-nav__link> <span class=md-ellipsis> Workflow Diagrams </span> </a> </li> <li class=md-nav__item> <a href=../architecture/agents/ class=md-nav__link> <span class=md-ellipsis> Agents </span> </a> </li> <li class=md-nav__item> <a href=../architecture/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators </span> </a> </li> <li class=md-nav__item> <a href=../architecture/tools/ class=md-nav__link> <span class=md-ellipsis> Tools </span> </a> </li> <li class=md-nav__item> <a href=../architecture/middleware/ class=md-nav__link> <span class=md-ellipsis> Middleware </span> </a> </li> <li class=md-nav__item> <a href=../architecture/services/ class=md-nav__link> <span class=md-ellipsis> Services </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_6> <label class=md-nav__link for=__nav_6 id=__nav_6_label tabindex=0> <span class=md-ellipsis> API Reference </span> <span class="md-nav__icon md-icon"></span> </label> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_6_label aria-expanded=false> <label class=md-nav__title for=__nav_6> <span class="md-nav__icon md-icon"></span> API Reference </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../api/agents/ class=md-nav__link> <span class=md-ellipsis> Agents API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/tools/ class=md-nav__link> <span class=md-ellipsis> Tools API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/orchestrators/ class=md-nav__link> <span class=md-ellipsis> Orchestrators API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/services/ class=md-nav__link> <span class=md-ellipsis> Services API Reference </span> </a> </li> <li class=md-nav__item> <a href=../api/models/ class=md-nav__link> <span class=md-ellipsis> Models API Reference </span> </a> </li> </ul> </nav> </li> <li class="md-nav__item md-nav__item--nested"> <input class="md-nav__toggle md-toggle md-toggle--indeterminate" type=checkbox id=__nav_7> <div class="md-nav__link md-nav__container"> <a href=../contributing/ class="md-nav__link "> <span class=md-ellipsis> Contributing </span> </a> <label class="md-nav__link " for=__nav_7 id=__nav_7_label tabindex=0> <span class="md-nav__icon md-icon"></span> </label> </div> <nav class=md-nav data-md-level=1 aria-labelledby=__nav_7_label aria-expanded=false> <label class=md-nav__title for=__nav_7> <span class="md-nav__icon md-icon"></span> Contributing </label> <ul class=md-nav__list data-md-scrollfix> <li class=md-nav__item> <a href=../contributing/code-quality/ class=md-nav__link> <span class=md-ellipsis> Code Quality & Documentation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/code-style/ class=md-nav__link> <span class=md-ellipsis> Code Style & Conventions </span> </a> </li> <li class=md-nav__item> <a href=../contributing/error-handling/ class=md-nav__link> <span class=md-ellipsis> Error Handling & Logging </span> </a> </li> <li class=md-nav__item> <a href=../contributing/implementation-patterns/ class=md-nav__link> <span class=md-ellipsis> Implementation Patterns </span> </a> </li> <li class=md-nav__item> <a href=../contributing/prompt-engineering/ class=md-nav__link> <span class=md-ellipsis> Prompt Engineering & Citation Validation </span> </a> </li> <li class=md-nav__item> <a href=../contributing/testing/ class=md-nav__link> <span class=md-ellipsis> Testing Requirements </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=../LICENSE/ class=md-nav__link> <span class=md-ellipsis> License </span> </a> </li> <li class="md-nav__item md-nav__item--active"> <input class="md-nav__toggle md-toggle" type=checkbox id=__toc> <label class="md-nav__link md-nav__link--active" for=__toc> <span class=md-ellipsis> Team </span> <span class="md-nav__icon md-icon"></span> </label> <a href=./ class="md-nav__link md-nav__link--active"> <span class=md-ellipsis> Team </span> </a> <nav class="md-nav md-nav--secondary" aria-label="Table of contents"> <label class=md-nav__title for=__toc> <span class="md-nav__icon md-icon"></span> Table of contents </label> <ul class=md-nav__list data-md-component=toc data-md-scrollfix> <li class=md-nav__item> <a href=#team-members class=md-nav__link> <span class=md-ellipsis> Team Members </span> </a> <nav class=md-nav aria-label="Team Members"> <ul class=md-nav__list> <li class=md-nav__item> <a href=#zj class=md-nav__link> <span class=md-ellipsis> ZJ </span> </a> </li> <li class=md-nav__item> <a href=#mario-aderman class=md-nav__link> <span class=md-ellipsis> Mario Aderman </span> </a> </li> <li class=md-nav__item> <a href=#joseph-pollack class=md-nav__link> <span class=md-ellipsis> Joseph Pollack </span> </a> </li> <li class=md-nav__item> <a href=#virat-chauran class=md-nav__link> <span class=md-ellipsis> Virat Chauran </span> </a> </li> <li class=md-nav__item> <a href=#anna-bossler class=md-nav__link> <span class=md-ellipsis> Anna Bossler </span> </a> </li> </ul> </nav> </li> <li class=md-nav__item> <a href=#about class=md-nav__link> <span class=md-ellipsis> About </span> </a> </li> <li class=md-nav__item> <a href=#contributing class=md-nav__link> <span class=md-ellipsis> Contributing </span> </a> </li> <li class=md-nav__item> <a href=#links class=md-nav__link> <span class=md-ellipsis> Links </span> </a> </li> </ul> </nav> </li> </ul> </nav> </div> </div> </div> <div class=md-content data-md-component=content> <article class="md-content__inner md-typeset"> <h1 id=team>Team<a class=headerlink href=#team title="Anchor link to this section">¶</a></h1> <p>DeepCritical is developed by a team of researchers and developers working on AI-assisted research.</p> <h2 id=team-members>Team Members<a class=headerlink href=#team-members title="Anchor link to this section">¶</a></h2> <h3 id=zj>ZJ<a class=headerlink href=#zj title="Anchor link to this section">¶</a></h3> <ul> <li>💼 <a href=https://www.linkedin.com/in// >LinkedIn</a></li> </ul> <h3 id=mario-aderman>Mario Aderman<a class=headerlink href=#mario-aderman title="Anchor link to this section">¶</a></h3> <ul> <li>🤗 <a href=https://huggingface.co/SeasonalFall84>HuggingFace</a></li> <li>💼 <a href=https://www.linkedin.com/in/mario-aderman/ >LinkedIn</a></li> <li>𝕏 <a href=https://x.com/marioaderman>X</a></li> </ul> <h3 id=joseph-pollack>Joseph Pollack<a class=headerlink href=#joseph-pollack title="Anchor link to this section">¶</a></h3> <ul> <li>🤗 <a href=https://huggingface.co/Tonic>HuggingFace</a></li> <li>💼 <a href=https://www.linkedin.com/in/josephpollack/ >LinkedIn</a></li> <li>𝕏 <a href=https://x.com/josephpollack>X</a></li> </ul> <h3 id=virat-chauran>Virat Chauran<a class=headerlink href=#virat-chauran title="Anchor link to this section">¶</a></h3> <ul> <li>𝕏 <a href=https://x.com/viratzzs/ >X</a></li> <li>💼 <a href=https://www.linkedin.com/in/viratchauhan/ >LinkedIn</a></li> <li>🤗 <a href=https://huggingface.co/ViratChauhan>HuggingFace</a></li> </ul> <h3 id=anna-bossler>Anna Bossler<a class=headerlink href=#anna-bossler title="Anchor link to this section">¶</a></h3> <ul> <li>💼 <a href=https://www.linkedin.com/in/ana-bossler-07304717>LinkedIn</a></li> </ul> <h2 id=about>About<a class=headerlink href=#about title="Anchor link to this section">¶</a></h2> <p>The DeepCritical team met online in the Alzheimer's Critical Literature Review Group in the Hugging Science initiative. We're building the agent framework we want to use for AI-assisted research to turn the vast amounts of clinical data into cures.</p> <h2 id=contributing>Contributing<a class=headerlink href=#contributing title="Anchor link to this section">¶</a></h2> <p>We welcome contributions! See the <a href=../contributing/ >Contributing Guide</a> for details.</p> <h2 id=links>Links<a class=headerlink href=#links title="Anchor link to this section">¶</a></h2> <ul> <li><a href=https://github.com/DeepCritical/GradioDemo>GitHub Repository</a></li> <li><a href=https://huggingface.co/spaces/DataQuests/DeepCritical>HuggingFace Space</a></li> </ul> <aside class=md-source-file> <span class=md-source-file__fact> <span class=md-icon title="Last update"> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M21 13.1c-.1 0-.3.1-.4.2l-1 1 2.1 2.1 1-1c.2-.2.2-.6 0-.8l-1.3-1.3c-.1-.1-.2-.2-.4-.2m-1.9 1.8-6.1 6V23h2.1l6.1-6.1zM12.5 7v5.2l4 2.4-1 1L11 13V7zM11 21.9c-5.1-.5-9-4.8-9-9.9C2 6.5 6.5 2 12 2c5.3 0 9.6 4.1 10 9.3-.3-.1-.6-.2-1-.2s-.7.1-1 .2C19.6 7.2 16.2 4 12 4c-4.4 0-8 3.6-8 8 0 4.1 3.1 7.5 7.1 7.9l-.1.2z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="December 1, 2025 16:59:59 UTC"><span class=timeago datetime=2025-12-01T16:59:59+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="December 1, 2025 16:59:59 UTC">2025-12-01</span> </span> <span class=md-source-file__fact> <span class=md-icon title=Created> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M14.47 15.08 11 13V7h1.5v5.25l3.08 1.83c-.41.28-.79.62-1.11 1m-1.39 4.84c-.36.05-.71.08-1.08.08-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8c0 .37-.03.72-.08 1.08.69.1 1.33.32 1.92.64.1-.56.16-1.13.16-1.72 0-5.5-4.5-10-10-10S2 6.5 2 12s4.47 10 10 10c.59 0 1.16-.06 1.72-.16-.32-.59-.54-1.23-.64-1.92M18 15v3h-3v2h3v3h2v-3h3v-2h-3v-3z"/></svg> </span> <span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-timeago" title="November 29, 2025 21:40:26 UTC"><span class=timeago datetime=2025-11-29T21:40:26+00:00 locale=en></span></span><span class="git-revision-date-localized-plugin git-revision-date-localized-plugin-iso_date" title="November 29, 2025 21:40:26 UTC">2025-11-29</span> </span> </aside> </article> </div> <script>var tabs=__md_get("__tabs");if(Array.isArray(tabs))e:for(var set of document.querySelectorAll(".tabbed-set")){var labels=set.querySelector(".tabbed-labels");for(var tab of tabs)for(var label of labels.getElementsByTagName("label"))if(label.innerText.trim()===tab){var input=document.getElementById(label.htmlFor);input.checked=!0;continue e}}</script> <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script> </div> <button type=button class="md-top md-icon" data-md-component=top hidden> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg> Back to top </button> </main> <footer class=md-footer> <div class="md-footer-meta md-typeset"> <div class="md-footer-meta__inner md-grid"> <div class=md-copyright> <div class=md-copyright__highlight> Copyright © 2024 DeepCritical Team </div> Made with <a href=https://squidfunk.github.io/mkdocs-material/ target=_blank rel=noopener> Material for MkDocs </a> </div> <div class=md-social> <a href=https://github.com/DeepCritical/GradioDemo target=_blank rel=noopener title=GitHub class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2"/></svg> </a> <a href=https://twitter.com/josephpollack target=_blank rel=noopener title=Twitter class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 512 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3"/></svg> </a> <a href=https://huggingface.co/spaces/DataQuests/DeepCritical target=_blank rel=noopener title="Live Demo" class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 24 24"><path d="M16.36 14c.08-.66.14-1.32.14-2s-.06-1.34-.14-2h3.38c.16.64.26 1.31.26 2s-.1 1.36-.26 2m-5.15 5.56c.6-1.11 1.06-2.31 1.38-3.56h2.95a8.03 8.03 0 0 1-4.33 3.56M14.34 14H9.66c-.1-.66-.16-1.32-.16-2s.06-1.35.16-2h4.68c.09.65.16 1.32.16 2s-.07 1.34-.16 2M12 19.96c-.83-1.2-1.5-2.53-1.91-3.96h3.82c-.41 1.43-1.08 2.76-1.91 3.96M8 8H5.08A7.92 7.92 0 0 1 9.4 4.44C8.8 5.55 8.35 6.75 8 8m-2.92 8H8c.35 1.25.8 2.45 1.4 3.56A8 8 0 0 1 5.08 16m-.82-2C4.1 13.36 4 12.69 4 12s.1-1.36.26-2h3.38c-.08.66-.14 1.32-.14 2s.06 1.34.14 2M12 4.03c.83 1.2 1.5 2.54 1.91 3.97h-3.82c.41-1.43 1.08-2.77 1.91-3.97M18.92 8h-2.95a15.7 15.7 0 0 0-1.38-3.56c1.84.63 3.37 1.9 4.33 3.56M12 2C6.47 2 2 6.5 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2"/></svg> </a> <a href=https://discord.gg/n8ytYeh25n target=_blank rel=noopener title=Discord class=md-social__link> <svg xmlns=http://www.w3.org/2000/svg viewbox="0 0 576 512"><!-- Font Awesome Free 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.--><path d="M492.5 69.8c-.2-.3-.4-.6-.8-.7-38.1-17.5-78.4-30-119.7-37.1-.4-.1-.8 0-1.1.1s-.6.4-.8.8c-5.5 9.9-10.5 20.2-14.9 30.6-44.6-6.8-89.9-6.8-134.4 0-4.5-10.5-9.5-20.7-15.1-30.6-.2-.3-.5-.6-.8-.8s-.7-.2-1.1-.2C162.5 39 122.2 51.5 84.1 69c-.3.1-.6.4-.8.7C7.1 183.5-13.8 294.6-3.6 404.2c0 .3.1.5.2.8s.3.4.5.6c44.4 32.9 94 58 146.8 74.2.4.1.8.1 1.1 0s.7-.4.9-.7c11.3-15.4 21.4-31.8 30-48.8.1-.2.2-.5.2-.8s0-.5-.1-.8-.2-.5-.4-.6-.4-.3-.7-.4c-15.8-6.1-31.2-13.4-45.9-21.9-.3-.2-.5-.4-.7-.6s-.3-.6-.3-.9 0-.6.2-.9.3-.5.6-.7c3.1-2.3 6.2-4.7 9.1-7.1.3-.2.6-.4.9-.4s.7 0 1 .1c96.2 43.9 200.4 43.9 295.5 0 .3-.1.7-.2 1-.2s.7.2.9.4c2.9 2.4 6 4.9 9.1 7.2.2.2.4.4.6.7s.2.6.2.9-.1.6-.3.9-.4.5-.6.6c-14.7 8.6-30 15.9-45.9 21.8-.2.1-.5.2-.7.4s-.3.4-.4.7-.1.5-.1.8.1.5.2.8c8.8 17 18.8 33.3 30 48.8.2.3.6.6.9.7s.8.1 1.1 0c52.9-16.2 102.6-41.3 147.1-74.2.2-.2.4-.4.5-.6s.2-.5.2-.8c12.3-126.8-20.5-236.9-86.9-334.5zm-302 267.7c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.4 59.2-52.8 59.2m195.4 0c-29 0-52.8-26.6-52.8-59.2s23.4-59.2 52.8-59.2c29.7 0 53.3 26.8 52.8 59.2 0 32.7-23.2 59.2-52.8 59.2"/></svg> </a> </div> </div> </div> </footer> </div> <div class=md-dialog data-md-component=dialog> <div class="md-dialog__inner md-typeset"></div> </div> <script id=__config type=application/json>{"annotate": null, "base": "..", "features": ["navigation.tabs", "navigation.sections", "navigation.expand", "navigation.top", "navigation.indexes", "navigation.instant", "navigation.tracking", "navigation.smooth", "search.suggest", "search.highlight", "content.code.annotate", "content.code.copy", "content.tabs.link", "content.tooltips", "toc.integrate"], "search": "../assets/javascripts/workers/search.7a47a382.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script> <script src=../assets/javascripts/bundle.e71a0d61.min.js></script> <script src=../js/timeago.min.js></script> <script src=../js/timeago_mkdocs_material.js></script> </body> </html>
|
uv.lock
CHANGED
|
@@ -1226,6 +1226,7 @@ dependencies = [
|
|
| 1226 |
dev = [
|
| 1227 |
{ name = "mkdocs" },
|
| 1228 |
{ name = "mkdocs-codeinclude-plugin" },
|
|
|
|
| 1229 |
{ name = "mkdocs-material" },
|
| 1230 |
{ name = "mkdocs-mermaid2-plugin" },
|
| 1231 |
{ name = "mkdocs-minify-plugin" },
|
|
@@ -1262,6 +1263,7 @@ modal = [
|
|
| 1262 |
dev = [
|
| 1263 |
{ name = "mkdocs" },
|
| 1264 |
{ name = "mkdocs-codeinclude-plugin" },
|
|
|
|
| 1265 |
{ name = "mkdocs-material" },
|
| 1266 |
{ name = "mkdocs-mermaid2-plugin" },
|
| 1267 |
{ name = "mkdocs-minify-plugin" },
|
|
@@ -1300,6 +1302,7 @@ requires-dist = [
|
|
| 1300 |
{ name = "md2pdf", specifier = ">=1.0.1" },
|
| 1301 |
{ name = "mkdocs", marker = "extra == 'dev'", specifier = ">=1.6.0" },
|
| 1302 |
{ name = "mkdocs-codeinclude-plugin", marker = "extra == 'dev'", specifier = ">=0.2.0" },
|
|
|
|
| 1303 |
{ name = "mkdocs-material", marker = "extra == 'dev'", specifier = ">=9.0.0" },
|
| 1304 |
{ name = "mkdocs-mermaid2-plugin", marker = "extra == 'dev'", specifier = ">=1.1.0" },
|
| 1305 |
{ name = "mkdocs-minify-plugin", marker = "extra == 'dev'", specifier = ">=0.8.0" },
|
|
@@ -1346,6 +1349,7 @@ provides-extras = ["dev", "magentic", "embeddings", "modal"]
|
|
| 1346 |
dev = [
|
| 1347 |
{ name = "mkdocs", specifier = ">=1.6.1" },
|
| 1348 |
{ name = "mkdocs-codeinclude-plugin", specifier = ">=0.2.1" },
|
|
|
|
| 1349 |
{ name = "mkdocs-material", specifier = ">=9.7.0" },
|
| 1350 |
{ name = "mkdocs-mermaid2-plugin", specifier = ">=1.2.3" },
|
| 1351 |
{ name = "mkdocs-minify-plugin", specifier = ">=0.8.0" },
|
|
@@ -1805,6 +1809,30 @@ wheels = [
|
|
| 1805 |
{ url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" },
|
| 1806 |
]
|
| 1807 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1808 |
[[package]]
|
| 1809 |
name = "google-auth"
|
| 1810 |
version = "2.43.0"
|
|
@@ -3235,6 +3263,21 @@ wheels = [
|
|
| 3235 |
{ url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" },
|
| 3236 |
]
|
| 3237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3238 |
[[package]]
|
| 3239 |
name = "mkdocs-material"
|
| 3240 |
version = "9.7.0"
|
|
@@ -5845,6 +5888,15 @@ wheels = [
|
|
| 5845 |
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
|
| 5846 |
]
|
| 5847 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 5848 |
[[package]]
|
| 5849 |
name = "sniffio"
|
| 5850 |
version = "1.3.1"
|
|
|
|
| 1226 |
dev = [
|
| 1227 |
{ name = "mkdocs" },
|
| 1228 |
{ name = "mkdocs-codeinclude-plugin" },
|
| 1229 |
+
{ name = "mkdocs-git-revision-date-localized-plugin" },
|
| 1230 |
{ name = "mkdocs-material" },
|
| 1231 |
{ name = "mkdocs-mermaid2-plugin" },
|
| 1232 |
{ name = "mkdocs-minify-plugin" },
|
|
|
|
| 1263 |
dev = [
|
| 1264 |
{ name = "mkdocs" },
|
| 1265 |
{ name = "mkdocs-codeinclude-plugin" },
|
| 1266 |
+
{ name = "mkdocs-git-revision-date-localized-plugin" },
|
| 1267 |
{ name = "mkdocs-material" },
|
| 1268 |
{ name = "mkdocs-mermaid2-plugin" },
|
| 1269 |
{ name = "mkdocs-minify-plugin" },
|
|
|
|
| 1302 |
{ name = "md2pdf", specifier = ">=1.0.1" },
|
| 1303 |
{ name = "mkdocs", marker = "extra == 'dev'", specifier = ">=1.6.0" },
|
| 1304 |
{ name = "mkdocs-codeinclude-plugin", marker = "extra == 'dev'", specifier = ">=0.2.0" },
|
| 1305 |
+
{ name = "mkdocs-git-revision-date-localized-plugin", marker = "extra == 'dev'", specifier = ">=1.2.0" },
|
| 1306 |
{ name = "mkdocs-material", marker = "extra == 'dev'", specifier = ">=9.0.0" },
|
| 1307 |
{ name = "mkdocs-mermaid2-plugin", marker = "extra == 'dev'", specifier = ">=1.1.0" },
|
| 1308 |
{ name = "mkdocs-minify-plugin", marker = "extra == 'dev'", specifier = ">=0.8.0" },
|
|
|
|
| 1349 |
dev = [
|
| 1350 |
{ name = "mkdocs", specifier = ">=1.6.1" },
|
| 1351 |
{ name = "mkdocs-codeinclude-plugin", specifier = ">=0.2.1" },
|
| 1352 |
+
{ name = "mkdocs-git-revision-date-localized-plugin", specifier = ">=1.2.0" },
|
| 1353 |
{ name = "mkdocs-material", specifier = ">=9.7.0" },
|
| 1354 |
{ name = "mkdocs-mermaid2-plugin", specifier = ">=1.2.3" },
|
| 1355 |
{ name = "mkdocs-minify-plugin", specifier = ">=0.8.0" },
|
|
|
|
| 1809 |
{ url = "https://files.pythonhosted.org/packages/f7/ec/67fbef5d497f86283db54c22eec6f6140243aae73265799baaaa19cd17fb/ghp_import-2.1.0-py3-none-any.whl", hash = "sha256:8337dd7b50877f163d4c0289bc1f1c7f127550241988d568c1db512c4324a619", size = 11034, upload-time = "2022-05-02T15:47:14.552Z" },
|
| 1810 |
]
|
| 1811 |
|
| 1812 |
+
[[package]]
|
| 1813 |
+
name = "gitdb"
|
| 1814 |
+
version = "4.0.12"
|
| 1815 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1816 |
+
dependencies = [
|
| 1817 |
+
{ name = "smmap" },
|
| 1818 |
+
]
|
| 1819 |
+
sdist = { url = "https://files.pythonhosted.org/packages/72/94/63b0fc47eb32792c7ba1fe1b694daec9a63620db1e313033d18140c2320a/gitdb-4.0.12.tar.gz", hash = "sha256:5ef71f855d191a3326fcfbc0d5da835f26b13fbcba60c32c21091c349ffdb571", size = 394684, upload-time = "2025-01-02T07:20:46.413Z" }
|
| 1820 |
+
wheels = [
|
| 1821 |
+
{ url = "https://files.pythonhosted.org/packages/a0/61/5c78b91c3143ed5c14207f463aecfc8f9dbb5092fb2869baf37c273b2705/gitdb-4.0.12-py3-none-any.whl", hash = "sha256:67073e15955400952c6565cc3e707c554a4eea2e428946f7a4c162fab9bd9bcf", size = 62794, upload-time = "2025-01-02T07:20:43.624Z" },
|
| 1822 |
+
]
|
| 1823 |
+
|
| 1824 |
+
[[package]]
|
| 1825 |
+
name = "gitpython"
|
| 1826 |
+
version = "3.1.45"
|
| 1827 |
+
source = { registry = "https://pypi.org/simple" }
|
| 1828 |
+
dependencies = [
|
| 1829 |
+
{ name = "gitdb" },
|
| 1830 |
+
]
|
| 1831 |
+
sdist = { url = "https://files.pythonhosted.org/packages/9a/c8/dd58967d119baab745caec2f9d853297cec1989ec1d63f677d3880632b88/gitpython-3.1.45.tar.gz", hash = "sha256:85b0ee964ceddf211c41b9f27a49086010a190fd8132a24e21f362a4b36a791c", size = 215076, upload-time = "2025-07-24T03:45:54.871Z" }
|
| 1832 |
+
wheels = [
|
| 1833 |
+
{ url = "https://files.pythonhosted.org/packages/01/61/d4b89fec821f72385526e1b9d9a3a0385dda4a72b206d28049e2c7cd39b8/gitpython-3.1.45-py3-none-any.whl", hash = "sha256:8908cb2e02fb3b93b7eb0f2827125cb699869470432cc885f019b8fd0fccff77", size = 208168, upload-time = "2025-07-24T03:45:52.517Z" },
|
| 1834 |
+
]
|
| 1835 |
+
|
| 1836 |
[[package]]
|
| 1837 |
name = "google-auth"
|
| 1838 |
version = "2.43.0"
|
|
|
|
| 3263 |
{ url = "https://files.pythonhosted.org/packages/9f/d4/029f984e8d3f3b6b726bd33cafc473b75e9e44c0f7e80a5b29abc466bdea/mkdocs_get_deps-0.2.0-py3-none-any.whl", hash = "sha256:2bf11d0b133e77a0dd036abeeb06dec8775e46efa526dc70667d8863eefc6134", size = 9521, upload-time = "2023-11-20T17:51:08.587Z" },
|
| 3264 |
]
|
| 3265 |
|
| 3266 |
+
[[package]]
|
| 3267 |
+
name = "mkdocs-git-revision-date-localized-plugin"
|
| 3268 |
+
version = "1.5.0"
|
| 3269 |
+
source = { registry = "https://pypi.org/simple" }
|
| 3270 |
+
dependencies = [
|
| 3271 |
+
{ name = "babel" },
|
| 3272 |
+
{ name = "gitpython" },
|
| 3273 |
+
{ name = "mkdocs" },
|
| 3274 |
+
{ name = "tzdata", marker = "sys_platform == 'win32'" },
|
| 3275 |
+
]
|
| 3276 |
+
sdist = { url = "https://files.pythonhosted.org/packages/0f/c5/1d3c4e6ddae6230b89d09105cb79de711655e3ebd6745f7a92efea0f5160/mkdocs_git_revision_date_localized_plugin-1.5.0.tar.gz", hash = "sha256:17345ccfdf69a1905dc96fb1070dce82d03a1eb6b0d48f958081a7589ce3c248", size = 460697, upload-time = "2025-10-31T16:11:34.44Z" }
|
| 3277 |
+
wheels = [
|
| 3278 |
+
{ url = "https://files.pythonhosted.org/packages/bc/51/fe0e3fdb16f6eed65c9459d12bae6a4e1f0bb4e2228cb037e7907b002678/mkdocs_git_revision_date_localized_plugin-1.5.0-py3-none-any.whl", hash = "sha256:933f9e35a8c135b113f21bb57610d82e9b7bcc71dd34fb06a029053c97e99656", size = 26153, upload-time = "2025-10-31T16:11:32.987Z" },
|
| 3279 |
+
]
|
| 3280 |
+
|
| 3281 |
[[package]]
|
| 3282 |
name = "mkdocs-material"
|
| 3283 |
version = "9.7.0"
|
|
|
|
| 5888 |
{ url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" },
|
| 5889 |
]
|
| 5890 |
|
| 5891 |
+
[[package]]
|
| 5892 |
+
name = "smmap"
|
| 5893 |
+
version = "5.0.2"
|
| 5894 |
+
source = { registry = "https://pypi.org/simple" }
|
| 5895 |
+
sdist = { url = "https://files.pythonhosted.org/packages/44/cd/a040c4b3119bbe532e5b0732286f805445375489fceaec1f48306068ee3b/smmap-5.0.2.tar.gz", hash = "sha256:26ea65a03958fa0c8a1c7e8c7a58fdc77221b8910f6be2131affade476898ad5", size = 22329, upload-time = "2025-01-02T07:14:40.909Z" }
|
| 5896 |
+
wheels = [
|
| 5897 |
+
{ url = "https://files.pythonhosted.org/packages/04/be/d09147ad1ec7934636ad912901c5fd7667e1c858e19d355237db0d0cd5e4/smmap-5.0.2-py3-none-any.whl", hash = "sha256:b30115f0def7d7531d22a0fb6502488d879e75b260a9db4d0819cfb25403af5e", size = 24303, upload-time = "2025-01-02T07:14:38.724Z" },
|
| 5898 |
+
]
|
| 5899 |
+
|
| 5900 |
[[package]]
|
| 5901 |
name = "sniffio"
|
| 5902 |
version = "1.3.1"
|