A Python package for creating Gradio applications with OpenAI models
Project description
openai-gradio
is a Python package that makes it very easy for developers to create machine learning apps that are powered by OpenAI's API.
Installation
You can install openai-gradio directly using pip:
pip install openai-gradio
That's it!
Basic Usage
Just like if you were to use the openai API, you should first save your OpenAI API key to this environment variable:
export OPENAI_API_KEY=<your token>
Then in a Python file, write:
import gradio as gr
import openai_gradio
gr.load(
name='gpt-4-turbo',
src=openai_gradio.registry,
).launch()
Run the Python file, and you should see a Gradio Interface connected to the model on OpenAI!
Voice Chat
OpenAI-Gradio also supports voice chat capabilities. You can enable this in two ways:
- Using a realtime model:
import gradio as gr
import openai_gradio
gr.load(
name='gpt-4o-realtime-preview-2024-10-01',
src=openai_gradio.registry
).launch()
- Explicitly enabling voice chat with any realtime model:
import gradio as gr
import openai_gradio
gr.load(
name='gpt-4o-mini-realtime-preview-2024-12-17',
src=openai_gradio.registry,
enable_voice=True
).launch()
This will create a WebRTC-based interface that allows for real-time voice conversations with the AI model.
Voice Chat API Keys
For voice chat functionality, you'll need:
- OpenAI API key (required for all features):
export OPENAI_API_KEY=<your OpenAI token>
- Twilio credentials (required for WebRTC voice chat):
export TWILIO_ACCOUNT_SID=<your Twilio account SID>
export TWILIO_AUTH_TOKEN=<your Twilio auth token>
You can get Twilio credentials by:
- Creating a free account at Twilio
- Finding your Account SID and Auth Token in the Twilio Console
Without Twilio credentials, the voice chat will still work but might have connectivity issues in some network environments.
Customization
Once you can create a Gradio UI from an OpenAI endpoint, you can customize it by setting your own input and output components, or any other arguments to gr.Interface. For example, the screenshot below was generated with:
import gradio as gr
import openai_gradio
gr.load(
name='gpt-4-turbo',
src=openai_gradio.registry,
title='OpenAI-Gradio Integration',
description="Chat with GPT-4-turbo model.",
examples=["Explain quantum gravity to a 5-year old.", "How many R are there in the word Strawberry?"]
).launch()
Composition
Or use your loaded Interface within larger Gradio Web UIs, e.g.
import gradio as gr
import openai_gradio
with gr.Blocks() as demo:
with gr.Tab("GPT-4-turbo"):
gr.load('gpt-4-turbo', src=openai_gradio.registry)
with gr.Tab("GPT-3.5-turbo"):
gr.load('gpt-3.5-turbo', src=openai_gradio.registry)
demo.launch()
Under the Hood
The openai-gradio Python library has two dependencies: openai and gradio. It defines a "registry" function openai_gradio.registry, which takes in a model name and returns a Gradio app.
Supported Models in OpenAI
All chat API models supported by OpenAI are compatible with this integration. For a comprehensive list of available models and their specifications, please refer to the OpenAI Models documentation.
Note: if you are getting a 401 authentication error, then the OpenAI API Client is not able to get the API token from the environment variable. This happened to me as well, in which case save it in your Python session, like this:
import os
os.environ["OPENAI_API_KEY"] = ...
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openai_gradio-0.0.6.tar.gz.
File metadata
- Download URL: openai_gradio-0.0.6.tar.gz
- Upload date:
- Size: 110.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a01c6998e89fe33bab235bb4dd1811849ef88fc230c8d21bdf8605c6f1fa1b1e
|
|
| MD5 |
37c035e20fd825934bb6f96657dc3b76
|
|
| BLAKE2b-256 |
758bd7a9bb49d09703031eef313a051a630e4bf0ad943f99a2ce59c151072294
|
File details
Details for the file openai_gradio-0.0.6-py3-none-any.whl.
File metadata
- Download URL: openai_gradio-0.0.6-py3-none-any.whl
- Upload date:
- Size: 5.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
465b6a79eb3fb86a60fe59d5e1a860432061e16607fa1db339237ee6f351cece
|
|
| MD5 |
d5263844b8a10e39e7a0aabf1878a8b2
|
|
| BLAKE2b-256 |
c53ba2764e9a1b92adf0ff52d9c01eefa0b74765fb417513944c1ee531b010f6
|