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_idou 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 openaiAlias 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
.envavec 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
.envsuivants dans cet ordre :~/.env.genaiscript./.env.genaiscript./.env
-
en ajoutant l’argument
--env <...files>à la CLI. Chaque fichier.envest 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
.envdans 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 configureConteneurs 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/v1Exé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:8080Vé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