OS4 DepotLogo by Alkaron 
(anonymous IP: 3.238.180.174,0) 
 HomeRecentStatsSearchMirrorsContactInfoDisclaimerConfigAdmin
 Menu

 Features
   Crashlogs
   Bug tracker
   Locale browser
 

 Categories

   o Audio (343)
   o Datatype (51)
   o Demo (203)
   o Development (593)
   o Document (22)
   o Driver (97)
   o Emulation (146)
   o Game (994)
   o Graphics (494)
   o Library (113)
   o Network (230)
   o Office (65)
   o Utility (913)
   o Video (69)

Total files: 4333

Full index file
Recent index file

 Links

  Amigans.net
  OpenAmiga
  Aminet
  UtilityBase
  IntuitionBase
  AmigaBounty


Support the site


 Readme for:  Network » Chat » amigagpt.lha

AmigaGPT

Description: App for chatting to ChatGPT
Download: amigagpt.lha       (TIPS: Use the right click menu if your browser takes you back here all the time)
Size: 795kb
Version: 1.3.1
Date: 02 Dec 23
Author: Cameron Armstrong (Nightfox)
Submitter: Samir Hawamdeh
Homepage: https://github.com/sacredbanana/AmigaGPT
Requirements: AmigaOS4 +AmiSSL 5.9+
Category: network/chat
Replaces: network/chat/amigagpt.lha
License: Other
Distribute: yes
Min OS Version: 4.0
FileID: 12742
 
Videos:
Comments: 0
Snapshots: 0
Videos: 1
Downloads:  (Current version)

[Show comments] [Show snapshots] [Show videos] [Show content] [Show crashlogs] 
AmigaGPT is a text generation program that runs on the classic AmigaOS.
Utilising the power of the OpenAI's GPT-3 and GPT-4 architectures, this program
brings state-of-the-art language modeling to your Amiga computer.

Features:
- Generates text based on input prompts
- UI customisation
- Full conversation history
- Text-to-speech

Requirements:
- OCS/ECS/AGA Amiga
- Motorola 68020 or higher CPU or PPC for AmigaOS 4
- AmigaOS 3.9 and AmigaOS 3.X (included in Amiga Forever) supported but
 3.2 or higher recommended. AmigaOS 4.1 version also included.
