Aperçu
Vous devez configurer la connexion LLM et les secrets d’autorisation. Vous pouvez utiliser des modèles distants (comme OpenAI, Azure, etc.) et locaux (comme Ollama, Jan, LMStudio, etc.) avec GenAIScript.
Sélection du modèle
Section intitulée « Sélection du modèle »Le modèle utilisé par le script est configuré via le champ model
dans la fonction script
.
Le nom du modèle est formaté en provider:model-name
, où provider
est le fournisseur du LLM
et model-name
est spécifique au fournisseur.
script({ model: "openai:gpt-4o",});
Modèles large, small, vision
Section intitulée « Modèles large, small, vision »Vous pouvez également utiliser les alias de modèle small
, large
, vision
pour utiliser les modèles petits, grands et activés pour la vision configurés par défaut.
Les modèles larges correspondent généralement à la gamme de raisonnement gpt-4 d’OpenAI et peuvent être utilisés pour des tâches plus complexes.
Les petits modèles sont dans la gamme gpt-4o-mini d’OpenAI, et sont utiles pour des tâches rapides et simples.
script({ model: "small" });
script({ model: "large" });
Les alias de modèles peuvent aussi être remplacés via la commande cli run, les variables d’environnement ou un fichier de configuration. En savoir plus sur les alias de modèles.
genaiscript run ... --model large_model_id --small-model small_model_id
ou en ajoutant les variables d’environnement GENAISCRIPT_MODEL_LARGE
et GENAISCRIPT_MODEL_SMALL
.
GENAISCRIPT_MODEL_LARGE="azure_serverless:..."GENAISCRIPT_MODEL_SMALL="azure_serverless:..."GENAISCRIPT_MODEL_VISION="azure_serverless:..."
Vous pouvez aussi configurer les alias par défaut pour un fournisseur LLM donné en utilisant l’argument provider
.
Les valeurs par défaut sont documentées sur cette page et affichées dans la sortie console.
script({ provider: "openai" });
genaiscript run ... --provider openai
Alias de modèles
Section intitulée « Alias de modèles »En fait, vous pouvez définir n’importe quel alias pour votre modèle (seuls les caractères alphanumériques sont autorisés)
via des variables d’environnement nommées GENAISCRIPT_MODEL_ALIAS
où ALIAS
est l’alias que vous souhaitez utiliser.
GENAISCRIPT_MODEL_TINY=...
Les alias de modèles sont systématiquement mis en minuscules lors de leur utilisation dans le script.
script({ model: "tiny" });
Fichier .env
et fichier .env.genaiscript
Section intitulée « Fichier .env et fichier .env.genaiscript »GenAIScript utilise un fichier .env
(et .env.genaiscript
) pour charger les secrets et informations de configuration dans les variables d’environnement du processus.
GenAIScript peut charger plusieurs fichiers .env
pour configurer l’environnement.
Créez ou mettez à jour un fichier
.gitignore
à la racine de votre projet et assurez-vous qu’il inclut.env
. Cela garantit que vous ne commettez pas accidentellement vos secrets dans votre gestionnaire de version..gitignore ....env.env.genaiscriptCréez un fichier
.env
à la racine de votre projet.- .gitignore
- .env
Mettez à jour le fichier
.env
avec les informations de configuration (voir ci-dessous).
Emplacement personnalisé du fichier .env
Section intitulée « Emplacement personnalisé du fichier .env »Vous pouvez spécifier un emplacement personnalisé pour le fichier .env
via la CLI ou une variable d’environnement.
-
GenAIScript charge par défaut les fichiers
.env
suivants dans cet ordre :~/.env.genaiscript
./.env.genaiscript
./.env
-
en ajoutant l’argument
--env <...files>
à la CLI. Chaque fichier.env
est importé dans l’ordre et peut écraser les valeurs précédentes.
npx genaiscript ... --env .env .env.debug
- en définissant la variable d’environnement
GENAISCRIPT_ENV_FILE
.
GENAISCRIPT_ENV_FILE=".env.local" npx genaiscript ...
- en spécifiant l’emplacement du fichier
.env
dans un fichier de configuration.
{ "$schema": "https://microsoft.github.io/genaiscript/schemas/config.json", "envFile": [".env.local", ".env.another"]}
Pas de fichier .env
Section intitulée « Pas de fichier .env »Si vous ne souhaitez pas utiliser de fichier .env
, assurez-vous de remplir les variables d’environnement
du processus genaiscript avec les valeurs de configuration.
Voici quelques exemples courants :
- Utilisation de la syntaxe bash
OPENAI_API_KEY="value" npx --yes genaiscript run ...
- Configuration GitHub Action
run: npx --yes genaiscript run ...env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
Commande configure
Section intitulée « Commande configure »La commande configure est une commande interactive pour configurer et valider les connexions LLM.
npx genaiscript configure
Conteneurs de développement sous Windows
Section intitulée « Conteneurs de développement sous Windows »Vous pouvez utiliser les Dev Containers pour créer facilement un environnement de développement conteneurisé.
- Installez WSL2
- Installez Docker Desktop. Assurez-vous que le service Docker est en cours d’exécution.
- Ouvrez Visual Studio Code
- Installez l’extension dev container dans VSCode
- Ouvrez la palette de commandes (
Ctrl
+Shift
+P
) et tapez Nouvel environnement de développement conteneurisé… - Sélectionnez l’image
Node.JS & TypeScript
.
Le fournisseur echo
est un fournisseur LLM sans exécution qui renvoie les messages sans appeler de LLM.
Il est particulièrement utile pour le débogage lorsque vous souhaitez voir la requête LLM résultante sans l’envoyer.
script({ model: "echo",});
Echo répond avec les messages du chat sous forme markdown et JSON, ce qui peut être utile pour le débogage.
Le fournisseur none
empêche l’exécution du LLM. Il est typiquement utilisé dans un script de premier niveau qui utilise exclusivement des prompts en ligne.
script({ model: "none",});
Fournisseur personnalisé (compatible OpenAI)
Section intitulée « Fournisseur personnalisé (compatible OpenAI) »Vous pouvez utiliser un fournisseur personnalisé compatible avec l’API de génération de texte OpenAI. Cela est utile pour exécuter des LLM sur un serveur local ou un autre fournisseur cloud.
Par exemple, pour définir un fournisseur ollizard
, vous devez configurer la variable d’environnement OLLIZARD_API_BASE
avec l’URL du fournisseur personnalisé,
et OLLIZARD_API_KEY
si nécessaire.
OLLIZARD_API_BASE=http://localhost:1234/v1#OLLIZARD_API_KEY=...
Vous pouvez ensuite utiliser ce fournisseur comme n’importe quel autre fournisseur.
script({ model: "ollizard:llama3.2:1b",});
Variables d’environnement spécifiques au modèle
Section intitulée « Variables d’environnement spécifiques au modèle »Vous pouvez fournir différentes variables d’environnement
pour chaque modèle nommé en utilisant le préfixe PROVIDER_MODEL_API_...
ou PROVIDER_API_...
.
Le nom du modèle est mis en majuscules et
tous les caractères non alphanumériques sont convertis en _
.
Cela permet d’avoir diverses sources de calcul de LLM
pour différents modèles. Par exemple, activer le modèle ollama:phi3
fonctionnant localement, tout en conservant les informations de connexion du modèle openai
par défaut.
OLLAMA_PHI3_API_BASE=http://localhost:11434/v1
Exécution derrière un proxy
Section intitulée « Exécution derrière un proxy »Vous pouvez définir les variables d’environnement HTTP_PROXY
et/ou HTTPS_PROXY
pour exécuter GenAIScript derrière un proxy.
HTTP_PROXY=http://proxy.example.com:8080
Vérification de votre configuration
Section intitulée « Vérification de votre configuration »Vous pouvez vérifier votre configuration en exécutant la commande genaiscript info env
command.
Elle affichera les informations de configuration actuelles analysées par GenAIScript.
genaiscript info env