Someone - Someone utilizes GPT-3 to deliver a unique chat bot app experience

Overview

Someone - An IOS App

Someone utilizes GPT-3 to deliver a unique chat bot app experience. Someone was built for the 2 day 2021 UQCS Hackathon. It won the Best Presentation award.

'Someone' allows a user to define a personality and some key personality traits, which then is fed into the model(along with some other keywords) so it can mimmick that style of individual. A key feature is Someone enables users to build a relationship with the model. This was achieved by feeding the entire chat history into the model on each new request, and using GPT-3 to summarise this history as it becomes larger. As per OpenAI's guidelines, the message exchange is heavily filtered, and doesn't allow for any explicit or sensitive content, from either GPT-3 or the user.

App

Built with Swift and Swift UI. While limited in scope, the app achieved the desired functionality by the end of the hackathon and is deployable in its current form (although not profitable).

Chatbot Customization

Messenger

API

Built with the Django Rest Framework, the API stores user information, facilities the content filtering and uses JWT tokens for authorization. It uses mySQLite for the database, and Djangos inbuilt server for running the API. With a few tweaks, the API would be ready for deployment.

Installation

Note: Requires Xcode, and a valid OpenAI API token.

  1. Clone repo
  2. Install dependencies contained within requirments.txt
  3. Add an OpenAI API key in the variable in someoneAPI/messaging/somone.py
  4. cd into the directory someoneApi and run 'python manage.py runserver'
  5. Launch xcode and run the app
  6. Have fun!

Acknowledgments

Thanks to the team: Edward Guilfoyle, Blake Guilfoyle & Krystyna Riabokon for coming together, building something fun and learning some new frameworks! No one on the team had had written in Swift before, Krystyna and Blake had neither had used the Django Rest Framework and both had limited programming experience. Thanks to Krystyna for discovering the best parameters/prompt for GPT-3, reading legal & non-legal docs and importantly, implementing the content filter.

A big thanks to UQ Computing Society for organising the event, the sponsors for keeping us well fed and the judges for being legends!

You might also like...
TwilioChat_iOS - Twilio iOS SDK Implementaion Chat one-one Chat One-Many (Group)

TwilioChat_iOS - Twilio iOS SDK Implementaion Chat one-one Chat One-Many (Group) - Add Participant - Remove Participant Send Attachment Image Android - iOS Tested iOS - iOS Tested iOS - Android Tested React to Message, Delete a Message Read, Delivered, Sent Delete a Conversation Unread Messages Filter

Swift-Chat-Application - Swift Chat Application Using Firebase , messagekit
Swift-Chat-Application - Swift Chat Application Using Firebase , messagekit

Swift-Chat-Application Using Firebase , messagekit

A framework that provides CurtainController. CurtainController is a container view controller that implements a content-curtain interface. You can find a similar implementation in applications like Apple Maps, Find My, Stocks, etc. Someone calls it
Check your emails before someone else does

Checkpoint Proofread your emails before your mom does 🧠 Have you ever meant to

BlockiesSwift - Unique blocky identicons generator for Swift
BlockiesSwift - Unique blocky identicons generator for Swift

⚗️ BlockiesSwift This library is a Swift implementation of the Ethereum fork of Blockies which is intended to be used in iOS, watchOS, tvOS and macOS

iPhone and iPod Touch version of Skeleton Key: is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. Made with cocos2d-iphone.

Skeleton Key (iOS) Skeleton Key is an addictive and unique puzzle game in which you shift keys around the board unlocking treasure chests. It's availa

It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets.
It is a highly configurable iOS library which allows easy styling with built in styles as well as extra header and footer views so that you can make extremely unique alerts and action sheets.

 CFAlertViewController CFAlertViewController is a library that helps you display and customise Alerts, Action Sheets, and Notifications on iPad and i

Unique blocky identicons generator for Swift
Unique blocky identicons generator for Swift

⚗️ BlockiesSwift This library is a Swift implementation of the Ethereum fork of Blockies which is intended to be used in iOS, watchOS, tvOS and macOS

A very useful and unique iOS library to open image picker in just few lines of code.
A very useful and unique iOS library to open image picker in just few lines of code.

ImagePickerEasy A very simple solution to implement UIImagePickerController() in your application. Requirements Swift 4.2 and above Installation Image

A TabBarController with a unique animation for selection
A TabBarController with a unique animation for selection

BATabBarController Overview Recent Versions Language Version Swift 5 2.0.1 Swift 4 1.0.1 Obj C 0.1.6 The standard TabBarController is very limited in

