A SwiftUI app demonstrating how ChatGPT interacts with DALL·E and HuggingFace models for iOS and macOS.
This is what the app looks like on iOS:
And macOS:
Chat Completion is driven by OpenAI's chat language models, including gpt-3.5-turbo and gpt-3.5-turbo-0301.
Image Generation uses OpenAI's image generation API(DALL·E) and HuggingFace's Inference API to create images.
To start drawing, simply send a message beginning with "Draw". For example, you could say Draw a close-up, studio photographic portrait of a curious-looking blue British Shorthair cat
.
Draw something
is a hardcoded prompt. However, when Smart Mode is enabled, ChatGPT will classify your prompt and select the most appropriate model to handle it. Therefore, you could ask, Can you assist me in creating a close-up, studio photographic portrait of a curious-looking blue British Shorthair cat?
.
OpenAI's DALL·E is the preferred option since it's stable and fast(but expensive). You can easily switch to Hugging Face's Inference API(like stable-diffusion-v1-5 or stabilityai/stable-diffusion-2-1) in the settings.
By connecting ChatGPT with an Image Caption model such as nlpconnect/vit-gpt2-image-captioning from Hugging Face, we can easily integrate the image captioning task with the image generation task.
Default prompts come from Awesome ChatGPT Prompts.
Click the person icon or type '/' to show the prompts list.
Type '/' to show the prompts list.
Set your OpenAI API key in the AppConfiguration
.
class AppConfiguration: ObservableObject {
@AppStorage("configuration.key") var key = "OpenAI API Key"
}
Set your Hugging Face User Access Token in the HuggingFaceConfiguration
.
class HuggingFaceConfiguration: ObservableObject {
@AppStorage("huggingFace.key") var key: String = ""
}