Hi!
I’ve built an assistant for helping parents to kids with special needs with their communication with the schools and authorities, and it is working quite well - with the help of the Assistant API. I’ve also ensured it knows about swedish educational laws, the right context and all. Quite neat.
Now I’m in the “next phase” supercharging it with additional context by giving it function calls to read the county’s protocols from the decisions bodys, the inspector general’s visits etc. That’s where gpt-4o-search-preview comes into the equation (using a separate chat completions call besides the main thread assistant).
I have function calling working to allow me to ask “Please find the protocols for the Solna county for the last year”, and it knows which website to visit, and correctly identifies the meeting dates and all.
BUT, ALL the links to the actual protocols (in pdf) are hallucinated! I really can’t tweak it to return correct url:s to the actual pdfs - they are all 404’s. (I’ve tried to increase the context from medium to high as well, no change).
I ultimately want these protocols to be downloaded and then fed into the main assistant thread through the filesearch method, so the main assistant thread can use the knowledge in the continued dialogue with the parent.
I’m kind of stuck - any good ideas on how to (re)structure this approach? Help would be greatly appreciated! I’m having a lot of fun with building these tools - fantastic capabilities indeed!
The system prompt I’m using with gpt-4o-search-preview is: “You are a search assistant using search-preview to find specific information and valid links from specified websites. Before providing a URL in response, ensure it is a valid link that will return a PDF file for further analysis. Return the result according to the specified JSON schema. If any information is missing (e.g., mentioned, date, title, or URL), indicate ‘Not found’ for that field. The links to the protocols will later be used to download the protocols as PDFs for further analysis, so they must be valid and exist on the website. If a URL cannot be verified as valid, indicate ‘Not found’ for that field. You must NOT generate or guess URLs that do not exist on the website. If you cannot find a valid URL, indicate ‘Not found’. If you cannot find any protocols, return an empty list.”