async openai
v0.26.0
Openai的异步生锈库
async-openai是Openai的非正式锈蚀库。
该库从环境变量OPENAI_API_KEY读取API键。
# On macOS/Linux
export OPENAI_API_KEY= ' sk-... ' # On Windows Powershell
$ Env: OPENAI_API_KEY = ' sk-... 'async-openai目录。仅实现用于实时API的类型,并且可以使用功能标志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许可获得许可。