#openai-api #api-response #streaming #real-time #data #performing #processing

openai-api-stream-rs

这是一个 Rust 包,提供与 OpenAI API 交互的简单函数,并执行基于语言的任务。此包专注于从 API 获取流式响应,实现大量数据的实时处理。

1 个不稳定版本

0.1.1 2023 年 5 月 12 日
0.1.0 2023 年 5 月 12 日

#22 in #performing

Download history 8/week @ 2024-03-07 4/week @ 2024-03-14 28/week @ 2024-03-28 16/week @ 2024-04-04 3/week @ 2024-05-16 3/week @ 2024-05-23

60 每月下载量
用于 ai-sh

MIT 许可证

11KB
151

openai-api-stream-rs

这是一个 Rust 包,提供与 OpenAI API 交互的简单函数,并执行基于语言的任务。此包专注于从 API 获取流式响应,实现大量数据的实时处理。

特性

  • 基于流的 API:该包支持从 OpenAI API 获取流式响应,允许您在数据可用时实时处理数据。
  • GptStream:GptStream 结构体提供了一个方便的接口,用于与 OpenAI 聊天补全端点交互。
  • JSON 解析:该包包括强大的 JSON 解析功能,用于处理 API 响应。
  • 配置选项:您可以轻松配置各种参数,如模型选择、温度、top-p 等。

用法

要使用此包,只需创建一个 OpenAIStream 结构体实例,并将您的 API 密钥作为参数传递。然后,使用您想要的输入调用 gpt_stream 方法,并等待响应。返回的 GptStream 对象允许您异步迭代流式 API 响应。

示例

[dependencies]
"openai-api-stream-rs" = "0.1.0"
"tokio" = { version = "1.12.0", features = ["full"] }
"futures" = "0.3.19"
use openai_api_stream_rs::OpenAIStream;
use futures::stream::StreamExt;

#[tokio::main]
async fn main() {
    let api_key = "your_api_key";
    let openai_stream = OpenAIStream::new(api_key.to_string());

    let input = r#"
        {
            "model": "gpt-3.5-turbo",
            "messages": [
                {
                    "role": "user",
                    "content": "Write a simple advanced usage of Rust in one sentence"
                }
            ]
        }
    "#;

    let gpt_stream = openai_stream.gpt_stream(input).await.unwrap();
    let mut gpt_stream = Box::pin(gpt_stream);

    while let Some(response) = gpt_stream.next().await {
        println!("{}", response);
    }
}

注意:将 "your_api_key" 替换为您的实际 OpenAI API 密钥。

有关更多详细信息和高级配置选项,请参阅包文档。

注意:此包仍在开发中,可能会进行更改和更新。

依赖项

~10–27MB
~400K SLoC