#openai-api #openai #bevy #gpt #api-key

bevy_openai

bevy_openai 是 Bevy 的一个事件驱动插件,提供对 OpenAI API 的便捷访问

2个版本

0.1.1 2024年1月27日
0.1.0 2024年1月27日

#827游戏开发

Apache-2.0

32KB
107

中文

bevy_openai

bevy_openai 是一个为 Bevy 提供的 事件驱动 插件,它提供了对 OpenAI API便捷 访问。

当前功能

安装

将包作为依赖项添加

[dependencies]
bevy_openai = "0.1.0"

添加插件

use bevy::prelude::*;
use bevy_openai::OpenAiPlugin;

fn main() {
    App::new()
        .add_plugins((DefaultPlugins, OpenAiPlugin))
}

使用

将 OPENAI_API_KEY 设置为环境变量

$ export OPENAI_API_KEY=sk-xxxxxxx

bevy_openai 是事件驱动的。您可以通过事件将提示发送到 ChatGPT 并从 ChatGPT 读取响应。

使用 SendToAiEvent 将您的提示发送到 ChatGPT。

fn send_to_ai(
    mut event_writer: EventWriter<SendToAiEvent>
) {
    event_writer.send(SendToAiEvent("Hello".to_string()));
}

或者使用 SendToAiWithConfigEvent 将您的提示和自定义配置一起发送到 ChatGPT。

fn send_to_ai(
    mut config_event_writer: EventWriter<SendToAiWithConfigEvent>,
) {
    // with config
    config_event_writer.send(SendToAiWithConfigEvent {
        prompt: "Hello".to_string(),
        config: ClientConfigBuilder::default()
            .api_endpoint("".to_owned())
            .api_key("".to_owned())
            .build()
            .expect("Failed to build config"),
    });
}

使用 AiResponseEvent 从 ChatGPT 读取响应。

fn process_ai_response(mut event_reader: EventReader<AiResponseEvent>) {
    for event in event_reader.read() {
        println!("response: {}", event.0);
    }
}

完整的示例在 examples 目录中。

依赖项

~29–41MB
~730K SLoC