You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

13 KiB

Fichier de test LLM

Ce document teste si le LLM, qui traduit la documentation, comprend le general_prompt dans scripts/translate.py et l’invite spécifique à la langue dans docs/{language code}/llm-prompt.md. L’invite spécifique à la langue est ajoutée à la fin de general_prompt.

Les tests ajoutés ici seront visibles par tous les concepteurs d’invites spécifiques à chaque langue.

Utiliser comme suit :

  • Avoir une invite spécifique à la langue - docs/{language code}/llm-prompt.md.
  • Effectuer une nouvelle traduction de ce document dans votre langue cible souhaitée (voir par exemple la commande translate-page de translate.py). Cela créera la traduction sous docs/{language code}/docs/_llm-test.md.
  • Vérifier si tout est correct dans la traduction.
  • Si nécessaire, améliorer votre invite spécifique à la langue, l’invite générale, ou le document anglais.
  • Corriger ensuite manuellement les problèmes restants dans la traduction, afin que ce soit une bonne traduction.
  • Retraduire, en ayant la bonne traduction en place. Le résultat idéal serait que le LLM ne fasse plus aucun changement à la traduction. Cela signifie que l’invite générale et votre invite spécifique à la langue sont aussi bonnes que possible (il fera parfois quelques changements apparemment aléatoires, la raison étant que les LLM ne sont pas des algorithmes déterministes).

Les tests :

Extraits de code

//// tab | Test

Ceci est un extrait de code : foo. Et ceci est un autre extrait de code : bar. Et encore un autre : baz quux.

////

//// tab | Info

Le contenu des extraits de code doit être laissé tel quel.

Voir la section ### Content of code snippets dans l’invite générale dans scripts/translate.py.

////

Guillemets

//// tab | Test

Hier, mon ami a écrit : « Si vous écrivez « incorrectly » correctement, vous l’avez écrit de façon incorrecte ». À quoi j’ai répondu : « Correct, mais ‘incorrectly’ est incorrectement non pas ‘« incorrectly »’ ».

/// note | Remarque

Le LLM traduira probablement ceci de manière erronée. Il est seulement intéressant de voir s’il conserve la traduction corrigée lors d’une retraduction.

///

////

//// tab | Info

Le concepteur de l’invite peut choisir s’il souhaite convertir les guillemets neutres en guillemets typographiques. Il est acceptable de les laisser tels quels.

Voir par exemple la section ### Quotes dans docs/de/llm-prompt.md.

////

Guillemets dans les extraits de code

//// tab | Test

pip install "foo[bar]"

Exemples de littéraux de chaîne dans des extraits de code : "this", 'that'.

Un exemple difficile de littéraux de chaîne dans des extraits de code : f"I like {'oranges' if orange else "apples"}"

Hardcore: Yesterday, my friend wrote: "If you spell incorrectly correctly, you have spelled it incorrectly". To which I answered: "Correct, but 'incorrectly' is incorrectly not '"incorrectly"'"

////

//// tab | Info

... Cependant, les guillemets à l’intérieur des extraits de code doivent rester tels quels.

////

Blocs de code

//// tab | Test

Un exemple de code Bash ...

# Afficher un message de bienvenue à l'univers
echo "Hello universe"

... et un exemple de code console ...

$ <font color="#4E9A06">fastapi</font> run <u style="text-decoration-style:solid">main.py</u>
<span style="background-color:#009485"><font color="#D3D7CF"> FastAPI </font></span>  Starting server
        Searching for package file structure

... et un autre exemple de code console ...

// Créer un répertoire "Code"
$ mkdir code
// Aller dans ce répertoire
$ cd code

... et un exemple de code Python ...

wont_work()  # Cela ne fonctionnera pas 😱
works(foo="bar")  # Cela fonctionne 🎉

... et c’est tout.

////

//// tab | Info

Le code dans les blocs de code ne doit pas être modifié, à l’exception des commentaires.

Voir la section ### Content of code blocks dans l’invite générale dans scripts/translate.py.

////

Onglets et encadrés colorés

//// tab | Test

/// note | Remarque Du texte ///

/// note | Détails techniques Du texte ///

/// tip | Astuce Du texte ///

/// warning | Alertes Du texte ///

/// danger | Danger Du texte ///

////

//// tab | Info

Les onglets et les blocs « Info »/« Note »/« Warning »/etc. doivent avoir la traduction de leur titre ajoutée après une barre verticale (« | »).

Voir les sections ### Special blocks et ### Tab blocks dans l’invite générale dans scripts/translate.py.

////

//// tab | Test

Le texte du lien doit être traduit, l’adresse du lien doit rester inchangée :

Le texte du lien doit être traduit, l’adresse du lien doit pointer vers la traduction :

////

//// tab | Info

Les liens doivent être traduits, mais leur adresse doit rester inchangée. Exception faite des liens absolus vers des pages de la documentation FastAPI. Dans ce cas, il faut pointer vers la traduction.

Voir la section ### Links dans l’invite générale dans scripts/translate.py.

////

Éléments HTML « abbr »

//// tab | Test

Voici quelques éléments entourés d’un élément HTML « abbr » (certains sont inventés) :

L’abbr fournit une expression complète

  • GTD
  • lt
  • XWT
  • PSGI

L’abbr donne une expression complète et une explication

  • MDN
  • I/O.

////

//// tab | Info

Les attributs « title » des éléments « abbr » sont traduits en suivant des consignes spécifiques.

Les traductions peuvent ajouter leurs propres éléments « abbr » que le LLM ne doit pas supprimer. Par exemple pour expliquer des mots anglais.

Voir la section ### HTML abbr elements dans l’invite générale dans scripts/translate.py.

////

