How to clean vector store? (Not just deleting files)

Dear community,
I’m not sure how to clean a specific vector store.

Assistant/Thread can only have one Vector store. I have uploaded base knowledge for file_search on startup, and the User could randomly upload his files in the thread for his purpose.

When the thread completed, I want to clean the Vector store to prevent the corruption of knowledges caused by user in the previous sessions.

My questions are;

  1. Can Assistant and Thread have a different Vector Store each other? If possible, I want to assign base knowledge to Assistant’s vector store, and user’s file to Thread’s Vector store.
    But in my experience, It seems not work well as my expectation. First, When I assigend a Vector store to Assistant, the files looked not retrieved well.

  2. If Assistant/Thread should have a same vector store, How can I clean the vector store’s files?
    Files object has filename though, Vector store files object doesn’t have a filename or metadata so I cannot distinguish which is base knowledge or user uploaded.
    Does it mean, I should execute two methods openai.files.list() and openai.beta.vectorStores.files.list() then compare/match them to find what-to-keep?

  3. Maybe deleting all files then re-upload base knowledge could be another solution. But in that case, other parallel on-going threads’ files might be deleted also. How can I specify files of given thread only?