
Annotations
Les annotations sont des erreurs, des avertissements ou des notes qui peuvent être ajoutées à la sortie LLM. Elles sont extraites et intégrées dans VSCode ou votre environnement CI.
$`Report issues with this code using annotations.`
Configuration
Section intitulée « Configuration »Si vous utilisez annotation
dans le texte de votre script sans spécifier le champ system
, system.annotations
sera ajouté par défaut.
L’utilisation de l’invite système system.annotations
permet au LLM de générer des erreurs, des avertissements et des notes.
script({ ... system: [..., "system.annotations"]})
Pour obtenir un rendu esthétique dans la prévisualisation Markdown, essayez l’extension Markdown Preview for GitHub Alerts.
Numéros de ligne
Section intitulée « Numéros de ligne »L’invite system.annotations
active automatiquement l’injection de numéros de ligne pour toutes les sections def
. Cette amélioration
augmente la précision des réponses du LLM et réduit la probabilité d’hallucinations.
Commandes GitHub Action
Section intitulée « Commandes GitHub Action »Par défaut, les annotations utilisent la syntaxe GitHub Action Commands. Cela signifie que les annotations seront automatiquement extraites par GitHub si vous exécutez votre script dans une GitHub Action.
Commentaires de révision sur les Pull Requests GitHub
Section intitulée « Commentaires de révision sur les Pull Requests GitHub »Utilisez l’option --pull-request-reviews
dans le cli run pour ajouter des annotations comme commentaires de révision sur une pull request.
npx --yes genaiscript run ... --pull-request-reviews
Programmes Visual Studio Code
Section intitulée « Programmes Visual Studio Code »Les annotations sont converties en Diagnostics Visual Studio, qui sont présentés à l’utilisateur via le panneau Problèmes. Ces diagnostics apparaissent également sous forme de lignes ondulées dans l’éditeur.
Format d’Échange des Résultats d’Analyse Statique (SARIF)
Section intitulée « Format d’Échange des Résultats d’Analyse Statique (SARIF) »GenAIScript convertit ces annotations en fichiers SARIF, qui peuvent être téléchargés comme des rapports de sécurité, similaires aux rapports CodeQL.
L’extension SARIF Viewer facilite la visualisation de ces rapports.
name: "Upload SARIF"
# Run workflow each time code is pushed to your repository and on a schedule.# The scheduled workflow runs every Thursday at 15:45 UTC.on: push: schedule: - cron: "45 15 * * 4"jobs: build: runs-on: ubuntu-latest permissions: # required for all workflows security-events: write # only required for workflows in private repositories actions: read contents: read steps: # This step checks out a copy of your repository. - name: Checkout repository uses: actions/checkout@v4 # Run GenAIScript tools - name: Run GenAIScript run: npx --yes genaiscript ... -oa result.sarif # Upload the generated SARIF file to GitHub - name: Upload SARIF file if: success() || failure() uses: github/codeql-action/upload-sarif@v3 with: sarif_file: result.sarif
Limitations
Section intitulée « Limitations »- L’accès aux rapports de sécurité peut varier en fonction de la visibilité de votre dépôt et des règles organisationnelles. Consultez la documentation GitHub pour plus d’informations.
- Votre organisation peut imposer des restrictions sur l’exécution des GitHub Actions pour les Pull Requests. Consultez la documentation GitHub pour des informations supplémentaires.
Filtrage
Section intitulée « Filtrage »Vous pouvez utiliser la fonction defOutputProcessor pour filtrer les annotations.
defOutputProcessor((annotations) => { // only allow errors const errors = annotations.filter(({ level }) => level === "error") return { annotations: errors }})