✖️ Utiliser Gork avec l'API de X (twitter)
Pour faire des requêtes à l'IA Gork, il faut passer par l'API de X (twitter).
Une API (Application Programming Interface, Interface de Programmation Applicative) est un ensemble de fonctionnalités mises à disposition d'un client / utilisateur via une bibliothèque (méthodes d'un langage de programmation) ou un service web.
Pour faire une requête, il est nécessaire d'avoir une clef API. Elle permettra de savoir qui fait quoi (dans ce cas, qui utilise Gork). Pour générer une clef, il est possible d'aller sur ce site, dans l'onglet correspondant.
Une fois la clef API récupérée, il faut préparer le bloc Requête HTTP de Voltask pour pouvoir envoyer une requête :
la méthode est POST
l'URL est https://api.x.ai/v1/chat/completions
le corps ressemble à ceci : {"messages": [{"role": "user","content": "{{prompt}}"}],"search_parameters": {"mode": "auto","return_citations": true,"sources": [{ "type": "web", "country": "{{country}}" },{ "type": "x"}, {"type": "news", "country":"{{country}}"}]},"model": "grok-3-latest"}
Avec {{ prompt }} la requête envoyée à Gork et {{ country }} l'identifiant d'un pays sous forme ISO 3166-1 alpha-2 (FR pour la France)
l'en-tête ressemble à ceci : {"Content-Type":"application/json","Authorization":"Bearer {{APIkey}}"}
Avec {{ APIkey }} la clef API récupérée plus tôt.
Pour plus de détails sur comment remplir le corps de la requête, voici le lien vers la documentation (en anglais) : https://docs.x.ai/docs/guides/live-search
L'API renvoie un objet JSON. Il est donc nécessaire de ne sélectionner que ce qui est important pour un utilisateur.
Le JSON (JavaScript Object Notation) est un format de donnée textuel utilisé pour la transmission de données. Un objet JSON est la chaîne de charactères (le texte) qui contient les données à transmettre. Ces objets sont contenus entre accolades, et associent une clef à une valeur (texte, liste, nombre, une valeur booléenne, ou un autre objet JSON), séparé par deux points (par exemple : {"fruits": ["pomme", banane"], "nombre": 2, "aime": True} )
Il est possible de commencer le travail de recherche depuis Voltask, grâce au bloc Depuis JSON. Voici un schéma permettant de récupérer les informations contenues par l'objet JSON :
{"$schema": "http://json-schema.org/draft-07/schema#","properties": {"choices": {"items": {"properties": {"finish_reason": {"type": "string"},"index": {"type": "number"},"message": {"properties": {"content": {"type": "string"},"refusal": {},"role": {"type": "string"}},"required": ["role","content","refusal"],"type": "object"}},"required": ["index","message","finish_reason"],"type": "object"},"type": "array"},"citations": {"items": {"type": "string"},"type": "array"},"created": {"type": "number"},"id": {"type": "string"},"model": {"type": "string"},"object": {"type": "string"},"system_fingerprint": {"type": "string"},"usage": {"properties": {"completion_tokens": {"type": "number"},"completion_tokens_details": {"properties": {"accepted_prediction_tokens": {"type": "number"},"audio_tokens": {"type": "number"},"reasoning_tokens": {"type": "number"},"rejected_prediction_tokens": {"type": "number"}},"required": ["reasoning_tokens","audio_tokens","accepted_prediction_tokens","rejected_prediction_tokens"],"type": "object"},"prompt_tokens": {"type": "number"},"prompt_tokens_details": {"properties": {"audio_tokens": {"type": "number"},"cached_tokens": {"type": "number"},"image_tokens": {"type": "number"},"text_tokens": {"type": "number"}},"required": ["text_tokens","audio_tokens","image_tokens","cached_tokens"],"type": "object"},"total_tokens": {"type": "number"}},"required": ["prompt_tokens","completion_tokens","total_tokens","prompt_tokens_details","completion_tokens_details"],"type": "object"}},"required": ["id","object","created","model","choices","usage","system_fingerprint","citations"],"title": "Generated schema for Root","type": "object"}
Cependant, de toutes ces informations, seul l'attribut choices est nécessaire. Malheureusement, cet attribut est un tableau, et ne peux donc pas être interprété directement depuis le bloc Depuis JSON, il faudra utiliser du JavaScript, ce que Celestory propose.
Une fois le tableau choices récupéré, il est possible d'utiliser le bloc Exécuter Javascript pour ne récupérer que la réponse de l'IA. Voici un code qui permet de réaliser cette tâche :
De cette manière, il est possible de récupérer la réponse de l'IA et de l'utiliser dans d'autres blocs.
Il est à noter qu'une réponse du bloc Requête HTTP peut prendre quelques dizaines de secondes.
Une API (Application Programming Interface, Interface de Programmation Applicative) est un ensemble de fonctionnalités mises à disposition d'un client / utilisateur via une bibliothèque (méthodes d'un langage de programmation) ou un service web.
Mise en place de l'API
Pour faire une requête, il est nécessaire d'avoir une clef API. Elle permettra de savoir qui fait quoi (dans ce cas, qui utilise Gork). Pour générer une clef, il est possible d'aller sur ce site, dans l'onglet correspondant.
Mise en place de Voltask
Une fois la clef API récupérée, il faut préparer le bloc Requête HTTP de Voltask pour pouvoir envoyer une requête :
la méthode est POST
l'URL est https://api.x.ai/v1/chat/completions
le corps ressemble à ceci : {"messages": [{"role": "user","content": "{{prompt}}"}],"search_parameters": {"mode": "auto","return_citations": true,"sources": [{ "type": "web", "country": "{{country}}" },{ "type": "x"}, {"type": "news", "country":"{{country}}"}]},"model": "grok-3-latest"}
Avec {{ prompt }} la requête envoyée à Gork et {{ country }} l'identifiant d'un pays sous forme ISO 3166-1 alpha-2 (FR pour la France)
l'en-tête ressemble à ceci : {"Content-Type":"application/json","Authorization":"Bearer {{APIkey}}"}
Avec {{ APIkey }} la clef API récupérée plus tôt.
Pour plus de détails sur comment remplir le corps de la requête, voici le lien vers la documentation (en anglais) : https://docs.x.ai/docs/guides/live-search
Récupérer la réponse
L'API renvoie un objet JSON. Il est donc nécessaire de ne sélectionner que ce qui est important pour un utilisateur.
Le JSON (JavaScript Object Notation) est un format de donnée textuel utilisé pour la transmission de données. Un objet JSON est la chaîne de charactères (le texte) qui contient les données à transmettre. Ces objets sont contenus entre accolades, et associent une clef à une valeur (texte, liste, nombre, une valeur booléenne, ou un autre objet JSON), séparé par deux points (par exemple : {"fruits": ["pomme", banane"], "nombre": 2, "aime": True} )
Dans Voltask
Il est possible de commencer le travail de recherche depuis Voltask, grâce au bloc Depuis JSON. Voici un schéma permettant de récupérer les informations contenues par l'objet JSON :
{"$schema": "http://json-schema.org/draft-07/schema#","properties": {"choices": {"items": {"properties": {"finish_reason": {"type": "string"},"index": {"type": "number"},"message": {"properties": {"content": {"type": "string"},"refusal": {},"role": {"type": "string"}},"required": ["role","content","refusal"],"type": "object"}},"required": ["index","message","finish_reason"],"type": "object"},"type": "array"},"citations": {"items": {"type": "string"},"type": "array"},"created": {"type": "number"},"id": {"type": "string"},"model": {"type": "string"},"object": {"type": "string"},"system_fingerprint": {"type": "string"},"usage": {"properties": {"completion_tokens": {"type": "number"},"completion_tokens_details": {"properties": {"accepted_prediction_tokens": {"type": "number"},"audio_tokens": {"type": "number"},"reasoning_tokens": {"type": "number"},"rejected_prediction_tokens": {"type": "number"}},"required": ["reasoning_tokens","audio_tokens","accepted_prediction_tokens","rejected_prediction_tokens"],"type": "object"},"prompt_tokens": {"type": "number"},"prompt_tokens_details": {"properties": {"audio_tokens": {"type": "number"},"cached_tokens": {"type": "number"},"image_tokens": {"type": "number"},"text_tokens": {"type": "number"}},"required": ["text_tokens","audio_tokens","image_tokens","cached_tokens"],"type": "object"},"total_tokens": {"type": "number"}},"required": ["prompt_tokens","completion_tokens","total_tokens","prompt_tokens_details","completion_tokens_details"],"type": "object"}},"required": ["id","object","created","model","choices","usage","system_fingerprint","citations"],"title": "Generated schema for Root","type": "object"}
Cependant, de toutes ces informations, seul l'attribut choices est nécessaire. Malheureusement, cet attribut est un tableau, et ne peux donc pas être interprété directement depuis le bloc Depuis JSON, il faudra utiliser du JavaScript, ce que Celestory propose.
Dans Celestory
Une fois le tableau choices récupéré, il est possible d'utiliser le bloc Exécuter Javascript pour ne récupérer que la réponse de l'IA. Voici un code qui permet de réaliser cette tâche :
const raw = celestoryPoints.get("answer", "");
let answer;
try {
answer = typeof raw === "string" ? JSON.parse(raw) : raw;
const content = answer?.[0]?.message?.content;
if (content) {
celestoryPoints.set("res", content);
} else {
console.error("Contenu introuvable dans la structure :", answer);
}
} catch (e) {
console.error("Erreur lors du parsing ou de l’accès au contenu :", e, raw);
}
celestoryPoints.set("res", answer[0]["message"]["content"]);
De cette manière, il est possible de récupérer la réponse de l'IA et de l'utiliser dans d'autres blocs.
Il est à noter qu'une réponse du bloc Requête HTTP peut prendre quelques dizaines de secondes.
Mis à jour le : 23/05/2025
Merci !