1 个不稳定版本
0.1.0 | 2023 年 9 月 3 日 |
---|
#15 在 #policies
25KB
527 行
OpenAI API 的并发 Rust 客户端。
概述
openai-orch
设计用于提供向 OpenAI 发送批量请求的简单接口,同时在全局层面管理并发。它还提供了可配置的策略来控制并发、超时和重试的处理方式。
用法
要使用此库,请使用所需策略和密钥创建一个 Orchestrator
。要允许一个线程使用 Orchestrator
,只需克隆它。要发送请求,请在 Orchestrator
上调用 add_request
,然后使用 add_request
返回的请求 ID 在 Orchestrator
上调用 get_response。Orchestrator
将自动处理并发。
示例
use openai_orch::prelude::*;
#[tokio::main]
async fn main() {
let policies = Policies::default();
let keys = Keys::from_env().unwrap();
let orchestrator = Orchestrator::new(policies, keys);
let request = ChatSisoRequest::new(
"You are a helpful assistant.".to_string(),
"What are you?".to_string(),
Default::default(),
);
let request_id = orchestrator.add_request(request).await;
let response = orchestrator
.get_response::<ChatSisoResponse>(request_id)
.await;
println!("{}", response.unwrap());
}
如果您愿意,可以为您自己的请求类型实现 OrchRequest
。有关更多信息,请参阅 OrchRequest
特性。目前唯一实现的请求类型是 ChatSisoRequest
;SISO
代表 "单输入单输出"。
依赖项
~9–21MB
~326K SLoC