
Fichiers de configuration
GenAIScript prend en charge les fichiers de configuration locaux et globaux pour permettre la réutilisation des paramètres de configuration courants et des secrets entre plusieurs scripts.
Résolution des fichiers .env
Section intitulée « Résolution des fichiers .env »GenAIScript va scanner et charger les fichiers .env
suivants dans l’ordre suivant :
- Propriété
envFile
dans les fichiers de configuration (voir ci-dessous) - Variable d’environnement
GENAISCRIPT_ENV_FILE
- Options de ligne de commande
--env
genaiscript run ... --env ./.env.debug --env ~/.env.dev
Si aucune des options ci-dessus n’est définie, il essaiera de charger les fichiers suivants :
~/.env
./.env
./.env.genaiscript
Résolution des fichiers de configuration
Section intitulée « Résolution des fichiers de configuration »GenAIScript va scanner les fichiers de configuration suivants et fusionner leur contenu dans la configuration finale.
~/genaiscript.config.yaml
~/genaiscript.config.json
./genaiscript.config.yaml
./genaiscript.config.json
Les fichiers JSON supportent le format JSON5 (y compris les commentaires, les virgules finales, etc.).
Le schéma de configuration est disponible à l’adresse https://microsoft.github.io/genaiscript/schemas/config.json.
{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "GenAIScript Configuration", "type": "object", "description": "Schema for GenAIScript configuration file", "properties": { "envFile": { "oneOf": [ { "type": "string", "description": "Path to a .env file to load environment variables from" }, { "type": "array", "items": { "type": "string", "description": "Path to a .env file to load environment variables from" }, "description": "List of .env files" } ] }, "include": { "description": "List of files to include in the project", "type": "array", "items": { "type": "string", "description": "Path to a file or a glob pattern to include in the project" } }, "modelEncodings": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_:]+$": { "type": "string", "description": "Encoding identifier", "enum": [ "o1", "gpt-4o", "gpt-3.5-turbo", "text-davinci-003", "o200k_base", "cl100k_base", "p50k_base", "r50k_base" ] } }, "additionalProperties": true, "description": "Equivalent encoders for model identifiers" }, "modelAliases": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_]+$": { "oneOf": [ { "type": "string", "description": "Model identifier (provider:model:tag)" }, { "type": "object", "properties": { "model": { "type": "string", "description": "Model identifier (provider:model:tag)" }, "temperature": { "type": "number", "description": "Temperature to use for the model" } }, "required": [ "model" ] } ] } }, "additionalProperties": true, "description": "Aliases for model identifiers (name)" }, "secretPatterns": { "type": "object", "patternProperties": { "^[a-zA-Z0-9_:\\-\\. ]+$": { "type": [ "string", "null" ], "description": "Secret regex" } }, "additionalProperties": true, "description": "Secret scanners to use for scanning chat messages" } }}
Propriété envFile
Section intitulée « Propriété envFile »L’emplacement final de envFile
sera utilisé pour charger le secret dans les variables d’environnement. Elle supporte un seul fichier.
Propriété include
Section intitulée « Propriété include »La propriété include
vous permet de fournir des chemins globaux pour inclure davantage de scripts.
Combinée à un fichier de configuration global, cela permet de partager des scripts entre plusieurs projets.
include: - "globalpath/*.genai.mjs"
Propriété modelAliases
Section intitulée « Propriété modelAliases »La propriété modelAliases
vous permet de définir des alias pour les noms de modèles.
{ "modelAliases": { "llama32": "ollama:llama3.2:1b", "llama32hot": { "model": "ollama:llama3.2:1b", "temperature": 2 } }}
Propriété modelEncodings
Section intitulée « Propriété modelEncodings »La propriété modelEncodings
vous permet de définir l’encodage pour le modèle.
{ "modelEncodings": { "azure:gpt__4o_random_name": "gpt-4o" }}
Débogage
Section intitulée « Débogage »Activez la catégorie de débogage config
pour voir des informations supplémentaires sur la résolution de la configuration.
Vous pouvez également activer d’autres catégories de débogage pour obtenir des journaux plus détaillés.
DEBUG=config genaiscript run ...