
Mon premier événement sur l'IA : Build with Gemini
Retour sur ma première journée de conférences autour de l'IA au Grand Rex à Paris
Progression
Nous allons créer un fichier translator.proto
dans le dossier proto
.
syntax = "proto3"; package proto;
Nous allons déclarer dans ce fichier un service gRPC. La méthode Translate
aura comme payload TranslateRequest
et retournera TranslateResponse
.
service Translator { rpc Translate(TranslateRequest) returns (TranslateResponse) {} }
Nous allons maintenant déclarer les messages TranslateRequest
et TranslateResponse
.
message TranslateRequest { string text = 1; Language language = 2; } message TranslateResponse { string text = 1; }
Petite subtilité ici, les chaînes de caractères ne sont pas compressées avec protobuf. Afin d'optimiser les traitements, on déclare pour language
que les valeurs possibles sont en
et fr
. Pour ce faire on déclare une enum
Language
.
enum Language { en = 0; fr = 1; }
Notre fichier Protobuf est terminé et devrait ressembler à ça :
syntax = "proto3"; package proto; enum Language { en = 0; fr = 1; } message TranslateRequest { string text = 1; Language language = 2; } message TranslateResponse { string text = 1; } service Translator { rpc Translate(TranslateRequest) returns (TranslateResponse) {} }
Nous allons commencer par générer le fichier de config de Prototool.
prototool init
Nous allons maintenant éditer la config pour qu'il génère notre service gRPC en Go.
gen: go_options: import_path: translator-service/ plugins: - name: go type: go flags: plugins=grpc output: .
Nous pouvons maintenant générer les fichiers Go.
prototool gen
Dans le dossier proto
, nous avons maintenant un fichier translator.pb.go
.
Auteur(s)
Quentin Neyrat
Back-end developer @ Eleven Labs
Vous souhaitez en savoir plus sur le sujet ?
Organisons un échange !
Notre équipe d'experts répond à toutes vos questions.
Nous contacterDécouvrez nos autres contenus dans le même thème
Retour sur ma première journée de conférences autour de l'IA au Grand Rex à Paris
Il existe différents formats de fichier pour stocker la donnée : parquet, avro, csv. Connaissez-vous le format Delta Lake ? Découvrons ensemble les fonctionnalités de ce format.
Il arrive qu'une fonction ou action ne puisse pas être réalisée à un instant donné. Cela peut être dû à plusieurs facteurs qui ne sont pas maîtrisés. Il est alors possible d'effectuer une nouvelle tentative plus tard. Dans cet article, voyons comment le faire.