Éléments HTML « dfn »

  • grappe
  • Apprentissage profond

Titres

//// tab | Test

Créer une application Web - un tutoriel

Bonjour.

Annotations de type et annotations de type

Rebonjour.

Superclasses et sous-classes

Rebonjour.

////

//// tab | Info

La seule règle stricte pour les titres est que le LLM laisse la partie hachage entre accolades inchangée, ce qui garantit que les liens ne se rompent pas.

Voir la section ### Headings dans l’invite générale dans scripts/translate.py.

Pour certaines consignes spécifiques à la langue, voir par exemple la section ### Headings dans docs/de/llm-prompt.md.

////

Termes utilisés dans les documents

//// tab | Test

  • vous

  • votre

  • p. ex.

  • etc.

  • foo en tant que int

  • bar en tant que str

  • baz en tant que list

  • le Tutoriel - Guide utilisateur

  • le Guide utilisateur avancé

  • la documentation SQLModel

  • la documentation de l’API

  • la documentation automatique

  • Data Science

  • Apprentissage profond

  • Apprentissage automatique

  • Injection de dépendances

  • authentification HTTP Basic

  • HTTP Digest

  • format ISO

  • la norme JSON Schema

  • le schéma JSON

  • la définition de schéma

  • Flux Password

  • Mobile

  • déprécié

  • conçu

  • invalide

  • à la volée

  • standard

  • par défaut

  • sensible à la casse

  • insensible à la casse

  • servir l’application

  • servir la page

  • l’app

  • l’application

  • la requête

  • la réponse

  • la réponse d’erreur

  • le chemin d’accès

  • le décorateur de chemin d’accès

  • la fonction de chemin d’accès

  • le corps

  • le corps de la requête

  • le corps de la réponse

  • le corps JSON

  • le corps de formulaire

  • le corps de fichier

  • le corps de la fonction

  • le paramètre

  • le paramètre de corps

  • le paramètre de chemin

  • le paramètre de requête

  • le paramètre de cookie

  • le paramètre d’en-tête

  • le paramètre de formulaire

  • le paramètre de fonction

  • l’événement

  • l’événement de démarrage

  • le démarrage du serveur

  • l’événement d’arrêt

  • l’événement de cycle de vie

  • le gestionnaire

  • le gestionnaire d’événements

  • le gestionnaire d’exceptions

  • gérer

  • le modèle

  • le modèle Pydantic

  • le modèle de données

  • le modèle de base de données

  • le modèle de formulaire

  • l’objet modèle

  • la classe

  • la classe de base

  • la classe parente

  • la sous-classe

  • la classe enfant

  • la classe sœur

  • la méthode de classe

  • l’en-tête

  • les en-têtes

  • l’en-tête d’autorisation

  • l’en-tête Authorization

  • l’en-tête transféré

  • le système d’injection de dépendances

  • la dépendance

  • l’élément dépendable

  • le dépendant

  • lié aux E/S

  • lié au processeur

  • concurrence

  • parallélisme

  • multi-traitement

  • la variable d’env

  • la variable d’environnement

  • le PATH

  • la variable PATH

  • l’authentification

  • le fournisseur d’authentification

  • l’autorisation

  • le formulaire d’autorisation

  • le fournisseur d’autorisation

  • l’utilisateur s’authentifie

  • le système authentifie l’utilisateur

  • la CLI

  • l’interface en ligne de commande

  • le serveur

  • le client

  • le fournisseur cloud

  • le service cloud

  • le développement

  • les étapes de développement

  • le dict

  • le dictionnaire

  • l’énumération

  • l’enum

  • le membre d’enum

  • l’encodeur

  • le décodeur

  • encoder

  • décoder

  • l’exception

  • lever

  • l’expression

  • l’instruction

  • le frontend

  • le backend

  • la discussion GitHub

  • le ticket GitHub

  • la performance

  • l’optimisation des performances

  • le type de retour

  • la valeur de retour

  • la sécurité

  • le schéma de sécurité

  • la tâche

  • la tâche d’arrière-plan

  • la fonction de tâche

  • le template

  • le moteur de templates

  • l’annotation de type

  • l’annotation de type

  • le worker du serveur

  • le worker Uvicorn

  • le Worker Gunicorn

  • le processus worker

  • la classe de worker

  • la charge de travail

  • le déploiement

  • déployer

  • le SDK

  • le kit de développement logiciel

  • le APIRouter

  • le requirements.txt

  • le jeton Bearer

  • le changement majeur incompatible

  • le bogue

  • le bouton

  • l’appelable

  • le code

  • le commit

  • le gestionnaire de contexte

  • la coroutine

  • la session de base de données

  • le disque

  • le domaine

  • le moteur

  • le faux X

  • la méthode HTTP GET

  • l’élément

  • la bibliothèque

  • le cycle de vie

  • le verrou

  • le middleware

  • l’application mobile

  • le module

  • le montage

  • le réseau

  • l’origine

  • la surcharge

  • le payload

  • le processeur

  • la propriété

  • le proxy

  • la pull request

  • la requête

  • la RAM

  • la machine distante

  • le code d’état

  • la chaîne

  • l’étiquette

  • le framework Web

  • le joker

  • retourner

  • valider

////

//// tab | Info

Il s’agit d’une liste non exhaustive et non normative de termes (principalement) techniques présents dans les documents. Elle peut aider le concepteur de l’invite à déterminer pour quels termes le LLM a besoin d’un coup de main. Par exemple, lorsqu’il continue de remplacer une bonne traduction par une traduction sous-optimale. Ou lorsqu’il a des difficultés à conjuguer/décliner un terme dans votre langue.

Voir par exemple la section ### List of English terms and their preferred German translations dans docs/de/llm-prompt.md.

////