Dino Geek essaye de t'aider

Comment se connecter à l'API de ChatGPT avec Rust ?


Pour se connecter à l’API de ChatGPT avec Rust, vous devrez utiliser une bibliothèque HTTP comme reqwest ou hyper pour envoyer une requête POST à l’API. Encore, les bibliothèques nécessaires pour manipuler des données JSON, comme serde, seront utiles pour construire les données nécessaires pour la requête et décomposer la réponse.

Voici un exemple de base avec l’utilisation de la bibliothèque reqwest (version 0.10 ou ultérieure) et serde:

```
extern crate reqwest;
extern crate serde;
extern crate serde_json;

use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug)]
struct Message { role: String, content: String,
}

#[derive(Serialize, Deserialize, Debug)]
struct GPT3Response { id: String, object: String, created: i32, model: String, choices: Vec,
}

#[derive(Serialize, Deserialize, Debug)]
struct Choices { message: Message, finish_reason: String,
}

#[tokio::main]
async fn main() { let client = reqwest::Client::new(); let url = “https://api.openai.com/v1/engines/davinci-codex/completions”; let prompt = vec![Message {role: “system”.to_string(), content: “You are a helper bot.”.to_string()}, Message {role: “user”.to_string(), content: “Who won the world series in 2020?”.to_string()}]; let body = serde_json::to_string(&prompt).unwrap();

let res = client.post(url) .header(“Authorization”, “Bearer YOUR-OPENAI-KEY”) .header(“Content-Type”, “application/json”) .body(body) .send() .await .unwrap(); let text :GPT3Response = res.json().await.unwrap(); println!(“{:?}”, text.choices0.message.content); } ```

Dans cet exemple, remplacer “YOUR-OPENAI-KEY” par votre clé d’API OpenAI. Vous devrez initialiser le client HTTP, construire une requête POST pour l’API, et formater la réponse en utilisant les structures définies pour les messages et la réponse completions de chat.

Ensuite, l’appel à `send()` envoie effectivement la requête, et nous utilisons `await` pour attendre la réponse (puisque reqwest fonctionne de manière asynchrone). Enfin, nous prenons la `response` JSON et la convertissons en notre structure `GPT3Response`.

Notez que ce code doit être exécuté dans une application Rust compatible avec Tokio, car reqwest utilise Tokio pour ses caractéristiques asynchrones. La ligne `#[tokio::main]` au-dessus de la définition `main` est une macro qui configure automatiquement votre fonction main pour utiliser un exécuteur Tokio.

Et n’oubliez pas de gérer les erreurs correctement dans votre code réel.

Veuillez consulter la documentation officielle de l’OpenAI pour plus d’informations sur l’utilisation de leur API : [https://beta.openai.com/docs/]+.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation