Thanks! I ended up using client.beta.vector_stores.file_batches.create_and_poll, which seems to take care of all that for me. Found it here: https://platform.openai.com/docs/assistants/tools/file-search/creating-vector-stores-and-adding-files
Not super intuitive but it works