スキップしてメイン コンテンツに移動

ChatGPT API(SDK)

公式の SDK としては、JavaScript, Python, .NET, Java, Go が用意されている。
Rust の公式 SDK はないが、https://platform.openai.com/docs/libraries を見ると非公式でも活発に開発されているライブラリがある。
https://github.com/64bit/async-openai
Chat Completions API などさまざまなサンプルプログラムを用意してくれているので、すぐに使い始めることができる。
https://github.com/64bit/async-openai/tree/main/examples

例えば Completions であれば以下のようにできて非常に簡単に使える。

use std::error::Error;

use async_openai::{types::CreateCompletionRequestArgs, Client};

#[tokio::main]
async fn main() -> Result<(), Box<dyn Error>> {
    let client = Client::new();
    let request = CreateCompletionRequestArgs::default()
        .model("gpt-4.1-mini-2025-04-14")
        .prompt("宇宙についてのジョークを教えて")
        .max_tokens(40_u32)
        .build()?;
    let response = client.completions().create(request).await?;

    for choice in response.choices {
        println!("{}", choice.text);
    }

    Ok(())
}

async-openai では API キーはプログラム経由ではなく、環境変数経由で渡す。
OS の環境変数に設定したくない場合、VSCode を利用している場合は launch.json にでもいれておけばよい。

launch.json

{ "version": "0.2.0", "configurations": [ { "type": "lldb", "request": "launch", # ... "cwd": "${workspaceFolder}", "env": { "OPENAI_API_KEY": "sk-..." } } ] }

公式 SDK やライブラリを使わなくても、https://platform.openai.com/api-keys から API キーを生成して curl で投げるだけなので非常に簡単に利用できる。
ドキュメントも非常に丁寧に書かれており、開発がしやすい。

コメント