openai api rs
v5.2.3
La bibliothèque Rust Client de l'API OpenAI offre un accès pratique à l'API OpenAI à partir des applications de rouille.
Consultez les docs.rs.
Cargo.toml
[ dependencies ]
openai-api-rs = " 5.2.3 " La bibliothèque doit être configurée avec la clé secrète de votre compte, qui est disponible sur le site Web. Nous vous recommandons de le définir comme variable d'environnement. Voici un exemple d'initialisation de la bibliothèque avec la clé API chargée à partir d'une variable d'environnement et de création d'une réalisation:
$ export OPENAI_API_KEY=sk-xxxxxxx let api_key = env :: var ( "OPENAI_API_KEY" ) . unwrap ( ) . to_string ( ) ;
let client = OpenAIClient :: builder ( ) . with_api_key ( api_key ) . build ( ) ? ; let req = ChatCompletionRequest :: new (
GPT4_O . to_string ( ) ,
vec ! [ chat_completion:: ChatCompletionMessage {
role: chat_completion:: MessageRole ::user,
content: chat_completion:: Content :: Text ( String ::from ( "What is bitcoin?" ) ) ,
name: None ,
tool_calls: None ,
tool_call_id: None ,
} ] ,
) ; let result = client . chat_completion ( req ) ? ;
println ! ( "Content: {:?}" , result.choices [ 0 ] .message.content ) ;$ export OPENAI_API_BASE=https://api.openai.com/v1 use openai_api_rs :: v1 :: api :: OpenAIClient ;
use openai_api_rs :: v1 :: chat_completion :: { self , ChatCompletionRequest } ;
use openai_api_rs :: v1 :: common :: GPT4_O ;
use std :: env ;
# [ tokio :: main ]
async fn main ( ) -> Result < ( ) , Box < dyn std :: error :: Error > > {
let api_key = env :: var ( "OPENAI_API_KEY" ) . unwrap ( ) . to_string ( ) ;
let client = OpenAIClient :: builder ( ) . with_api_key ( api_key ) . build ( ) ? ;
let req = ChatCompletionRequest :: new (
GPT4_O . to_string ( ) ,
vec ! [ chat_completion:: ChatCompletionMessage {
role: chat_completion:: MessageRole ::user,
content: chat_completion:: Content :: Text ( String ::from ( "What is bitcoin?" ) ) ,
name: None ,
tool_calls: None ,
tool_call_id: None ,
} ] ,
) ;
let result = client . chat_completion ( req ) . await ? ;
println ! ( "Content: {:?}" , result.choices [ 0 ] .message.content ) ;
println ! ( "Response Headers: {:?}" , result.headers ) ;
Ok ( ( ) )
}Plus d'exemples: Exemples
Consultez la documentation complète de l'API pour des exemples de toutes les fonctions disponibles.
Ce projet est autorisé sous licence MIT.