@NotNull @Override public GetModelRequest getModelByID(@NotNull String modelID) { return new GetModelRequest(this, modelID); }
@Test public void getModelByID() { client.getModelByID("{{model_id}}").executeSync(); }
@NotNull @Override public ListenableFuture httpRequestGrpc() { return stub().getModel(ModelOuterClass.GetModelRequest.newBuilder().build()); }
@Test public void getModelVersionByID() { client.getModelVersionByID("{{model_id}}", "{{version_id}}").executeSync(); // Or in a more object-oriented manner: client.getModelByID("{{model_id}}") .executeSync().get() // Returns Model object .getVersionByID("{{version_id}}").executeSync(); }
@Test public void deleteAModelVersion() { client.deleteModelVersion("{{model_id}}", "{{version_id}}").executeSync(); // Or in a more object-oriented manner: client.getModelByID("{{model_id}}") .executeSync().get() // Returns Model object .deleteVersion("{{version_id}}") .executeSync(); }
@Test public void retrieveCompleteModel() { ConceptModel model = client.getDefaultModels().generalModel(); client.getModelByID(model.id()).executeSync().get().asConceptModel(); }
@Test public void getModelShouldReturnConceptsWhenWithPermissions() { GetModelRequest request = makeClient(EnvVar.CLARIFAI_API_KEY_MODELS_AND_CONCEPTS_GET.value()) .getModelByID(client.getDefaultModels().travelModel().id()); ClarifaiResponse<Model<?>> response = request.executeSync(); assertNotEquals(0, response.get().asConceptModel().outputInfo().concepts().size()); }
@Test public void quickStartConcepts() { ConceptModel model = client.getDefaultModels().generalModel(); // The default model has outputInfo null. ConceptModel completeModel = client.getModelByID(model.id()).executeSync().get().asConceptModel(); List<Concept> concepts = completeModel.outputInfo().concepts(); // Using getModelByID retrieves a complete model. } }
@Test public void getModelShouldNotReturnConceptsWhenNoPermissions() { GetModelRequest request = makeClient(EnvVar.CLARIFAI_API_KEY_MODELS_GET.value()) .getModelByID(client.getDefaultModels().travelModel().id()); ClarifaiResponse<Model<?>> response = request.executeSync(); assertEquals(0, response.get().asConceptModel().outputInfo().concepts().size()); }
@Retry @Test public void t14b_addConceptsToModel_00() { assertSuccess(client.getModelByID(getModelID()).executeSync().get().asConceptModel() .modify().withConcepts(Action.MERGE, Concept.forID("outdoors23")) ); }
@Retry @Test public void t14c_addConceptsToModel_multi_lang() { assertSuccess(client.getModelByID(getModelID()).executeSync().get().asConceptModel() .modify().withConcepts(Action.MERGE, Concept.forID("outdoors23")).withLanguage("zh")); }
@Test public void modelPredictShouldBeSuccessfulWhenCompleteModel() { ConceptModel apparelModel = client.getModelByID(client.getDefaultModels().apparelModel().id()).executeSync().get().asConceptModel(); ClarifaiResponse<List<ClarifaiOutput<Concept>>> response = apparelModel.predict().withInputs(ClarifaiInput.forImage(SUNGLASSES_IMAGE_URL)).executeSync(); ClarifaiOutput<Concept> output = response.get().get(0); assertNotNull(output.model().modelVersion()); assertNotNull(output.data()); }
/** * When using the getModelRequest helper, outputInfo should be populated. */ @Test public void shouldHaveOutputInfoWhenUsingHelper() { ConceptModel model = client.getDefaultModels().apparelModel() .getModelRequest().executeSync().get().asConceptModel(); assertNotNull(model.outputInfo()); assertNotNull(model.outputInfo().concepts()); } }
@Test public void addConceptsToModel() { client.modifyModel("{{model_id}}") .withConcepts(Action.MERGE, Concept.forID("dogs")) .executeSync(); // Or, if you have a ConceptModel object, you can do it in an OO fashion final ConceptModel model = client.getModelByID("{{model_id}}").executeSync().get().asConceptModel(); model.modify() .withConcepts(Action.MERGE, Concept.forID("dogs")) .executeSync(); }
@Test public void removeConceptsFromAModel() { client.modifyModel("{{model_id}}") .withConcepts(Action.REMOVE, Concept.forID("dogs")) .executeSync(); // Or, if you have a ConceptModel object, you can do it in an OO fashion final ConceptModel model = client.getModelByID("{{model_id}}").executeSync().get().asConceptModel(); model.modify() .withConcepts(Action.REMOVE, Concept.forID("dogs")) .executeSync(); }
@Test public void shouldHaveFieldsPopulatedAfterGetModelById() { ConceptModel model = client.getModelByID(client.getDefaultModels().nsfwModel().id()) .executeSync().get().asConceptModel(); ModelVersion modelVersion = model.modelVersion(); assertNotNull(modelVersion.status()); assertNotNull(modelVersion.createdAt()); assertNotNull(modelVersion.totalInputCount()); assertNotNull(modelVersion.activeConceptCount()); }
@Test public void shouldHaveFieldsPopulatedUsingGetModelVersionByID() { ConceptModel model = client.getModelByID(client.getDefaultModels().nsfwModel().id()) .executeSync().get().asConceptModel(); ModelVersion modelVersion = client.getModelVersionByID(model.id(), model.modelVersion().id()) .executeSync().get(); assertNotNull(modelVersion.status()); assertNotNull(modelVersion.createdAt()); assertNotNull(modelVersion.totalInputCount()); assertNotNull(modelVersion.activeConceptCount()); } }