Accepts text buffers on its sink pad, sends them to the OpenAI Chat API, and produces the responses as text buffers on its source pad.
gst-openaichat is written in Rust and uses the cargo-c helper. Set up a Rust development environment (e.g. using rustup) and then:
cargo install cargo-c
git clone https://github.com/avstack/gst-openaichat
cd gst-openaichat
cargo cbuild --release
export GST_PLUGIN_PATH=$(pwd)/target/release
OPENAI_API_KEY=... gst-launch-1.0 --quiet fdsrc ! 'text/x-raw,format=utf8' ! openaichat model=gpt-3.5-turbo ! fdsink
Combine it with our whisper and ttssink elements and have a spoken conversation with GPT! (Use headphones, or GPT may respond to itself.)
OPENAI_API_KEY=... gst-launch-1.0 --quiet autoaudiosrc ! audioconvert ! audioresample ! queue ! whisper ! openaichat model=gpt-3.5-turbo ! ttssink
gst-openaichat is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Any kinds of contributions are welcome as a pull request.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in these crates by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
gst-openaichat development is sponsored by AVStack. We provide globally-distributed, scalable, managed Jitsi Meet backends.