无法使用 API 密钥进行身份验证

Unable to authenticate using API key

我正在尝试将服装检测模型与 Node.js 结合使用。我将 运行 保留为 2 个错误。 我收到的第一个错误是:

Invalid API key or Invalid API key/application pair

根据此代码创建:

const grpc = require("@grpc/grpc-js");

const stub=ClarifaiStub.grpc();
const metadata = new grpc.Metadata();
metadata.set("authorization", "Key xxxxxxxxxxxxxxxxxxxxxxxxxxx");

stub.PostModelOutputs(
    {
        model_id: "72c523807f93e18b431676fb9a58e6ad",
        version_id: "1ed35c3d176f45d69d2aa7971e6ab9fe",  // This is optional. Defaults to the latest model version.
        inputs: [
            {data: {image: {url: "https://sc01.alicdn.com/kf/HTB1VxCwKFXXXXXeaXXXq6xXFXXX1.jpg"}}}
        ]
    },
    metadata,
    (err, response) => {
        if (err) {
            throw new Error(err);
        }

        if (response.status.code !== 10000) {
            throw new Error("Post model outputs failed, status: " + response.status.description);
        }

        // Since we have one input, one output will exist here.
        const output = response.outputs[0];

        console.log("Predicted concepts:");
        for (const concept of output.data.concepts) {
            console.log(concept.name + " " + concept.value);
        }
    }
);

我 运行 遇到的第二个问题是尝试为此应用程序创建工作流时。选择服装模型并单击创建工作流程时,我收到此消息:

Your request was blocked. Missing feature flags: [Model Visual Detector]

我收到与我尝试过的不同模型/模型组合相同的消息。很抱歉我现在感到很迷茫的众多问题。感谢您的帮助。

使用您的 API 密钥,我能够成功调用该模型。但是,我省略了 version_id 字段。看起来这个版本 ID 不正确(如果您省略它,那么它将只获取最新版本的模型)。

const grpc = require("@grpc/grpc-js");

const stub=ClarifaiStub.grpc();
const metadata = new grpc.Metadata();
metadata.set("authorization", "Key xxxxxxxxxxxxxxxxxxxxxxxxxxx");

stub.PostModelOutputs(
    {
        model_id: "72c523807f93e18b431676fb9a58e6ad",
        inputs: [
            {data: {image: {url: "https://sc01.alicdn.com/kf/HTB1VxCwKFXXXXXeaXXXq6xXFXXX1.jpg"}}}
        ]
    },
    metadata,
    (err, response) => {
        if (err) {
            throw new Error(err);
        }

        if (response.status.code !== 10000) {
            throw new Error("Post model outputs failed, status: " + response.status.description);
        }

        // Since we have one input, one output will exist here.
        const output = response.outputs[0];

        console.log("Predicted concepts:");
        for (const concept of output.data.concepts) {
            console.log(concept.name + " " + concept.value);
        }
    }
);

我隐藏了你的密钥(包括在答案中),因为你通常不想公开分享它。