diff --git a/docs/api-docs/api-calling-base.md b/docs/api-docs/api-calling-base.md new file mode 100644 index 00000000..677b15e4 --- /dev/null +++ b/docs/api-docs/api-calling-base.md @@ -0,0 +1,12 @@ +# API Calling: Base Classes + +We provide base classes for the API Agent implementation to align individual +modules. + +## Abstract base classes + +::: biochatter.api_agent.base.agent_abc + +## The API Agent + +::: biochatter.api_agent.base.api_agent diff --git a/docs/api-docs/api-calling-python.md b/docs/api-docs/api-calling-python.md new file mode 100644 index 00000000..3ff3a7d6 --- /dev/null +++ b/docs/api-docs/api-calling-python.md @@ -0,0 +1,41 @@ +# API Calling: Python APIs + +API calling for large Python APIs is currently experimental. In particular, we +observe a decrease in stability with increasing number of total parameters +offered to the LLM. Due to this limitation, we recommend benchmarking the +stability of the calls using our benchmarking framework. If you're interested in +the performance of a specific API / LLM combination, don't hesitate to get in +touch. + +## Generic Python API ingestion + +Using Pydantic parsing, we autogenerate API descriptions for tool bindings. +While this allows better scaling (given suitable structure of the ingested code, +particularly with respect to the docstrings), it offers less control than the +manual implementation of API descriptions. For instance, it is much harder to +reduce the set of parameters to the essentials. + +::: biochatter.api_agent.python.generic_agent + +::: biochatter.api_agent.python.autogenerate_model + +## Scanpy modules + +We manually define the API descriptions for select Scanpy modules. + +::: biochatter.api_agent.python.anndata_agent + +::: biochatter.api_agent.python.scanpy_pl_full + +::: biochatter.api_agent.python.scanpy_pp_full + +::: biochatter.api_agent.python.scanpy_pl_reduced + +::: biochatter.api_agent.python.scanpy_pp_reduced + +# API Calling: Utility functions + +## Formatters to parse the calls + +::: biochatter.api_agent.base.formatters + diff --git a/docs/api-docs/api-calling-web.md b/docs/api-docs/api-calling-web.md new file mode 100644 index 00000000..56712f69 --- /dev/null +++ b/docs/api-docs/api-calling-web.md @@ -0,0 +1,13 @@ +# API Calling: Web APIs + +## BLAST + +::: biochatter.api_agent.web.blast + +## OncoKB + +::: biochatter.api_agent.web.oncokb + +## bio.tools + +::: biochatter.api_agent.web.bio_tools diff --git a/docs/api-docs/api-calling.md b/docs/api-docs/api-calling.md deleted file mode 100644 index a7893899..00000000 --- a/docs/api-docs/api-calling.md +++ /dev/null @@ -1,55 +0,0 @@ -# API Agent Reference - -Here we handle the connection to external software tools via the -parameterisation of API calls by the LLM. - -## Base classes - -### The abstract base classes - -::: biochatter.api_agent.base.agent_abc - -### The API Agent - -::: biochatter.api_agent.base.api_agent - -## Web APIs - -### The BLAST tool - -::: biochatter.api_agent.web.blast - -### The OncoKB tool - -::: biochatter.api_agent.web.oncokb - -### The bio.tools API - -::: biochatter.api_agent.web.bio_tools - -## Python APIs - -### Generic Python API ingestion - -::: biochatter.api_agent.python.generic_agent - -::: biochatter.api_agent.python.autogenerate_model - -### Scanpy modules - -::: biochatter.api_agent.python.anndata_agent - -::: biochatter.api_agent.python.scanpy_pl_full - -::: biochatter.api_agent.python.scanpy_pp_full - -::: biochatter.api_agent.python.scanpy_pl_reduced - -::: biochatter.api_agent.python.scanpy_pp_reduced - -## Utility functions - -### Formatters to parse the calls - -::: biochatter.api_agent.base.formatters - diff --git a/docs/images/boxplot-medical-exam-domain.png b/docs/images/boxplot-medical-exam-domain.png index 1cdea88f..dfba9768 100644 Binary files a/docs/images/boxplot-medical-exam-domain.png and b/docs/images/boxplot-medical-exam-domain.png differ diff --git a/docs/images/boxplot-medical-exam-language-domain.png b/docs/images/boxplot-medical-exam-language-domain.png index 717afa5d..e522432f 100644 Binary files a/docs/images/boxplot-medical-exam-language-domain.png and b/docs/images/boxplot-medical-exam-language-domain.png differ diff --git a/docs/images/boxplot-medical-exam-language.png b/docs/images/boxplot-medical-exam-language.png index 0d69ad3e..ed3fdc69 100644 Binary files a/docs/images/boxplot-medical-exam-language.png and b/docs/images/boxplot-medical-exam-language.png differ diff --git a/docs/images/boxplot-medical-exam-task.png b/docs/images/boxplot-medical-exam-task.png index cf69c283..0d9a8c50 100644 Binary files a/docs/images/boxplot-medical-exam-task.png and b/docs/images/boxplot-medical-exam-task.png differ diff --git a/docs/images/boxplot-naive-vs-biochatter.pdf b/docs/images/boxplot-naive-vs-biochatter.pdf index cc10bd70..473f4240 100644 Binary files a/docs/images/boxplot-naive-vs-biochatter.pdf and b/docs/images/boxplot-naive-vs-biochatter.pdf differ diff --git a/docs/images/boxplot-naive-vs-biochatter.png b/docs/images/boxplot-naive-vs-biochatter.png index 080a5176..6ea95718 100644 Binary files a/docs/images/boxplot-naive-vs-biochatter.png and b/docs/images/boxplot-naive-vs-biochatter.png differ diff --git a/docs/images/boxplot-per-quantisation.png b/docs/images/boxplot-per-quantisation.png index fc2dab66..515e58e5 100644 Binary files a/docs/images/boxplot-per-quantisation.png and b/docs/images/boxplot-per-quantisation.png differ diff --git a/docs/images/boxplot-tasks.png b/docs/images/boxplot-tasks.png index d45d81a8..56d60cc5 100644 Binary files a/docs/images/boxplot-tasks.png and b/docs/images/boxplot-tasks.png differ diff --git a/docs/images/boxplot-text2cypher.png b/docs/images/boxplot-text2cypher.png index 8b4149ee..2622c69a 100644 Binary files a/docs/images/boxplot-text2cypher.png and b/docs/images/boxplot-text2cypher.png differ diff --git a/docs/images/dotplot-per-task.pdf b/docs/images/dotplot-per-task.pdf index 2880a1dc..c94f794d 100644 Binary files a/docs/images/dotplot-per-task.pdf and b/docs/images/dotplot-per-task.pdf differ diff --git a/docs/images/dotplot-per-task.png b/docs/images/dotplot-per-task.png index 9a6d7a46..26fc9f8c 100644 Binary files a/docs/images/dotplot-per-task.png and b/docs/images/dotplot-per-task.png differ diff --git a/docs/images/histogram-image-caption-confidence.png b/docs/images/histogram-image-caption-confidence.png index 32f4645c..f932d347 100644 Binary files a/docs/images/histogram-image-caption-confidence.png and b/docs/images/histogram-image-caption-confidence.png differ diff --git a/docs/images/scatter-naive-vs-biochatter.pdf b/docs/images/scatter-naive-vs-biochatter.pdf index 4bca47c7..9a981174 100644 Binary files a/docs/images/scatter-naive-vs-biochatter.pdf and b/docs/images/scatter-naive-vs-biochatter.pdf differ diff --git a/docs/images/scatter-naive-vs-biochatter.png b/docs/images/scatter-naive-vs-biochatter.png index 221abf26..745504e7 100644 Binary files a/docs/images/scatter-naive-vs-biochatter.png and b/docs/images/scatter-naive-vs-biochatter.png differ diff --git a/docs/images/scatter-per-quantisation-name.pdf b/docs/images/scatter-per-quantisation-name.pdf index e4a5f4dc..c0bb1d9a 100644 Binary files a/docs/images/scatter-per-quantisation-name.pdf and b/docs/images/scatter-per-quantisation-name.pdf differ diff --git a/docs/images/scatter-per-quantisation-name.png b/docs/images/scatter-per-quantisation-name.png index bafe5710..259864a2 100644 Binary files a/docs/images/scatter-per-quantisation-name.png and b/docs/images/scatter-per-quantisation-name.png differ diff --git a/docs/images/scatter-quantisation-accuracy.pdf b/docs/images/scatter-quantisation-accuracy.pdf index 37563f3b..3b16a408 100644 Binary files a/docs/images/scatter-quantisation-accuracy.pdf and b/docs/images/scatter-quantisation-accuracy.pdf differ diff --git a/docs/images/scatter-quantisation-accuracy.png b/docs/images/scatter-quantisation-accuracy.png index 362f61b5..a976e8cb 100644 Binary files a/docs/images/scatter-quantisation-accuracy.png and b/docs/images/scatter-quantisation-accuracy.png differ diff --git a/docs/images/scatter-size-accuracy.pdf b/docs/images/scatter-size-accuracy.pdf index b095339f..a8b5a7a2 100644 Binary files a/docs/images/scatter-size-accuracy.pdf and b/docs/images/scatter-size-accuracy.pdf differ diff --git a/docs/images/scatter-size-accuracy.png b/docs/images/scatter-size-accuracy.png index 6e4c6753..bb41606a 100644 Binary files a/docs/images/scatter-size-accuracy.png and b/docs/images/scatter-size-accuracy.png differ diff --git a/docs/images/stripplot-extraction-tasks.png b/docs/images/stripplot-extraction-tasks.png index 89f122d1..79993548 100644 Binary files a/docs/images/stripplot-extraction-tasks.png and b/docs/images/stripplot-extraction-tasks.png differ diff --git a/docs/images/stripplot-per-model.png b/docs/images/stripplot-per-model.png index a8917341..7f007b92 100644 Binary files a/docs/images/stripplot-per-model.png and b/docs/images/stripplot-per-model.png differ diff --git a/docs/images/stripplot-rag-tasks.pdf b/docs/images/stripplot-rag-tasks.pdf index c1103aff..375d830b 100644 Binary files a/docs/images/stripplot-rag-tasks.pdf and b/docs/images/stripplot-rag-tasks.pdf differ diff --git a/docs/images/stripplot-rag-tasks.png b/docs/images/stripplot-rag-tasks.png index c0a25254..773cc82b 100644 Binary files a/docs/images/stripplot-rag-tasks.png and b/docs/images/stripplot-rag-tasks.png differ diff --git a/docs/images/stripplot-text2cypher-safety.png b/docs/images/stripplot-text2cypher-safety.png index 3c77ef18..4b583b98 100644 Binary files a/docs/images/stripplot-text2cypher-safety.png and b/docs/images/stripplot-text2cypher-safety.png differ diff --git a/docs/images/violin-naive-vs-biochatter.pdf b/docs/images/violin-naive-vs-biochatter.pdf index 181f00b7..30e0ff8d 100644 Binary files a/docs/images/violin-naive-vs-biochatter.pdf and b/docs/images/violin-naive-vs-biochatter.pdf differ diff --git a/docs/images/violin-naive-vs-biochatter.png b/docs/images/violin-naive-vs-biochatter.png index 24ae3e83..c9b0ce39 100644 Binary files a/docs/images/violin-naive-vs-biochatter.png and b/docs/images/violin-naive-vs-biochatter.png differ diff --git a/mkdocs.yml b/mkdocs.yml index 712d356f..30d4058b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -33,7 +33,7 @@ theme: - search.highlight - navigation.instant - navigation.tabs - - navigation.sections + - toc.integrate icon: repo: fontawesome/brands/github @@ -42,6 +42,10 @@ plugins: - search - mkdocstrings: default_handler: python + handlers: + python: + options: + heading_level: 3 - table-reader - social - redirects: @@ -97,7 +101,9 @@ nav: - LLM Connectivity: api-docs/llm_connect.md - Vectorstore Agent: api-docs/vectorstore.md - Knowledge Graph Agent: api-docs/kg.md - - API Agent: api-docs/api-calling.md + - "API Calling: Base Classes": api-docs/api-calling-base.md + - "API Calling: Web APIs": api-docs/api-calling-web.md + - "API Calling: Python APIs": api-docs/api-calling-python.md - Reflexion Agent: api-docs/reflexion.md - Podcast: api-docs/podcast.md @@ -130,6 +136,8 @@ markdown_extensions: - md_in_html - admonition - pymdownx.details + - toc: + toc_depth: 3 extra_javascript: - https://unpkg.com/tablesort@5.3.0/dist/tablesort.min.js