It looks like with the Assistants API
# ❓︱i-need-help
g
It looks like with the Assistants API you can only upload 1 file at a time, but with the vector database API you can upload many. I have a use case where I need to regularly upsert many file to an assistant. Is there a way to connect an assistant to a regular pinecone vector database instead of the assistant's built-in storage?
b
There is not at this time but that's super useful feedback. I'm not exactly sure how the Assistant file upload works in the Console, but I am guessing it's spitting off multiple upload requests in parallel. Is that something you could try?
g
yes, that's what I did instead, just ran them in parallel for now. So it's not a blocker, but it would be nice to have the same bulk upsert in the assistants API.
or the ability to change the vector store ID of an assistant, or create an assistant and specify an existing vector database.
m
@great-addition-84402 for what it's worth, the claude code plugin willl upload multiple files in a folder for you, if you want to fire an agent at it instead
*to an assistant
g
thanks @mammoth-lighter-94680 , yeah I have the pinecone plugin and the assistant MCP both in claude code. It works ok with parallel requests for now and I got everything uploaded. I'm just trying to optimize it for running on a schedule whenever the source (docs and github issues) need synced. It's the differences between a few API calls every sync, or hundreds (maybe thousands).
m
ya that makes sense, thanks for explaining, we'll elevate this internally!
g
@mammoth-lighter-94680 @brainy-leather-20096 I'm bringing this up again because it's becoming a real pain point in our CI/CD. I've reviewed nexus and it does not solve our issue either because there's no generation model like with assistants, and I can't mix an assistant with other vector storage. Could you please see if there is possibly any undocumented REST API endpoint or CLI method for the assistants that would allow bulk file uploads, or copying an assistant? Or would be possible to add either feature?
b
@great-addition-84402 what are the chances you are/could have your data stored on a google drive folder? we have a newer feature (appears to be undocumented) that lets you sync data to an assistant via google drive. i'll have to get the details on it like limits, etc. if this might be helpful.
if that's not helpful, can you summarize average file size, number of files needing to be synced/uploaded each time, how frequently this would run, and type of data (i assume text).
we are not currently working on or have plans to "disconnect" the assistant from the data source/database.
g
hmm, that workaround would require a new service account and API key for google for us to automate. Not ideal. Every time we update either of our libraries, I create a new assistant for the dev branch of our docs with the new knowledge- but I also have to upload ALL of the old existing files. It's about 1600 md files every time, with single API calls. I really need bulk upload, or at least the ability to clone an assistant then upsert the diff.
then when the new version ships to prod, I rollover the new assistant to the prod docs. This gives us a separate assistant to roll back to, and keeps us from sharing an assistant across dev and prod with knowledge that shouldn't be out yet.
b
I have shared this with the team again. Unfortunately, we don't have what you're asking for yet. I'll follow up again next week to see if/how it gets prioritized.
2 Views