I’m trying to upload stored in a vector
const fileStreams = ["knowledge.txt"].map((path) =>
fs.createReadStream(path)
);
// Create a vector store including our files.
let vectorStore = await openai.beta.vectorStores.create({
name: "Customer queries Vector Store",
});
await openai.beta.vectorStores.fileBatches.uploadAndPoll(
vectorStore.id,
fileStreams
);
I’m getting the next error:
node_modules/openai/resources/beta/vector-stores/file-batches.js:99
if (files === null || files.length == 0) {
^
TypeError: Cannot read properties of undefined (reading ‘length’)
at FileBatches.uploadAndPoll (node_modules/openai/resources/beta/vector-stores/file-batches.js:99:37)
Node.js v20.13.1
Library v4.46.1
2 Likes
Were you able to resolve this? I am facing a similar problem.
Found the issue.
The uploadAndPoll method destructures the filestreams in the following fashion.
To solve this, pass the filestreams as follows
await openai.beta.vectorStores.fileBatches.uploadAndPoll(vectorStore.id, {
files: fileStreams,
});
2 Likes
Thanks. This seems to have worked. So, it seems like docs at https://platform.openai.com/docs/assistants/tools/file-search/quickstart is using uploadAndPoll in the wrong way.
This is how it uses it
await openai.beta.vectorStores.fileBatches.uploadAndPoll(vectorStore.id, fileStreams)
Apparently, even the documentation can be wrong . Now that I think of it, I have been seeing some typos around. So, I guess they’re only human.
1 Like
Thanks! I was facing the same issue!
1 Like