Aller au contenu
An 8-bit style illustration features four colored squares stacked to represent different types of files such as .env and config files. Each square shows a unique icon: a keyhole for secrets, a spark for scripts, a gear for configuration, and a chain link for include files. Above the stack, a swirling line connects them, suggesting the merging or combining of these files. The design is simple, minimal, uses five flat colors, and has no people or background elements.

Fichiers de configuration

AI generated translation.

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.

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
Fenêtre de terminal
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

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"
}
}
}

L’emplacement final de envFile sera utilisé pour charger le secret dans les variables d’environnement. Elle supporte un seul fichier.

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.

genaiscript.config.yaml
include:
- "globalpath/*.genai.mjs"

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
}
}
}

La propriété modelEncodings vous permet de définir l’encodage pour le modèle.

{
"modelEncodings": {
"azure:gpt__4o_random_name": "gpt-4o"
}
}

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.

Fenêtre de terminal
DEBUG=config genaiscript run ...