Expérimentez l'inférence des modèles de la fondation IBM Granite Code dans watsonx.ai pour vous aider à accomplir des tâches de codage.
La série Granite de modèles de code à décodeur seul est constituée de modèles de base de niveau entreprise qui sont adaptés aux instructions pour les tâches de génération de code, telles que la correction des bogues, l'explication du code et la documentation du code.
Les modèles sont formés sur des données autorisées sous licence qui ont été collectées en suivant les principes de l'éthique de l'IA, et avec un processus qui a été guidé par l'équipe juridique de l'entreprise IBM pour une utilisation digne de confiance en entreprise.
Les modèles de fondation suivants, adaptés aux instructions, sont disponibles sur watsonx.ai Vous pouvez cliquer sur le nom du modèle pour ouvrir la fiche du modèle.
- carte modèlegranite-3b-code-instruct
- granite-8b-code-instruct modèle de carte
- granite-20b-code-instruct modèle de carte
- granite-34b-code-instruct modèle de carte
Inférencer les modèles du code Granite
Pour obtenir les meilleurs résultats lors de l'utilisation des modèles de fondation du Code Granite, suivez d'abord ces recommandations et expérimentez ensuite pour obtenir les résultats que vous souhaitez.
Le tableau suivant énumère les paramètres recommandés pour inviter le foundation model Granite Code à effectuer des tâches de codage.
Paramètre | Valeur ou plage recommandée | Explication |
---|---|---|
Décodage | Vorace | Le décodage gourmand choisit les jetons parmi les options les plus probables, ce qui est préférable lorsque vous souhaitez que le modèle suive des instructions et soit moins créatif. |
Pénalité de répétition | 1.05 | Fixez la pénalité à cette valeur basse pour éviter que le chatbot ait l'air robotique en répétant des mots ou des phrases. |
Critères d"arrêt | <|endoftext|> | Une caractéristique utile du foundation model Granite Code est l'inclusion d'un jeton spécial nommé <|endoftext|> à la fin de chaque réponse. Lorsque certains modèles génératifs renvoient une réponse à l'entrée en moins de tokens que le nombre maximum autorisé, ils peuvent répéter des motifs de l'entrée. Ce modèle permet d'éviter une telle répétition en intégrant une séquence d'arrêt fiable pour l'invite. |
Nombre maximal de jetons | 900 | La longueur maximale de la fenêtre contextuelle pour les modèles de code est de 8 192. Pour plus d'informations sur les jetons, voir Jetons et tokenisation. |
Pour plus d'informations sur les paramètres du modèle, voir Paramètres du modèle pour l'invite.
Promouvoir les modèles à partir du Prompt Lab
Pour lancer le foundation model Granite Code, suivez les étapes suivantes :
À partir de l'invite Lab en mode freeform, choisissez l'un des modèles de fondation Granite Code disponibles.
Dans le panneau Paramètres du modèle, appliquez les valeurs recommandées pour les paramètres du modèle dans le tableau 1.
Ajoutez votre invite, puis cliquez sur Générer.
Vous pouvez utiliser les exemples de messages de la section " Essayez".
Pour plus d'informations sur l'utilisation de Prompt Lab, voir Prompt Lab.
Conseils pour l'utilisation des modèles du code Granite
Si la réponse est interrompue, augmentez le nombre maximal de jetons de sortie afin que le modèle ne coupe pas la réponse du code, ce qui entraînerait un code incomplet.
N'ajoutez pas d'espaces supplémentaires. N'incluez qu'un seul saut de ligne à la fin de l'invite.
Invite système facultative
Les invites que vous soumettez aux modèles Granite Code ne nécessitent pas d'invite système. Toutefois, il convient d'étiqueter les " Question
et " Answer
pour aider le modèle à comprendre la demande, comme le montre le modèle suivant :
Question:
{PROMPT}
Answer:
Si la réponse du modèle est invalide ou inattendue, essayez d'ajouter une invite système. Utilisez la même invite système que celle utilisée lors de la mise au point des modèles pour l'enseignement :
Vous êtes un assistant de programmation intelligent, utilisant un modèle de langage de code Granite développé par IBM Votre fonction principale est d'assister les utilisateurs dans les tâches de programmation, y compris la génération de code, l'explication de code, la correction de code, la génération de tests unitaires, la génération de documentation, la modernisation d'applications, la détection de vulnérabilités, l'appel de fonctions, la traduction de code, et toutes sortes d'autres tâches d'ingénierie logicielle.
Vous pouvez copier et coller le modèle suivant qui inclut l'invite du système :
System:
"You are an intelligent AI programming assistant, utilizing a Granite code language model developed by IBM. Your primary function is to assist users in programming tasks, including code generation, code explanation, code fixing, generating unit tests, generating documentation, application modernization, vulnerability detection, function calling, code translation, and all sorts of other software engineering tasks."
Question:
{PROMPT}
Answer:
You are an intelligent AI programming assistant, utilizing a Granite code language model developed by IBM. Your primary function is to assist users in programming tasks, including code generation, code explanation, code fixing, generating unit tests, generating documentation, application modernization, vulnerability detection, function calling, code translation, and all sorts of other software engineering tasks.
Expérimentation
Essayez les exemples suivants :
Langages de programmation pris en charge
Les modèles de fondation de code Granite prennent en charge les langages de programmation suivants :
- ABAP
- Ada
- Agda
- Alloy
- ANTLR
- AppleScript
- Arduino
- ASP
- Assembly
- Augeas
- Awk
- Batchfile
- Bison
- Bluespec
- C
- C-sharp
- C++
- Clojure
- CMake
- COBOL
- CoffeeScript
- Common_Lisp
- CSS
- Cucumber
- Cuda
- Cython
- Dart
- Dockerfile
- Eagle
- Elixir
- Elm
- Emacs_Lisp
- Erlang
- F-sharp
- FORTRAN
- GLSL
- GO
- Gradle
- GraphQL
- Groovy
- Haskell
- Haxe
- HCL
- HTML
- Idris
- Isabelle
- Java
- Java_Server_Pages
- JavaScript
- JSON
- JSON5
- JSONiq
- JSONLD
- JSX
- Julia
- Jupyter
- Kotlin
- Lean
- Literate_Agda
- Literate_CoffeeScript
- Literate_Haskell
- Lua
- Makefile
- Maple
- Markdown
- Mathematica
- Objective-C++
- OCaml
- OpenCL
- Pascal
- Perl
- PHP
- PowerShell
- Prolog
- Protocol_Buffer
- Python
- Python_traceback
- R
- Racket
- RDoc
- Restructuredtext
- RHTML
- RMarkdown
- Ruby
- Rust
- SAS
- Scala
- Scheme
- Shell
- Smalltalk
- Solidity
- SPARQL
- SQL
- Stan
- Standard_ML
- Stata
- Swift
- SystemVerilog
- Tcl
- Tcsh
- Tex
- Thrift
- Twig
- TypeScript
- Verilog
- VHDL
- Visual_Basic
- Vue
- Web_Ontology_Language
- WebAssembly
- XML
- XSLT
- Yacc
- YAML
- Zig
Sujet parent : Modèles de baseIBM