-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into xw/stress-bash
- Loading branch information
Showing
37 changed files
with
1,757 additions
and
506 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
106 changes: 106 additions & 0 deletions
106
...i18n/fr/docusaurus-plugin-content-docs/current/usage/llms/custom-llm-configs.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
# Configurations LLM personnalisées | ||
|
||
OpenHands permet de définir plusieurs configurations LLM nommées dans votre fichier `config.toml`. Cette fonctionnalité vous permet d'utiliser différentes configurations LLM pour différents usages, comme utiliser un modèle moins coûteux pour les tâches qui ne nécessitent pas de réponses de haute qualité, ou utiliser différents modèles avec différents paramètres pour des agents spécifiques. | ||
|
||
## Comment ça fonctionne | ||
|
||
Les configurations LLM nommées sont définies dans le fichier `config.toml` en utilisant des sections qui commencent par `llm.`. Par exemple : | ||
|
||
```toml | ||
# Configuration LLM par défaut | ||
[llm] | ||
model = "gpt-4" | ||
api_key = "votre-clé-api" | ||
temperature = 0.0 | ||
|
||
# Configuration LLM personnalisée pour un modèle moins coûteux | ||
[llm.gpt3] | ||
model = "gpt-3.5-turbo" | ||
api_key = "votre-clé-api" | ||
temperature = 0.2 | ||
|
||
# Une autre configuration personnalisée avec des paramètres différents | ||
[llm.haute-creativite] | ||
model = "gpt-4" | ||
api_key = "votre-clé-api" | ||
temperature = 0.8 | ||
top_p = 0.9 | ||
``` | ||
|
||
Chaque configuration nommée hérite de tous les paramètres de la section `[llm]` par défaut et peut remplacer n'importe lequel de ces paramètres. Vous pouvez définir autant de configurations personnalisées que nécessaire. | ||
|
||
## Utilisation des configurations personnalisées | ||
|
||
### Avec les agents | ||
|
||
Vous pouvez spécifier quelle configuration LLM un agent doit utiliser en définissant le paramètre `llm_config` dans la section de configuration de l'agent : | ||
|
||
```toml | ||
[agent.RepoExplorerAgent] | ||
# Utiliser la configuration GPT-3 moins coûteuse pour cet agent | ||
llm_config = 'gpt3' | ||
|
||
[agent.CodeWriterAgent] | ||
# Utiliser la configuration haute créativité pour cet agent | ||
llm_config = 'haute-creativite' | ||
``` | ||
|
||
### Options de configuration | ||
|
||
Chaque configuration LLM nommée prend en charge toutes les mêmes options que la configuration LLM par défaut. Celles-ci incluent : | ||
|
||
- Sélection du modèle (`model`) | ||
- Configuration de l'API (`api_key`, `base_url`, etc.) | ||
- Paramètres du modèle (`temperature`, `top_p`, etc.) | ||
- Paramètres de nouvelle tentative (`num_retries`, `retry_multiplier`, etc.) | ||
- Limites de jetons (`max_input_tokens`, `max_output_tokens`) | ||
- Et toutes les autres options de configuration LLM | ||
|
||
Pour une liste complète des options disponibles, consultez la section Configuration LLM dans la documentation des [Options de configuration](../configuration-options). | ||
|
||
## Cas d'utilisation | ||
|
||
Les configurations LLM personnalisées sont particulièrement utiles dans plusieurs scénarios : | ||
|
||
- **Optimisation des coûts** : Utiliser des modèles moins coûteux pour les tâches qui ne nécessitent pas de réponses de haute qualité, comme l'exploration de dépôt ou les opérations simples sur les fichiers. | ||
- **Réglage spécifique aux tâches** : Configurer différentes valeurs de température et de top_p pour les tâches qui nécessitent différents niveaux de créativité ou de déterminisme. | ||
- **Différents fournisseurs** : Utiliser différents fournisseurs LLM ou points d'accès API pour différentes tâches. | ||
- **Tests et développement** : Basculer facilement entre différentes configurations de modèles pendant le développement et les tests. | ||
|
||
## Exemple : Optimisation des coûts | ||
|
||
Un exemple pratique d'utilisation des configurations LLM personnalisées pour optimiser les coûts : | ||
|
||
```toml | ||
# Configuration par défaut utilisant GPT-4 pour des réponses de haute qualité | ||
[llm] | ||
model = "gpt-4" | ||
api_key = "votre-clé-api" | ||
temperature = 0.0 | ||
|
||
# Configuration moins coûteuse pour l'exploration de dépôt | ||
[llm.repo-explorer] | ||
model = "gpt-3.5-turbo" | ||
temperature = 0.2 | ||
|
||
# Configuration pour la génération de code | ||
[llm.code-gen] | ||
model = "gpt-4" | ||
temperature = 0.0 | ||
max_output_tokens = 2000 | ||
|
||
[agent.RepoExplorerAgent] | ||
llm_config = 'repo-explorer' | ||
|
||
[agent.CodeWriterAgent] | ||
llm_config = 'code-gen' | ||
``` | ||
|
||
Dans cet exemple : | ||
- L'exploration de dépôt utilise un modèle moins coûteux car il s'agit principalement de comprendre et de naviguer dans le code | ||
- La génération de code utilise GPT-4 avec une limite de jetons plus élevée pour générer des blocs de code plus importants | ||
- La configuration par défaut reste disponible pour les autres tâches | ||
|
||
:::note | ||
Les configurations LLM personnalisées ne sont disponibles que lors de l'utilisation d'OpenHands en mode développement, via `main.py` ou `cli.py`. Lors de l'exécution via `docker run`, veuillez utiliser les options de configuration standard. | ||
::: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,106 @@ | ||
# Custom LLM Configurations | ||
|
||
OpenHands supports defining multiple named LLM configurations in your `config.toml` file. This feature allows you to use different LLM configurations for different purposes, such as using a cheaper model for tasks that don't require high-quality responses, or using different models with different parameters for specific agents. | ||
|
||
## How It Works | ||
|
||
Named LLM configurations are defined in the `config.toml` file using sections that start with `llm.`. For example: | ||
|
||
```toml | ||
# Default LLM configuration | ||
[llm] | ||
model = "gpt-4" | ||
api_key = "your-api-key" | ||
temperature = 0.0 | ||
|
||
# Custom LLM configuration for a cheaper model | ||
[llm.gpt3] | ||
model = "gpt-3.5-turbo" | ||
api_key = "your-api-key" | ||
temperature = 0.2 | ||
|
||
# Another custom configuration with different parameters | ||
[llm.high-creativity] | ||
model = "gpt-4" | ||
api_key = "your-api-key" | ||
temperature = 0.8 | ||
top_p = 0.9 | ||
``` | ||
|
||
Each named configuration inherits all settings from the default `[llm]` section and can override any of those settings. You can define as many custom configurations as needed. | ||
|
||
## Using Custom Configurations | ||
|
||
### With Agents | ||
|
||
You can specify which LLM configuration an agent should use by setting the `llm_config` parameter in the agent's configuration section: | ||
|
||
```toml | ||
[agent.RepoExplorerAgent] | ||
# Use the cheaper GPT-3 configuration for this agent | ||
llm_config = 'gpt3' | ||
|
||
[agent.CodeWriterAgent] | ||
# Use the high creativity configuration for this agent | ||
llm_config = 'high-creativity' | ||
``` | ||
|
||
### Configuration Options | ||
|
||
Each named LLM configuration supports all the same options as the default LLM configuration. These include: | ||
|
||
- Model selection (`model`) | ||
- API configuration (`api_key`, `base_url`, etc.) | ||
- Model parameters (`temperature`, `top_p`, etc.) | ||
- Retry settings (`num_retries`, `retry_multiplier`, etc.) | ||
- Token limits (`max_input_tokens`, `max_output_tokens`) | ||
- And all other LLM configuration options | ||
|
||
For a complete list of available options, see the LLM Configuration section in the [Configuration Options](../configuration-options) documentation. | ||
|
||
## Use Cases | ||
|
||
Custom LLM configurations are particularly useful in several scenarios: | ||
|
||
- **Cost Optimization**: Use cheaper models for tasks that don't require high-quality responses, like repository exploration or simple file operations. | ||
- **Task-Specific Tuning**: Configure different temperature and top_p values for tasks that require different levels of creativity or determinism. | ||
- **Different Providers**: Use different LLM providers or API endpoints for different tasks. | ||
- **Testing and Development**: Easily switch between different model configurations during development and testing. | ||
|
||
## Example: Cost Optimization | ||
|
||
A practical example of using custom LLM configurations to optimize costs: | ||
|
||
```toml | ||
# Default configuration using GPT-4 for high-quality responses | ||
[llm] | ||
model = "gpt-4" | ||
api_key = "your-api-key" | ||
temperature = 0.0 | ||
|
||
# Cheaper configuration for repository exploration | ||
[llm.repo-explorer] | ||
model = "gpt-3.5-turbo" | ||
temperature = 0.2 | ||
|
||
# Configuration for code generation | ||
[llm.code-gen] | ||
model = "gpt-4" | ||
temperature = 0.0 | ||
max_output_tokens = 2000 | ||
|
||
[agent.RepoExplorerAgent] | ||
llm_config = 'repo-explorer' | ||
|
||
[agent.CodeWriterAgent] | ||
llm_config = 'code-gen' | ||
``` | ||
|
||
In this example: | ||
- Repository exploration uses a cheaper model since it mainly involves understanding and navigating code | ||
- Code generation uses GPT-4 with a higher token limit for generating larger code blocks | ||
- The default configuration remains available for other tasks | ||
|
||
:::note | ||
Custom LLM configurations are only available when using OpenHands in development mode, via `main.py` or `cli.py`. When running via `docker run`, please use the standard configuration options. | ||
::: |
Oops, something went wrong.