Biblioteca Async Rust para OpenAi
async-openai es una biblioteca de óxido no oficial para OpenAi.
La biblioteca lee la tecla API de la variable de entorno OPENAI_API_KEY .
# On macOS/Linux
export OPENAI_API_KEY= ' sk-... ' # On Windows Powershell
$ Env: OPENAI_API_KEY = ' sk-... 'async-openai . Solo se implementan tipos para API en tiempo real y se pueden habilitar con la bandera de funciones realtime . Estos tipos pueden cambiar si/cuando OpenAI emite especificaciones oficiales para ellos.
use async_openai :: {
types :: { CreateImageRequestArgs , ImageSize , ImageResponseFormat } ,
Client ,
} ;
use std :: error :: Error ;
# [ tokio :: main ]
async fn main ( ) -> Result < ( ) , Box < dyn Error > > {
// create client, reads OPENAI_API_KEY environment variable for API key.
let client = Client :: new ( ) ;
let request = CreateImageRequestArgs :: default ( )
. prompt ( "cats on sofa and carpet in living room" )
. n ( 2 )
. response_format ( ImageResponseFormat :: Url )
. size ( ImageSize :: S256x256 )
. user ( "async-openai" )
. build ( ) ? ;
let response = client . images ( ) . create ( request ) . await ? ;
// Download and save images to ./data directory.
// Each url is downloaded and saved in dedicated Tokio task.
// Directory is created if it doesn't exist.
let paths = response . save ( "./data" ) . await ? ;
paths
. iter ( )
. for_each ( |path| println ! ( "Image file path: {}" , path.display ( ) ) ) ;
Ok ( ( ) )
}Gracias por tomarse el tiempo para contribuir y mejorar el proyecto. ¡Estaría feliz de tenerte!
Todas las formas de contribuciones, como nuevas solicitudes de características, correcciones de errores, problemas, documentación, pruebas, comentarios, ejemplos, etc.
Un buen punto de partida sería mirar los problemas abiertos existentes.
Para mantener la calidad del proyecto, un mínimo de lo siguiente es imprescindible para la contribución del código:
Este proyecto se adhiere al código de conducta de oxidación
Este proyecto tiene licencia bajo la licencia MIT.