Skip to content

Plutonic Rainbows

Evaluation Updates

I have implemented a fine-tuning system that collects and utilises user feedback to improve prompt refinements. The system stores feedback data (including prompts, ratings, and comments) in a SQLite database, and once I have collected 50 or more high-quality samples (rated 4 or 5 stars), I can initiate a fine-tuning process with OpenAI. This creates a custom model that's specifically tuned to my use cases and feedback.

When users interact with the /refine endpoint, the system now intelligently checks for the availability of a fine-tuned model and uses it if one exists, falling back to the standard GPT-4 model if necessary. I've added new endpoints to manage the fine-tuning process for the processes (/train and /training-status), while maintaining all existing API functionality. However, it's worth noting that the actual fine-tuning occurs on OpenAI's servers and requires OpenAI credits, so the system's effectiveness depends on both the quality of collected feedback and available resources.

Local React

I kept encountering persistent errors from the CDN hosting the React assets, which significantly disrupted my workflow. Instead of relying on an unpredictable external service, I took the initiative and dedicated most of yesterday to setting up the assets locally. Although it required substantial effort initially, this proactive step has made my development environment much more reliable and responsive. Not only have I eliminated the dependency on external CDN performance, but I also gained more control over asset management, leading to smoother, faster builds and an improved development experience overall.

EXIF and IPTC

I've improved my image generation app to ensure that prompt information is consistently saved with each image. Previously, sometimes the prompt text wasn't being properly written to the image files, which made it difficult to remember what prompts created which images. I've added better error handling around the metadata writing process, with specific fallback options if something goes wrong. Now, even if there's a problem with one method of saving the information, the app will try another approach and clearly log what happened. This makes the whole process more reliable and helps me track exactly what prompts were used to create each image, which is essential for my workflow.