mirror of
https://github.com/qodo-ai/pr-agent.git
synced 2025-07-06 22:00:40 +08:00
Merge pull request #1586 from qodo-ai/tr/docs245
docs: add language configuration documentation and update changelog
This commit is contained in:
@ -53,8 +53,9 @@ PR-Agent aims to help efficiently review and handle pull requests, by providing
|
|||||||
## News and Updates
|
## News and Updates
|
||||||
|
|
||||||
### Feb 27, 2025
|
### Feb 27, 2025
|
||||||
|
- Updated the default model to `o3-mini` for all tools. You can still use the `gpt-4o` as the default model by setting the `model` parameter in the configuration file.
|
||||||
Important updates and bug fixes for Azure DevOps, see [here](https://github.com/qodo-ai/pr-agent/pull/1583)
|
- Important updates and bug fixes for Azure DevOps, see [here](https://github.com/qodo-ai/pr-agent/pull/1583)
|
||||||
|
- Added support for adjusting the [response language](https://qodo-merge-docs.qodo.ai/usage-guide/additional_configurations/#language-settings) of the PR-Agent tools.
|
||||||
|
|
||||||
### Feb 6, 2025
|
### Feb 6, 2025
|
||||||
New design for the `/improve` tool:
|
New design for the `/improve` tool:
|
||||||
|
@ -57,21 +57,22 @@ All Qodo Merge tools have a parameter called `extra_instructions`, that enables
|
|||||||
/update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..."
|
/update_changelog --pr_update_changelog.extra_instructions="Make sure to update also the version ..."
|
||||||
```
|
```
|
||||||
|
|
||||||
## Localization
|
## Language Settings
|
||||||
|
|
||||||
The default response language for Qodo Merge is **U.S. English**. However, some development teams may prefer to display information in a different language. For example, your team's workflow might improve if PR descriptions and code suggestions are set to your country's native language.
|
The default response language for Qodo Merge is **U.S. English**. However, some development teams may prefer to display information in a different language. For example, your team's workflow might improve if PR descriptions and code suggestions are set to your country's native language.
|
||||||
|
|
||||||
To configure this, set the `response_language` parameter in the configuration file. This will prompt the model to respond in the specified language. Use a **standard locale code** based on [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166) (country codes) and [ISO 639](https://en.wikipedia.org/wiki/ISO_639) (language codes) to define a language-country pair. See this [comprehensive list of locale codes](https://simplelocalize.io/data/locales/).
|
To configure this, set the `response_language` parameter in the configuration file. This will prompt the model to respond in the specified language. Use a **standard locale code** based on [ISO 3166](https://en.wikipedia.org/wiki/ISO_3166) (country codes) and [ISO 639](https://en.wikipedia.org/wiki/ISO_639) (language codes) to define a language-country pair. See this [comprehensive list of locale codes](https://simplelocalize.io/data/locales/).
|
||||||
|
|
||||||
### Example:
|
Example:
|
||||||
|
|
||||||
```yaml
|
```toml
|
||||||
response_language: "he-IL"
|
[config]
|
||||||
|
response_language: "it-IT"
|
||||||
```
|
```
|
||||||
|
|
||||||
This will set the response language globally for [describe](../tools/describe.md), [improve](../tools/improve.md), [add_docs](../tools/documentation.md), [update_changelog](../tools/update_changelog.md), [test](../tools/test.md) commands to Hebrew
|
This will set the response language globally for all the commands to Italian.
|
||||||
|
|
||||||
> **Important:** Note that only dynamic text generated by the AI model is translated to the configured language. Static text such as labels and table headers that are not part of the AI modeles response will remain in US English.
|
> **Important:** Note that only dynamic text generated by the AI model is translated to the configured language. Static text such as labels and table headers that are not part of the AI models response will remain in US English. In addition, the model you are using must have good support for the specified language.
|
||||||
|
|
||||||
## Working with large PRs
|
## Working with large PRs
|
||||||
|
|
||||||
|
@ -74,14 +74,18 @@ class PRAgent:
|
|||||||
args = update_settings_from_args(args)
|
args = update_settings_from_args(args)
|
||||||
|
|
||||||
# Append the response language in the extra instructions
|
# Append the response language in the extra instructions
|
||||||
response_language = get_settings().config.response_language
|
response_language = get_settings().config.get('response_language', 'en-us')
|
||||||
if response_language != 'en-us':
|
if response_language.lower() != 'en-us':
|
||||||
|
get_logger().info(f'User has set the response language to: {response_language}')
|
||||||
for key in get_settings():
|
for key in get_settings():
|
||||||
setting = get_settings().get(key)
|
setting = get_settings().get(key)
|
||||||
if str(type(setting)) == "<class 'dynaconf.utils.boxing.DynaBox'>":
|
if str(type(setting)) == "<class 'dynaconf.utils.boxing.DynaBox'>":
|
||||||
if hasattr(setting, 'extra_instructions'):
|
if hasattr(setting, 'extra_instructions'):
|
||||||
extra_instructions = get_settings()[key.lower()].extra_instructions
|
current_extra_instructions = setting.extra_instructions
|
||||||
get_settings()[key.lower()].extra_instructions = f"{extra_instructions} \n======\n\nLanguage preference from the user\n======\n In your reply only use the lanaguage with locale code: {response_language}"
|
if current_extra_instructions:
|
||||||
|
setting.extra_instructions = current_extra_instructions+ f"\n======\n\nIn addition, Your response MUST be written in the language corresponding to local code: {response_language}. This is crucial."
|
||||||
|
else:
|
||||||
|
setting.extra_instructions = f"Your response MUST be written in the language corresponding to locale code: '{response_language}'. This is crucial."
|
||||||
|
|
||||||
action = action.lstrip("/").lower()
|
action = action.lstrip("/").lower()
|
||||||
if action not in command2class:
|
if action not in command2class:
|
||||||
|
@ -232,7 +232,7 @@ class LiteLLMAIHandler(BaseAiHandler):
|
|||||||
|
|
||||||
# Add temperature only if model supports it
|
# Add temperature only if model supports it
|
||||||
if model not in self.no_support_temperature_models and not get_settings().config.custom_reasoning_model:
|
if model not in self.no_support_temperature_models and not get_settings().config.custom_reasoning_model:
|
||||||
get_logger().info(f"Adding temperature with value {temperature} to model {model}.")
|
# get_logger().info(f"Adding temperature with value {temperature} to model {model}.")
|
||||||
kwargs["temperature"] = temperature
|
kwargs["temperature"] = temperature
|
||||||
|
|
||||||
# Add reasoning_effort if model supports it
|
# Add reasoning_effort if model supports it
|
||||||
|
@ -1,9 +1,13 @@
|
|||||||
|
# Important: This file contains all available configuration options.
|
||||||
|
# Do not copy this entire file to your repository configuration.
|
||||||
|
# Your repository configuration should only include options you wish to override from the defaults.
|
||||||
|
|
||||||
[config]
|
[config]
|
||||||
# models
|
# models
|
||||||
model="gpt-4o-2024-11-20"
|
model="o3-mini"
|
||||||
fallback_models=["gpt-4o-2024-08-06"]
|
fallback_models=["gpt-4o-2024-11-20"]
|
||||||
#model_weak="gpt-4o-mini-2024-07-18" # optional, a weaker model to use for some easier tasks
|
#model_weak="gpt-4o-mini-2024-07-18" # optional, a weaker model to use for some easier tasks
|
||||||
response_language="en-US" # Language locales code for PR responses in ISO 3166 and ISO 639 format (e.g., "en-US", "es-ES", "he-IL", "ar-IL", "zh-CN")
|
response_language="en-US" # Language locales code for PR responses in ISO 3166 and ISO 639 format (e.g., "en-US", "it-IT", "zh-CN", ...)
|
||||||
# CLI
|
# CLI
|
||||||
git_provider="github"
|
git_provider="github"
|
||||||
publish_output=true
|
publish_output=true
|
||||||
|
Reference in New Issue
Block a user