As per the subject, I’m looking at making use of the Assistants and their VectorStores but from reviewing the docs it’s unclear whether the files are deleted alongside the VectorStore or just the VectorStore at the VectorStore inactive threshold.
There is no maintenance done for you on the actual uploaded files.
Nor is there sufficient metadata for you to rely on what’s been uploaded.
Since threads with messages can last 60 days but the default temporary vector store of attachments is 7 days, there is even a significant inconsistency when revisiting threads and expecting them to still provide some quality of continuation.
The amount of database you need to track all this seems considerably more than just your own user session database system built using chat completions.
I actually already have the DB element sorted - it is the file element that is interesting as abstracting the complexity of component of it is appealing.
To your 7 day expiry point, one can just re-create the thread and a new vector store will be created if the last use is > 7 days right?
Presumably files stored are still charged, but never cleaned up - that is frustrating…
The storage is free, you just get max 100GB of it per org. You would not want an application that continues to create forgotten vector stores without expiry - that’s where you pay, besides the huge amount of data injected from their use.
if you really wanted to be devious, you add the storage file to the thread vector store on demand, have it be embedded, then ask about it and remove. OpenAI isn’t charging for the actual cost of performing the AI embedding call, they charge you for leaving them in vector database state.
“recreating” can’t re-create those past internal tool calls that the AI may already rely on. Discouraging extended chats is more friendly to your budget.