Bump for visibility, also getting this.
Bump for visibility, also getting this. Hopefully it’s being looked into
wrangler dev --experimental-vectorize-bind-to-prodpnpm exec wrangler login--experimental-vectorize-bind-to-prod[ERROR] Error: VECTOR_QUERY_ERROR (code = 10000): Authentication error
at VectorizeIndexImpl._send (cloudflare-internal:vectorize-api:164:23)
at async VectorizeIndexImpl.queryImplV2 (cloudflare-internal:vectorize-api:196:21)
... 7 lines matching cause stack trace ...
at async runWorkflow (file:///Users/jonas/Projects/askd-ai/packages/embed-worker/src/server/workflow.ts:516:19) {
[cause]: Error: Authentication error
at VectorizeIndexImpl._send (cloudflare-internal:vectorize-api:167:28)
at async VectorizeIndexImpl.queryImplV2 (cloudflare-internal:vectorize-api:196:21)
at async VectorizeIndexImpl.query (cloudflare-internal:vectorize-api:42:20)vectorize = [{ binding = "VECTOR_INDEX", index_name = "sources-index-dev" }] return env.VECTOR_INDEX.query(await model.createEmbedding(query), {
// @ts-expect-error
filter: { parentId: { $in: parentIds } },
topK: 3,
returnMetadata: "all",
returnValues: true,
}); // Grab the appropriate vectorize binding (one for local dev, one for production)
const vectorize =
context.cloudflare.env.environment == "local"
? context.cloudflare.env.localvectorize
: context.cloudflare.env.vectorize;
const videoVectors = await vectorize.getByIds([videoId]);
const videoVector = videoVectors?.[0];
const results = await vectorize.query(videoVector.values, {
topK: 50,
});[[vectorize]]
binding = "localvectorize"
index_name = "neuraly-videos-local"
[[vectorize]]
binding = "vectorize"
index_name = "neuraly-videos"address already in usewrangler logoutAction function started
ProxyStub { name: 'VectorizeIndexImpl', poisoned: false }
Initialized database and vectorize
Verified user
Got form data
No early returns needed
Got new embeddings
combined embeddings
Error: VECTOR_INSERT_ERROR (code = 10000): Authentication error
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at action (/home/astro/Development/deployed/neuraly/app/routes/videos.upload.tsx:145:3)
at Object.callRouteAction (/home/astro/Development/deployed/neuraly/node_modules/@remix-run/server-runtime/dist/data.js:36:16)
at /home/astro/Development/deployed/neuraly/node_modules/@remix-run/router/router.ts:4929:19
at callLoaderOrAction (/home/astro/Development/deployed/neuraly/node_modules/@remix-run/router/router.ts:4993:16)
at async Promise.all (index 2)
at /home/astro/Development/deployed/neuraly/node_modules/@remix-run/server-runtime/dist/single-fetch.js:44:19
at callDataStrategyImpl (/home/astro/Development/deployed/neuraly/node_modules/@remix-run/router/router.ts:4865:17)
at callDataStrategy (/home/astro/Development/deployed/neuraly/node_modules/@remix-run/router/router.ts:4022:19)
at submit (/home/astro/Development/deployed/neuraly/node_modules/@remix-run/router/router.ts:3785:21) {
[cause]: Error: Authentication error
at VectorizeIndexImpl._send (cloudflare-internal:vectorize-api:167:28)
at async VectorizeIndexImpl.insert (cloudflare-internal:vectorize-api:91:21)
at async #fetch (file:///home/astro/Development/deployed/neuraly/node_modules/miniflare/dist/src/workers/core/entry.worker.js:828:18)
at async ProxyServer.fetch (file:///home/astro/Development/deployed/neuraly/node_modules/miniflare/dist/src/workers/core/entry.worker.js:734:14) {
[cause]: undefined
}
}await vectorize.insert([{ id: `${videoId}`, values: combinedEmb }]);export const action: ActionFunction = async ({ request, context }) => {
console.log("Action function started");
const db = drizzle(context.cloudflare.env.database);
const vectorize =
context.cloudflare.env.environment == "local"
? context.cloudflare.env.localvectorize
: context.cloudflare.env.vectorize;
console.log(vectorize)
console.log("Initialized database and vectorize");
const { user, newToken } = await verifyUser(context, request);
console.log("Verified user");
const formData = await request.formData();
const videoId = formData.get("videoId");
console.log("Got form data");
if (!videoId || !title || !thumbnail || !duration) {
console.warn(`Missing required field(s)`);
return AuthorizedResponse(
{ success: false, message: "Missing required field(s)" },
newToken
);
}
console.log("No early returns needed");
// Embedding stuff
const WEIGHTS = {
thumbnails: 0.25,
text: {
title: 0.5,
description: 0.25,
},
};
const [titleEmb, descEmb, thumbnailEmb] = await Promise.all([...]);
console.log("Got new embeddings");
const combinedEmb = combineVideoEmbeddings(...);
console.log("combined embeddings");
await vectorize.insert([{ id: `${videoId}`, values: combinedEmb }]);
console.log("inserted vector");
await handleTopicVectorOperations(
vectorize,
db,
null,
topic as string | null,
combinedEmb
);
console.log("handled vector operations");
// Database stuff
await db.insert(videos).values({...});
console.log("inserted into db");
// Video processor stuff
await sendToSQS(context, `${videoId}`);
console.log("sent to queue");
await startEC2Instance(context);
console.log("started ec2 instance");
return AuthorizedResponse(
{ success: true, message: "Uploaded video" },
newToken
);
};