YAMLResume

Générer

La commande yamlresume ai generate génère un fichier CV complet et réaliste à partir d'un poste et d'une langue cible.

$ yamlresume ai generate --help
Usage: yamlresume ai generate [options] <filename>

generate a new resume with AI

Arguments:
  filename                   output filename

Options:
  -p, --position <position>  target position or job title
  -l, --language <language>  target locale language
  -m, --model <model>        AI provider model to use
  -b, --base-url <url>       AI provider base URL
  -r, --retry <count>        maximum retries when validation fails (default: 2)
  -h, --help                 display help for command

Environment variables:

  Required (one API key for the selected cloud provider):
    DEEPSEEK_API_KEY          DeepSeek API key
    OPENAI_API_KEY            OpenAI API key
    MOONSHOT_API_KEY          Kimi (Moonshot AI) API key

  Optional:
    OLLAMA_HOST               Ollama host for local models
    YAMLRESUME_AI_MODEL       model override (overridden by --model)
    YAMLRESUME_AI_BASE_URL    API base URL override (overridden by --base-url)

Fournisseurs pris en charge

YAMLResume prend en charge plusieurs fournisseurs de LLM via des endpoints compatibles OpenAI. Le fournisseur est déduit des variables d'environnement :

FournisseurVariable d'environnement requiseModèle par défautRemplacements optionnels
DeepSeekDEEPSEEK_API_KEYdeepseek-v4-flashYAMLRESUME_AI_MODEL, YAMLRESUME_AI_BASE_URL
Kimi (Moonshot AI)MOONSHOT_API_KEYkimi-k2.6YAMLRESUME_AI_MODEL, YAMLRESUME_AI_BASE_URL
Ollama (local)OLLAMA_HOSTllama3.2YAMLRESUME_AI_MODEL, YAMLRESUME_AI_BASE_URL
OpenAIOPENAI_API_KEYgpt-5YAMLRESUME_AI_MODEL, YAMLRESUME_AI_BASE_URL

Exemples

Définissez une clé API fournisseur et exécutez :

$ export OPENAI_API_KEY=sk-...
$ yamlresume ai generate --position "Software Engineer" --language en resume.yml

Remplacez le modèle et l'URL de base via les options CLI :

$ yamlresume ai generate \
    --position "Registered Nurse" \
    --language en \
    --model gpt-5 \
    --base-url https://custom.openai.endpoint/v1 \
    resume.yml

Ou via des variables d'environnement :

$ export YAMLRESUME_AI_MODEL=gpt-5
$ export YAMLRESUME_AI_BASE_URL=https://custom.openai.endpoint/v1
$ yamlresume ai generate --position "Registered Nurse" --language en resume.yml

--retry

La génération est validée par rapport au schéma YAMLResume après chaque tentative. Si la validation échoue, les erreurs sont réinjectées au modèle et la génération est relancée. Le nombre maximum de tentatives est de 2 par défaut.

Vous pouvez le personnaliser avec l'option -r, --retry, qui accepte un entier non négatif. Par exemple, pour autoriser jusqu'à 5 tentatives pour un poste difficile :

$ yamlresume ai generate \
    --position "Software Engineer" \
    --language en \
    --retry 5 \
    resume.yml

Utilisez --retry 0 pour désactiver complètement les nouvelles tentatives, ce qui échoue immédiatement à la première erreur de validation.

Comment ça marche

yamlresume ai generate construit un prompt détaillé à partir des règles du schéma YAMLResume et d'un exemple de CV, puis demande au LLM de produire un CV complet. Le prompt demande au modèle de :

  • Produire uniquement du YAML valide, sans barrières markdown.
  • Conserver les commentaires YAML pour que le fichier généré reste adapté à la validation dans les éditeurs/IDE.
  • Respecter toutes les contraintes du schéma, telles que les longueurs de champs, les formats de dates, les valeurs d'énumération et les URL valides.
  • Inventer un contenu original et réaliste adapté au poste et à la langue cibles, sans copier les données personnelles de l'exemple de CV.

Le texte généré est ensuite analysé et validé. Si la validation échoue, le modèle est invité à corriger les erreurs et réessayer, jusqu'à la limite de réessais configurée.

API programmatique

Le paquet @yamlresume/ai expose également une API programmatique pour générer des CV :

import { generateResume } from "@yamlresume/ai";
import { openai } from "@ai-sdk/openai";

const model = openai("gpt-5");

const yaml = await generateResume("Software Engineer", "en", { model });
Edit on GitHub

Last updated on

On this page