Библиотека Async Rust для Openai
async-openai -неофициальная библиотека ржавчины для Openai.
Библиотека считывает ключ API из переменной среды OPENAI_API_KEY .
# On macOS/Linux
export OPENAI_API_KEY= ' sk-... ' # On Windows Powershell
$ Env: OPENAI_API_KEY = ' sk-... 'async-openai . Только типы для API в реальном времени реализованы, и могут быть включены с помощью FLAG FLAG realtime . Эти типы могут измениться, если/когда Openai выпускает официальные характеристики для них.
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 ( ( ) )
}Спасибо, что нашли время, чтобы внести свой вклад и улучшить проект. Я был бы счастлив, если бы ты!
Все формы вкладов, такие как новые запросы на функции, исправления ошибок, проблемы, документация, тестирование, комментарии, примеры и т. Д., Приглашаются.
Хорошей отправной точкой было бы взглянуть на существующие открытые проблемы.
Для поддержания качества проекта минимум следующего является обязательным для вклада кода:
Этот проект придерживается кода поведения ржавчины
Этот проект лицензирован по лицензии MIT.