A Swift collection of unique, ordered objects

Introduction OrderedSet is essentially the Swift equivalent of Foundation's NSOrderedSet/NSMutableOrderedSet. It was created so Swift would have a uni

Store values using unique, randomly generated identifiers

Storage Store values using unique, randomly generated identifiers. This packages consists of three types: A Storage class, a UniqueIdentifiable protoc

Swift Xid - Xid uses MongoDB Object ID algorighm1 to generate globally unique ids with base32 serialzation to produce shorter strings

Swift Xid - Xid uses MongoDB Object ID algorighm1 to generate globally unique ids with base32 serialzation to produce shorter strings

Simple and integrated way to customize navigation bar experience on iOS app.

NavKit Simple and integrated way to customize navigation bar experience on iOS app. It should save our time that we usually use to make abstraction of

CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.
CodeEdit App for macOS – Elevate your code editing experience. Open source, free forever.

CodeEdit for macOS CodeEdit is a code editor built by the community, for the community, written entirely and unapologetically for macOS. Features incl

A collaborative Augmented Reality iOS experience using Real-time Messaging

Collaborative AR Experience This project creates an augmented reality experience where you can build a scene together with anyone around the world, se

Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus.
Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus.

VPN On Turning on a VPN is always a painful experience on an iOS device due to the deep nested menus. This App installs a Today Widget into Notificati

BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience.
BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience.

Description BarcodeScanner is a simple and beautiful wrapper around the camera with barcode capturing functionality and a great user experience. Barco

A modern photo viewing experience for iOS.
A modern photo viewing experience for iOS.

NYTPhotoViewer NYTPhotoViewer is a slideshow and image viewer that includes double-tap to zoom, captions, support for multiple images, interactive fli

Owner
Edward
Machine learning student. Love for all things AI. Particular interest in reinforcement learning and all things related to general intelligence. Open AI = goal
Edward
App for managing remote insulin injection

sgc app for managing remote insulin injection currently the whole app is based on a phone that communicate to arduino board via bluetooth module. the

roey ben arieh 0 Aug 7, 2022
Swift Bot with Vapor for Telegram Bot Api

Telegram Vapor Bot Please support Swift Telegram Vapor Bot Lib development by giving a ⭐️ Telegram Bot based on Swift Vapor. Swift Server Side Communi

OleG. 104 Jan 6, 2023
A simple Swift package which acts as an OpenAI client for the GPT-3 API.

SwiftyGPT3 A simple Swift package which acts as an OpenAI client for GPT-3 brought to you by the Airgift Crew. Supports GPT-3 Codex! Requirements iOS

Airgift 23 Dec 25, 2022
PowerUp is an educational choose-your-own-adventure game that utilizes a users uploaded curriculum to empower pre-adolescents to take charge of their reproductive health.

PowerUp is an educational choose-your-own-adventure game that utilizes a users uploaded curriculum to empower pre-adolescents to take charge of their reproductive health. This is the iOS version of the game.

AnitaB.org Open Source 39 Sep 26, 2022
URLLivePreview - A small project that utilizes LPLink for SwiftUI projects

URLLivePreview URLLivePreview is a swift Package to add a preview of a URL site.

Rob Evans 11 Dec 20, 2022
Chat-App - GV Chat App is an iOS app built with Swift

GV Chat App - iOS Explore the docs » Report Bug · Request Feature About The Proj

Cyrus Dumbwani 0 Jan 25, 2022
A chat simulator app that uses FireBase for Authentication and chat storage

Chat-App Description Flash chat is a chat simulator app that uses FireBase for Authentication and chat storage Tools Used - Swift (Programming Languag

Victor Alvarenga 0 Oct 14, 2021
Telegram Bot Framework written in Swift 5.1 with SwiftNIO network framework

Telegrammer is open-source framework for Telegram Bots developers. It was built on top of Apple/SwiftNIO

Pataridze Givi 279 Jan 4, 2023
Swiftbot on slack. Inspired by kishikawakatsumi/swift-compiler-discord-bot

Swiftbot Swiftbot on slack. Inspired by kishikawakatsumi/swift-compiler-discord-bot Usage $ swiftbot --token xoxb-xxxxxxxxxxxx-xxxxxxxxxxxx-xxxxxxxxxx

noppefoxwolf 55 Jan 8, 2022
A WIP Swift wrapper for Discord's Bot API.

Quickcord Quickcord is a WIP Swift wrapper for Discord's Bot API. Features (As of right now) Connecting the the gateway and identifying. Literally eve

Ben Sova 4 Aug 7, 2021