diff --git a/docs/docs/core-abilities/rag_context_enrichment.md b/docs/docs/core-abilities/rag_context_enrichment.md index a6ba038f..ed8a1970 100644 --- a/docs/docs/core-abilities/rag_context_enrichment.md +++ b/docs/docs/core-abilities/rag_context_enrichment.md @@ -1,6 +1,6 @@ # RAG Context Enrichment 💎 -`Supported Git Platforms: GitHub` +`Supported Git Platforms: GitHub, Bitbucket Data Center` !!! info "Prerequisites" - RAG is available only for Qodo enterprise plan users, with single tenant or on-premises setup. @@ -42,26 +42,25 @@ enable_rag=true ### Applications -#### 1\. The `/review` Tool +The following represents the complete list of tools with RAG capability: -The [`/review`](https://qodo-merge-docs.qodo.ai/tools/review/) tool offers the _Focus area from RAG data_ which contains feedback based on the RAG references analysis. -The complete list of references found relevant to the PR will be shown in the _References_ section, helping developers understand the broader context by exploring the provided references. +=== "`/review`" + The [`/review`](https://qodo-merge-docs.qodo.ai/tools/review/) tool offers the _Focus area from RAG data_ which contains feedback based on the RAG references analysis. + The complete list of references found relevant to the PR will be shown in the _References_ section, helping developers understand the broader context by exploring the provided references. -![References](https://codium.ai/images/pr_agent/rag_review.png){width=640} + ![RAGed review tool](https://codium.ai/images/pr_agent/rag_review.png){width=640} -#### 2\. The `/implement` Tool +=== "`/implement`" + The [`/implement`](https://qodo-merge-docs.qodo.ai/tools/implement/) tool utilizes the RAG feature to provide comprehensive context of the repository codebase, allowing it to generate more refined code output. + The _References_ section contains links to the content used to support the code generation. -The [`/implement`](https://qodo-merge-docs.qodo.ai/tools/implement/) tool utilizes the RAG feature to provide comprehensive context of the repository codebase, allowing it to generate more refined code output. -The _References_ section contains links to the content used to support the code generation. + ![RAGed implement tool](https://codium.ai/images/pr_agent/rag_implement.png){width=640} -![References](https://codium.ai/images/pr_agent/rag_implement.png){width=640} +=== "`/ask`" + The [`/ask`](https://qodo-merge-docs.qodo.ai/tools/ask/) tool can access broader repository context through the RAG feature when answering questions that go beyond the PR scope alone. + The _References_ section displays the additional repository content consulted to formulate the answer. -#### 3\. The `/ask` Tool - -The [`/ask`](https://qodo-merge-docs.qodo.ai/tools/ask/) tool can access broader repository context through the RAG feature when answering questions that go beyond the PR scope alone. -The _References_ section displays the additional repository content consulted to formulate the answer. - -![References](https://codium.ai/images/pr_agent/rag_ask.png){width=640} + ![RAGed ask tool](https://codium.ai/images/pr_agent/rag_ask.png){width=640} ## Limitations diff --git a/docs/docs/tools/improve.md b/docs/docs/tools/improve.md index 726f5462..c787f420 100644 --- a/docs/docs/tools/improve.md +++ b/docs/docs/tools/improve.md @@ -267,14 +267,35 @@ In such cases, we recommend prioritizing the suggestion's detailed description, > `💎 feature` Platforms supported: GitHub, GitLab -If you set the following in your configuration file: +Qodo Merge implements an orchestrator agent that enables interactive code discussions, listening and responding to comments without requiring explicit tool calls. +The orchestrator intelligently analyzes your responses to determine if you want to implement a suggestion, ask a question, or request help, then delegates to the appropriate specialized tool. + +#### How it works + +Enable interactive code discussions by adding the following to your configuration file (default is `True`): ```toml [pr_code_suggestions] enable_chat_in_code_suggestions = true ``` -The Qodo Merge bot will automatically listen and respond to comments within code suggestion discussions that it has initiated, without requiring explicit tool calls. +!!! info "Activating Dynamic Responses" + To obtain dynamic responses, the following steps are required: + + 1. Run the `/improve` command (mostly automatic) + 2. Tick the `/improve` recommendation checkboxes (_Apply this suggestion_) to have Qodo Merge generate a new inline code suggestion discussion + 3. The orchestrator agent will then automatically listen and reply to comments within the discussion without requiring additional commands + +#### Explore the available interaction patterns: + +=== "Asking for Details" + ![Chat on code suggestions ask](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_ask.png){width=512} + +=== "Implementing Suggestions" + ![Chat on code suggestions implement](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_implement.png){width=512} + +=== "Providing Additional Help" + ![Chat on code suggestions help](https://codium.ai/images/pr_agent/improve_chat_on_code_suggestions_help.png){width=512} ### Dual publishing mode diff --git a/docs/docs/usage-guide/changing_a_model.md b/docs/docs/usage-guide/changing_a_model.md index 76a67d29..a60076b5 100644 --- a/docs/docs/usage-guide/changing_a_model.md +++ b/docs/docs/usage-guide/changing_a_model.md @@ -172,8 +172,8 @@ To use [Google AI Studio](https://aistudio.google.com/) models, set the relevant ```toml [config] # in configuration.toml -model="google_ai_studio/gemini-1.5-flash" -fallback_models=["google_ai_studio/gemini-1.5-flash"] +model="gemini/gemini-1.5-flash" +fallback_models=["gemini/gemini-1.5-flash"] [google_ai_studio] # in .secrets.toml gemini_api_key = "..." diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 7b9c967b..cc1b02f1 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -149,6 +149,8 @@ markdown_extensions: - pymdownx.emoji: emoji_index: !!python/name:material.extensions.emoji.twemoji emoji_generator: !!python/name:material.extensions.emoji.to_svg + - pymdownx.tabbed: + alternate_style: true - toc: title: On this page toc_depth: 3 diff --git a/pr_agent/git_providers/git_provider.py b/pr_agent/git_providers/git_provider.py index 127fa41e..2895bd55 100644 --- a/pr_agent/git_providers/git_provider.py +++ b/pr_agent/git_providers/git_provider.py @@ -133,7 +133,7 @@ class GitProvider(ABC): def reply_to_comment_from_comment_id(self, comment_id: int, body: str): pass - def get_pr_description(self, full: bool = True, split_changes_walkthrough=False) -> str or tuple: + def get_pr_description(self, full: bool = True, split_changes_walkthrough=False) -> str | tuple: from pr_agent.algo.utils import clip_tokens from pr_agent.config_loader import get_settings max_tokens_description = get_settings().get("CONFIG.MAX_DESCRIPTION_TOKENS", None) @@ -285,7 +285,7 @@ class GitProvider(ABC): def get_comment_url(self, comment) -> str: return "" - + def get_review_thread_comments(self, comment_id: int) -> list[dict]: pass