Crate chatgpt

Source
Expand description

§ChatGPT-rs-blocking

Fork of Async chatgpt_rs I needed a blocking variation of this without reqwest

§Usage

Here is a simple usage of the API, getting completion for a single message. You can see more practical examples in the examples directory.

use chatgpt::prelude::*;

async fn main() -> Result<()> {
    // Getting the API key here
    let key = args().nth(1).unwrap();

    /// Creating a new ChatGPT client.
    /// Note that it requires an API key, and uses
    /// tokens from your OpenAI API account balance.
    let client = ChatGPT::new(key)?;

    /// Sending a message and getting the completion
    let response: CompletionResponse = client
        .send_message("Describe in five words the Rust programming language.")
        .unwrap();

    println!("Response: {}", response.message().content);

    Ok(())
}

Modules§

client
This module contains the ChatGPT client
converse
Conversation related types
err
This module contains the errors related to the API
prelude
The prelude module. Import everything from it to get the necessary elements from this library
types
Types returned from the API and sent to it

Type Aliases§

Result
Result that is returned from most ChatGPT functions