RapidRabbit-11485 / PNGTuber-GPT

This is a custom C# action for Streamer.bot and Speaker.bot to add a GPT-based PNGTuber to your stream!
MIT License
8 stars 2 forks source link

Support GPT 3.5 Turbo Fine Tuning API #8

Open RapidRabbit-11485 opened 1 year ago

RapidRabbit-11485 commented 1 year ago

We should support the newly released Fine Tuning API to create our bot context. This allows us to give example questions and responses to train the bot how we would want it to respond; this can then be saved as a personality type that then can be accessed without needing to send the context each time. Different personality types or "modes" could be switched between with some kind of toggle. These are saved on OpenAI's servers, and then accessed by calling the custom training model. This functionality will be coming to GPT-4 later this year.

RapidRabbit-11485 commented 1 year ago

This substantially changes how the bot works, though it shows promise to significantly improve the results while using a cheaper API than GPT-4. Fine tuning coming to GPT-4 later this year is also exciting, showing that this investment to change process would also show greater benefits later, and this is the direction that OpenAI is heading in terms of development. This needs to be a 2.0 feature.

RapidRabbit-11485 commented 9 months ago

To give an update on this feature request: it is still being considered for implementation in 2.0. However, it is becoming apparent that this is going to require a database to store the questions in. I am considering developing a PNGTuber-GPT Pro, that will address this in a scalable and reliable way using Docker or K8s, by creating a standardized image for the application code and database with persistent storage. This would also allow for the bot to run independently on a Raspberry Pi, or even multiple nodes for redundancy. 2.0 right now is still just a mixture of ideas the community has given me, and it hasn't taken a final shape yet to plan out the development effort. I have also been focused on improving the 1.1 release to be as great as it can be for public consumption. While release 1.0 met the objectives of development, it did so in a very sloppy and unmaintainable way. Version 1.1 corrects that by reorganizing and refactoring the entire codebase to be more extensible and re-use methods. Once we are more stable these discussions can resume in earnest.