- AmiSSL 5.9 or higher (http://aminet.net/util/libs/AmiSSL-5.9-OS3.lha)
- Internet access using a TCP/IP stack such as Roadshow 
(http://roadshow.apc-tcp.de/index-en.php)
- An active OpenAI API key
- For speech on AmigaOS 3, any version of narrator.device
- For speech on AmigaOS 4, Flite Device
 (http://aminet.net/package/mus/misc/flite_device)

Installation:
1. Install AmiSSL and a TCP/IP stack if not already done so
2. Unpack the archive to a directory of your choice.
3. Run the Installer script included in the package.
4. Follow the prompts to complete the installation.

Optional steps to enable speech functionality:
AmigaGPT supports reading the output aloud. How AmigaGPT does this depends on
whether you are using AmigaOS 3 or 4.

AmigaOS 3:

Speech on AmigaOS 3 requires a file called `narrator.device` which cannot be
included with AmigaGPT because it is still under copyright. Therefore, you must
copy this file legally from yourWorkbench disks so that AmigaGPT will be able to
synthesise speech. There are 2 versions of `narrator.device`
supported, v34 and v37. 

v34 is the original version that came with Workbench 1.x. v37 was an updated
version included with Workbench 2.0.x. 
It has more features and sounds more natural, however it does sound quite
different which is why AmigaGPT supports you installing both versions and your
choice of version to be used can be selected in the Speech menu in the app.

Regardless of which version of `narrator.device` you choose to install
(or both), AmigaGPT requires that you install the free third party
`translator.library` v43. This works with both versions of `narrator.device`.

Installing `translator.library` v43:
Since `translator.library` v43 is not available as a standalone install, you
will need to install v42 and then patch it to v43.

* Download http://aminet.net/util/libs/translator42.lha and extract the archive
to any convenient location on your Amiga such as `RAM:`
* Navigate to that directory and double click the `Install` program
* Run the installer using all the default settings
* Download http://aminet.net/util/libs/Tran43pch.lha and once again extract it
 to a location of your choice
* Navigate to that directory and double click the `Install` program
* Run the installer using all the default settings
* Reboot your Amiga - It will not work until the system is restarted

Installing `narrator.device` v34:
* Insert your Workbench 1.x disk and copy `df0:devs/narrator.device` to
 `{AmigaGPTProgramDirectory}/devs/speech/34`

Installing `narrator.device` v37
* Insert your Workbench 2.0.x (you cannot use 2.1 because the speech libraries
 were removed after version 2.0.4) disk and copy `df0:devs/narrator.device` to
`{AmigaGPTProgramDirectory}/devs/speech/37`

AmigaOS 4:

Speech on AmigaOS 4 is done with the help of Flite Device.

- Download Flite Device from http://aminet.net/package/mus/misc/flite_device
- Extract the archive and run the installer

Launching AmigaGPT:
* Launch the application by double-clicking the AmigaGPT icon
* You may also launch the app in the command line but before you do, run the
 command `STACK 20000` to give the program 20kb of stack since the default
 stack size for apps launched from the shell is 4kb and this is not enough for
 AmigaGPT and will cause random crashes due to stack overflow. This is not
 required when you launch the app by double clicking the icon since the stack
 size is saved in the icon.

Usage:
When launched, AmigaGPT presents you with a choice of opening the app in a new
screen or opening in Workbench. If you open in a new screen you have the
ability to create a screen for the app to open in. AmigaGPT supports anything
from 320x200 all the way up to 4k resolution if using a video card for RTG.
Bear in mind text will appear very tiny in resolutions above 1080p so you may
want to increase the font size settings from the View menu when the app opens.

When launching for the first time you will need to enter your OpenAI API key
before you can start chatting. If you haven't already done so, create an OpenAI
account and navigate to https://platform.openai.com/account/api-keys to generate
an API key for use with AmigaGPT.
When the app has opened, you are presented with a text input box. You can type
any prompt into this box and press "Send" to see the GPT-4 model's response.
The generated text appears in the box above the input. You can choose to have
this text read aloud using the "Speech" menu option. You can also select which
model for OpenAI to use in the "OpenAI" menu option.

To the left of the chat box is a conversation list which you can use to go to
another saved conversation. New conversations can be created with the "New chat"
button and conversations can be removed with the "Delete chat" button.

In the "Edit" menu, you'll find basic text editing commands like Cut, Copy,
Paste and Clear. The "View" menu allows you to change the font used in the chat
and the UI.

The "Project" menu includes an "About" option, which displays information
about the program.

Developing:
Source code hosted at https://github.com/sacredbanana/AmigaGPT
You can either compile the code natively or with the Docker container.

------
Native
------

*Building the AmigaOS 3 app*

If you would like to build this project from source you will need Bebbo's
amiga-gcc toolchain here https://github.com/bebbo/amiga-gcc

Once installed, get the required other SDK's from
https://github.com/sacredbanana/AmigaSDK-gcc and put these in your Amiga
dev environment created in the above step.

*Building the AmigaOS 4 app*
Get this toolchain set up https://github.com/sba1/adtools

Once installed, get the required other SDK's from
https://github.com/sacredbanana/AmigaSDK-gcc and put these in your Amiga dev
environment created in the above step.

------
Docker
------

You may use an all-in-one Docker image that is able to compile both the
AmigaOS 3 and AmigaOS 4 versions of the app.

Just install Docker on your machine and run the `build_os3.sh` or
`build_os4.sh` scripts depending on which version of the app you want to
 build. If you want to perform a clean build, you can set the environment
variable `CLEAN=1` for example you can run `CLEAN=1 ./build_os3.sh`.

The build app will be saved to the `/out` directory.

Contributing:

We welcome contributions to AmigaGPT! If you have a bug to report, a
feature to suggest, or a change you'd like to make to the code, please open
a new issue or submit a pull request.

Contributors:
Code:
- Cameron Armstrong (sacredbanana/Nightfox)
 https://github.com/sacredbanana/

Art:
- Mauricio Sandoval - Icon design

Special Thanks:
- Bebbo for creating the Amiga GCC toolchain https://github.com/bebbo
- OpenAI for making this all possible https://openai.com
- EAB and everyone in it for answering my questions https://eab.abime.net/
- Hyperion Entertainment for bringinging us AmigaOS 3.2
 https://www.hyperion-entertainment.com

Changelog:

------------------
1.3.1 (2023-12-02)
------------------
- Fix pasting into chat input textbox (AmigaOS 3.2 and 4.1 only for now)
- Remove trailing newline from user messages
- Enclose all user lines in asterisks to make bold
- Fix memory leak that was present in downloading responses from OpenAI

------------------
1.3.0 (2023-11-12)
------------------
- Native PPC version for AmigaOS 4.1
- Scrollbar works again
- Improve response handling from OpenAI preventing a crash
- Latest OpenAI models added

------------------
1.2.1 (2023-11-04)
- Now fully backwards compatible with Cloanto's AmigaOS 3.X (included
 in Amiga Forever)
------------------

------------------
1.2.0 (2023-10-04)
------------------
- Now fully backwards compatible with AmigaOS 3.9

------------------
1.1.0 (2023-07-22)
------------------
- Now supports characters from Western languages other than English
- Blank responses from OpenAI no longer cause a crash

------------------
1.0.1 (2023-06-24)
------------------
- After setting UI font, the font is now applied fully without needing to
restart the app

----------------
1.0 (2023-06-17)
----------------
- Initial release

License:

--------
AmigaGPT
--------

MIT License

Copyright (c) 2023 Cameron Armstrong

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

--------------------
THIRD PARTY LICENSES
--------------------

------
json-c
------

Copyright (c) 2009-2012 Eric Haszlakiewicz

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

----------------------------------------------------------------

Copyright (c) 2004, 2005 Metaparadigm Pte Ltd

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-----
Flite
-----

Flite is free software.

We have kept the core code to BSD-like copyright, thus the system is
free to use in commercial products, with commercial extensions.  GPL
code is only included as part of the build process and does not
taint any of the run-time code.  

Note the PalmOS code uses BSD code that requires acknowledgements in
any distribution documentation.

As a collection it is distributed under the following license.  
Note a few files in this distribution have a different but equally free
non-conflicting licence, see below.

                  Language Technologies Institute                      
                     Carnegie Mellon University                        
                      Copyright (c) 1999-2008                          
                        All Rights Reserved.

/*  Permission is hereby granted, free of charge, to use and         */
/*  distribute this software and its documentation without           */
/*  restriction, including without limitation the rights to use,     */
/*  copy, modify, merge, publish, distribute, sublicense, and/or     */
/*  sell copies of this work, and to permit persons to whom this     */
/*  work is furnished to do so, subject to the following conditions: */
/*                                                                   */
/*    1. The code must retain the above copyright notice, this list  */
/*       of conditions and the following disclaimer.                 */
/*    2. Any modifications must be clearly marked as such.           */
/*    3. Original authors' names are not deleted.                    */
/*                                                                   */    
/*  NAGOYA INSTITUTE OF TECHNOLOGY, NARA INSTITUTE OF SCIENCE AND    */
/*  TECHNOLOGY, CARNEGIE MELLON UNIVERSITY, AND THE CONTRIBUTORS TO  */
/*  THIS WORK DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,  */
/*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, */
/*  IN NO EVENT SHALL NAGOYA INSTITUTE OF TECHNOLOGY, NARA           */
/*  INSTITUTE OF SCIENCE AND TECHNOLOGY, CARNEGIE MELLON UNIVERSITY, */
/*  NOR THE CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR      */
/*  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM   */
/*  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,  */
/*  NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN        */
/*  CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.         */
/*                                                                   */
/*********************************************************************/

These functions are derived from the versions in festvox/src/vc/ as
modified by Tomoki Toda which in turn contain code derived from
NITECH's HTS system.  Their copyright has the same freedoms as 
as Flite's but under NAIST, NITECH and/or CMU.

src/audio/au_wince.c
src/utils/cst_file_stdio.c
src/utils/cst_mmap_posix.c
src/utils/cst_mmap_win32.c
src/utils/cst_mmap_none.c
src/utils/cst_file_wince.c
sapi/
      are copyright Cepstral, LLC rather than CMU but fall under the same
      free licence as the above, except for the owner.

doc/alice
   Is the first two chapters of Alice in Wonderland as distributed by the
   Gutenburg project and is now in the public domain

src/regex/regexp.c
src/regex/regsub.c

 *      Copyright (c) 1986 by University of Toronto.
 *      Written by Henry Spencer.  Not derived from licensed software.
 *
 *      Permission is granted to anyone to use this software for any
 *      purpose on any computer system, and to redistribute it freely,
 *      subject to the following restrictions:
 *
 *      1. The author is not responsible for the consequences of use of
 *              this software, no matter how awful, even if they arise
 *              from defects in it.
 *
 *      2. The origin of this software must not be misrepresented, either
 *              by explicit claim or by omission.
 *
 *      3. Altered versions must be plainly marked as such, and must not
 *              be misrepresented as being the original software.

src/speech/rateconv.c

 *	Copyright (c) 1992, 1995 by Markus Mummert
 *
 *	Redistribution and use of this software, modifcation and inclusion
 *	into other forms of software are permitted provided that the following
 *	conditions are met:
 *
 *	1. Redistributions of this software must retain the above copyright
 *	   notice, this list of conditions and the following disclaimer.
 *	2. If this software is redistributed in a modified condition
 *	   it must reveal clearly that it has been modified.

lang/usenglish/us_durz_cart.c
lang/usenglish/us_durz_cart.h
lang/usenglish/us_int_accent_cart.c
lang/usenglish/us_int_accent_cart.h
lang/usenglish/us_int_tone_cart.c
lang/usenglish/us_int_tone_cart.h
lang/usenglish/us_phoneset.c
lang/usenglish/us_f0lr.c
   These are directly (or indirectly) compiled/derived from files that are
   part of the Festival Speech Synthesis System (1.4.1).  Hence they have
   a joint copyright CMU/Edinburgh but with the same free licence

configure
   # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
   #
   # This configure script is free software; the Free Software Foundation
   # gives unlimited permission to copy, distribute and modify it.

configure.sub
config.guess
missing
install-sh
mkinstalldirs
   Copyright FSF, and under the GPL, these files are only used for
   convenient configuration and are not part of the generated binary,
   and therefore do not impose any GPL restrctions on the rest of the
   system.  But as they are standard methods for configuration they 
   are included.

palm/include/peal.h
palm/include/pealstub.h
palm/arm_flite/pealstub.c
palm/m68k_flite/peal.c

/**********
 * Copyright (c) 2004 Greg Parker.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY GREG PARKER ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 **********/

The whole Sun Microsystems math library was ported to Palm
for this but its not actually needed, though the include file is
to allow bits of the system to compile that currently linked in
to the system, so we just have the include file here

palm/include/fdlibm.h

 * ====================================================
 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
 *
 * Developed at SunSoft, a Sun Microsystems, Inc. business.
 * Permission to use, copy, modify, and distribute this
 * software is freely granted, provided that this notice 
 * is preserved.
 * ====================================================

------------
Flite Device
------------

/* Copyright (c) 2013 Fredrik Wikstrom. All rights reserved.
**
** Redistribution and use in source and binary forms, with or without
** modification, are permitted provided that the following conditions
** are met:
**
** 1. Redistributions of source code must retain the above copyright
**    notice, this list of conditions and the following disclaimer.
**
** 2. Redistributions in binary form must reproduce the above copyright
**    notice, this list of conditions and the following disclaimer in the
**    documentation and/or other materials provided with the distribution.
**
** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
** ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
** LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
** CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
** SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
** CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
** ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
** POSSIBILITY OF SUCH DAMAGE.
*/




Copyright (c) 2004-2023 by Björn Hagström All Rights Reserved
Amiga OS and its logos are registered trademarks of Hyperion Entertainment