The OpenAI RAG system struggled with multiple documents, showing inconsistent performance with our evaluation framework. However, performance improved markedly when all documents were uploaded as a single document. Despite current limitations, such as a 20-file limit per assistant and challenges in handling multiple documents, there is significant potential for improvement. Enhancing the Assistants API to match GPT quality and reducing restrictions could make it a leading RAG solution.
https://www.tonic.ai/blog/rag-evaluation-series-validating-openai-assistants-rag-performance
Surprising that OpenAI would release something so haphazardly. Must’ve wanted to get it in before dev day
Its weird for me. I fried my brain since they released it on this matter and so far, whenever I want it to process, I explicitly tell it to try opening the files no matter what.
I believe there is an issue in their “os” or file management system when you’re uploading files. I believe uploading the files (so not using the file ids) fixes it. Accessing these files via file ids generated at a much earlier time is not as effective as uploading the same file although its the exact same file.
I don’t know as it’s kind of a black box right now. It might be something else and what I’m getting might be coincidental.
Very varied responses here, so we need deterministic responses (seeds) for assistants too, which I think will be available one day.
If you’re struggling, add a feedback loop and have 2 agents, one will be your agent, the other will be quality control. I think then you can generate a json response to see if the quality checker approved the output of the main agent. Works for me although conversations are sometimes very long (not always, 10% of the time) but they do figure it out eventually.
The best tool that everyone is eager for would let users upload as many documents as they want, ask questions about them, and the AI would nail the answers, pulling out all the relevant bits from those documents. That’s my goal that I want to build (when I have time) in parallel with my current solution YourDocGPT.com which supports one document at a time but gives outstanding results based on current user feedback.
I have developed an algorithm that when combined with the ChatGPT API, yields very accurate results. The primary challenge with handling multiple documents is the API’s maximum token limit. So, what I’m thinking is, when a user requests information from, say, 100 documents, the system should focus on the most relevant documents (for example, the top 5) and extract the most pertinent information from those five. This approach will require extensive tweaking and testing. However, users who need information from all 100 documents in a single response may find this limitation unsatisfactory.