2个版本
0.1.1 | 2024年1月27日 |
---|---|
0.1.0 | 2024年1月27日 |
#827 在 游戏开发
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