我正在尝试在我的应用程序中使用 Clarifai api,但收到一条错误消息说 "cannot resolve symbol"

I am trying to use Clarifai api in my application, but getting an error saying that "cannot resolve symbol"

我正在尝试在我的应用程序中使用 Clarifai API,但收到一条错误消息说 "cannot resolve symbol"

final List<ClarifaiOutput<Concept>> predictionResults = Clarifai.getDefaultModels()
.generalModel()
.predict()
.withInputs(
     ClarifaiInput.forImage(
         ClarifaiImage.of("https://samples.clarifai.com/metro-north.jpg")
     )
).executeSync()

它在说

not able to resolve symbol Clarifai

这里好像导入不正确。确保您遵循以下位置列出的所有步骤:

https://github.com/Clarifai/clarifai-java

Clarifai 不是该存储库中的 class...https://github.com/Clarifai/clarifai-java

AFAIK,您需要使用创建一个 ClarifaiBuilder,然后在其上调用 build(),然后 然后 您可以调用 getDefaultModels()


来自单元测试。

  @NotNull final ClarifaiClient client = new ClarifaiBuilder(appID, appSecret)
      .baseURL(baseURL)
      .client(new OkHttpClient.Builder()
          .connectTimeout(60, TimeUnit.SECONDS)
          .readTimeout(60, TimeUnit.SECONDS)
          .writeTimeout(60, TimeUnit.SECONDS)
          .addInterceptor(new HttpLoggingInterceptor(System.out::println).setLevel(HttpLoggingInterceptor.Level.BODY))
          .build()
      )
      .buildSync();

...

  @Test public void quickStartPredict() {
    final ClarifaiResponse<List<ClarifaiOutput<Concept>>> predictionResults =
        client.getDefaultModels().generalModel() // You can also do client.getModelByID("id") to get custom models
            .predict()
            .withInputs(
                ClarifaiInput.forImage(ClarifaiImage.of("@@sampleTrain"))
            )
            .executeSync();
  }