Maison >développement back-end >Tutoriel Python >Comment définir simplement tous les « paramètres d'échantillonnage » ou « paramètres de génération » pour les applications utilisant Watsonx ?

Comment définir simplement tous les « paramètres d'échantillonnage » ou « paramètres de génération » pour les applications utilisant Watsonx ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-04 09:53:351012parcourir

How to set simply all “sampling parameters” or “generation parameters” for applications using watsonx?

Introduction

Une question qui revient très souvent pour les utilisateurs qui accèdent aux LLM watsonx.ai est « comment définissons-nous les paramètres d'échantillonnage ? » !

En fait, c'est assez simple.

Paramètres d'échantillonnage (ou paramètres de génération)

  • Accédez à votre instance watsonx.ai.

How to set simply all “sampling parameters” or “generation parameters” for applications using watsonx?

  • Cliquez sur « Ouvrir le laboratoire d'invite ». Une fois dans l'atelier d'invite, dans l'un ou l'autre des onglets, cliquez sur l'icône des paramètres (l'icône à l'extrême droite, comme indiqué).

How to set simply all “sampling parameters” or “generation parameters” for applications using watsonx?

Vous pouvez modifier le LLM qui est défini (celui utilisé précédemment ou celui défini par défaut).

  • Une fois la boîte de dialogue des paramètres ouverte, ils peuvent être définis si nécessaire.

How to set simply all “sampling parameters” or “generation parameters” for applications using watsonx?

  • Une fois les paramètres définis, sur le même ensemble d'icônes d'outils, choisissez « afficher le code ».

How to set simply all “sampling parameters” or “generation parameters” for applications using watsonx?

L'interface fournira 3 types de code intégrant l'implémentation des paramètres ; Curl, Node.js et Python comme exemples ci-dessous.

curl "https://us-south.ml.cloud.ibm.com/ml/v1/text/generation?version=2023-05-29" \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H "Authorization: Bearer ${YOUR_ACCESS_TOKEN}" \
  -d '{
  "input": "<|start_of_role|>system<|end_of_role|>You are Granite, an AI language model developed by IBM in 2024. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.<|end_of_text|>\n<|start_of_role|>assistant<|end_of_role|>",
  "parameters": {
    "decoding_method": "sample",
    "max_new_tokens": 200,
    "min_new_tokens": 100,
    "random_seed": 42,
    "stop_sequences": [],
    "temperature": 0.7,
    "top_k": 50,
    "top_p": 1,
    "repetition_penalty": 1
  },
  "model_id": "ibm/granite-3-8b-instruct",
  "project_id": "the one you get"
}'
export const generateText = async () => {
 const url = "https://us-south.ml.cloud.ibm.com/ml/v1/text/generation?version=2023-05-29";
 const headers = {
  "Accept": "application/json",
  "Content-Type": "application/json",
  "Authorization": "Bearer YOUR_ACCESS_TOKEN"
 };
 const body = {
  input: "<|start_of_role|>system<|end_of_role|>You are Granite, an AI language model developed by IBM in 2024. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.<|end_of_text|>\n<|start_of_role|>assistant<|end_of_role|>",
  parameters: {
   decoding_method: "sample",
   max_new_tokens: 200,
   min_new_tokens: 100,
   random_seed: 42,
   stop_sequences: [],
   temperature: 0.7,
   top_k: 50,
   top_p: 1,
   repetition_penalty: 1
  },
  model_id: "ibm/granite-3-8b-instruct",
  project_id: "the-one-you-get"
 };

 const response = await fetch(url, {
  headers,
  method: "POST",
  body: JSON.stringify(body)
 });

 if (!response.ok) {
  throw new Error("Non-200 response");
 }

 return await response.json();
}
import requests

url = "https://us-south.ml.cloud.ibm.com/ml/v1/text/generation?version=2023-05-29"

body = {
 "input": """<|start_of_role|>system<|end_of_role|>You are Granite, an AI language model developed by IBM in 2024. You are a cautious assistant. You carefully follow instructions. You are helpful and harmless and you follow ethical guidelines and promote positive behavior.<|end_of_text|>
<|start_of_role|>assistant<|end_of_role|>""",
 "parameters": {
  "decoding_method": "sample",
  "max_new_tokens": 200,
  "min_new_tokens": 100,
  "random_seed": 42,
  "temperature": 0.7,
  "top_k": 50,
  "top_p": 1,
  "repetition_penalty": 1
 },
 "model_id": "ibm/granite-3-8b-instruct",
 "project_id": "the-one-you-get"
}

headers = {
 "Accept": "application/json",
 "Content-Type": "application/json",
 "Authorization": "Bearer YOUR_ACCESS_TOKEN"
}

response = requests.post(
 url,
 headers=headers,
 json=body
)

if response.status_code != 200:
 raise Exception("Non-200 response: " + str(response.text))

data = response.json()

La seule information qui doit être ajustée par le développeur est le jeton d'accès.

Et voilà ?

Conclusion

La plateforme watsonx.ai permet aux développeurs d'applications d'ajuster très facilement l'ensemble des paramètres d'échantillonnage LLM.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn