Исключение в потоке "Main" java.lang.noclassdeffounderror: com/google/protobuf/mapfieldreflectionaccorsorJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Исключение в потоке "Main" java.lang.noclassdeffounderror: com/google/protobuf/mapfieldreflectionaccorsor

Сообщение Anonymous »

Я пытаюсь вызвать AI Vertex AI и получить данные на основе запроса с использованием Java. Я получаю эту ошибку: < /p>

Код: Выделить всё

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/protobuf/MapFieldReflectionAccessor

Я пробовал разные версии зависимостей, но это не работает.
Также я заметил, что MapfieldReflectionAccessor устарел и больше не используется, но я только получаю эту ошибку.
package com.multi_turn
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import com.google.cloud.aiplatform.v1.EndpointName;
import com.google.cloud.aiplatform.v1.PredictResponse;
import com.google.cloud.aiplatform.v1.PredictionServiceClient;
import com.google.cloud.aiplatform.v1.PredictionServiceSettings;
import com.google.protobuf.Value;
/*import com.google.cloud.aiplatform.v1.Value;*/
import com.google.protobuf.util.JsonFormat;

public class PredictTextPromptSample {

public static void main(String[] args) throws IOException {
String instance = "{ \"prompt\": " + "\"Give me ten interview questions for the role of program manager.\"}";

System.out.println("Instance: " + instance);

String parameters = "{\n" + " \"temperature\": 0.2,\n" + " \"maxOutputTokens\": 256,\n"
+ " \"topP\": 0.95,\n" + " \"topK\": 40\n" + "}";

String project = "repl-template-test";
String location = "us-central1";
String publisher = "google";
String model = "text-bison@001";

predictTextPrompt(instance, parameters, project, location, publisher, model);

}

public static void predictTextPrompt(String instance, String parameters, String project, String location,
String publisher, String model) throws IOException {

String endpoint = String.format("%s-aiplatform.googleapis.com:443", location);
PredictionServiceSettings predictionServiceSettings = PredictionServiceSettings.newBuilder()
.setEndpoint(endpoint).build();
try {
PredictionServiceClient client = PredictionServiceClient.create(predictionServiceSettings);
final EndpointName endPointName = EndpointName.ofProjectLocationPublisherModelName(project, location,
publisher, model);

Value.Builder instanceValue = Value.newBuilder();
JsonFormat.parser().merge(parameters, instanceValue);
List instances = new ArrayList();
instances.add(instanceValue.build());

Value.Builder parameterValueBuilder = Value.newBuilder();
JsonFormat.parser().merge(parameters, parameterValueBuilder);
Value parameterValue = parameterValueBuilder.build();

PredictResponse predictResponse = client.predict(endPointName, instances, parameterValue);
System.out.println(predictResponse);

} catch (Exception e) {
// TODO: handle exception
}

}

}
< /code>

4.0.0
multi-turn_replit
vertex.ai
jar
0.0.1-SNAPSHOT
vertex.ai
http://maven.apache.org


junit
junit
4.13.2
test


com.google.cloud
google-cloud-aiplatform
3.47.0



com.google.protobuf
protobuf-java
3.21.12




maven-central
Maven Central
https://repo1.maven.org/maven2/



< /code>
Я должен получить ответ от вершины AI вместо ошибки, которую я получаю. Кажется, существует проблема совместимости версий Protobuf-Java и Google-Cloud-Aiplatform, но я не уверен, что делать.


Подробнее здесь: https://stackoverflow.com/questions/788 ... protobuf-m
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»