I would like to share my experience on this topic, maybe it will amuse someone, or someone might advise me.
When I tried CustomGPT, I was amazed by its sensational performance, its understanding of the context of information, and its excellent adherence to instructions. I immediately looked for an API integration option and found links saying, “hey, create your own customGPT, just like the Assistant API, it’s the same thing.”
Okay, I sat down, looking forward to my own AI that would cover corporate helpdesk, and wrote a knowledge database, which I tested with CustomGPT (220 pages of text, about 1200 questions and answers, explanations, etc.). How did customGPT handle it? Brilliantly! It precisely connected answers from different topics, was able to answer new questions with original correct solutions and precise correct procedures.
I tried giving the same knowledge database to the Assistant. The result? Horrible. Each query consumed 7000 to 15000 tokens and the results were inaccurate. Where customGPT gives the correct solution and procedure, the Assistant replies, ‘I don’t have information about that in the source data,’ or totally hallucinates with a non-existent procedure.
After those tens of hours, I decided not to give up. The next step to achieve my own AI helpdesk = fine-tuning. For fine-tuning, I used the knowledge database of questions and answers, created alternative versions of the questions for the validation dataset. I ran the GPT 3.5 model (unfortunately, a better version is not available) through fine-tuning four times, with the final result of Training loss 0.1258 and Validation loss 0.2629. The result? Fine-tuned ChatGPT 3.5 responds completely off, unable to answer any “moderately difficult” question correctly. The level of hallucinations is like a hippie on the third day of a rock festival.
I returned to Assistant AI and studied the embedded knowledge database, thinking that in this structure it might search more efficiently and understand more information with less token consumption. I converted the knowledge database into an embedded format – from a 0.6MB txt file it became a 150MB json. It can’t work with such a large file. I divided the json file into smaller batches, but there are more than 20 of them, which exceeds the capacity for uploaded files for the Assistant API (and my current knowledge database covers only 30% of the information).
Either I made a rookie mistake, or it’s simply not worth the effort right now, and it’s best to fold my hands and pray to OpenAI to release an API for customGPT, because none of their other models achieve the same results with the use of a personal knowledge database.
I would like to be wrong. Please, if anyone knows, advise me.