Articles sur : Exemple de conception
Cet article est aussi disponible en :

✖️​ 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.

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

Cet article a-t-il répondu à vos questions ?

Partagez vos commentaires

Annuler

Merci !