Как добавить настроенную модель Gemini в мое приложение в студии AndroidJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как добавить настроенную модель Gemini в мое приложение в студии Android

Сообщение Anonymous »

Я разрабатываю мобильное приложение экстренной помощи для Android в рамках своей диссертации по компьютерному инженерию. Я интегрировал Gemini API для создания системы оказания первой помощи, уже сгенерировал ключ API и протестировал исходный код.
Моя проблема в том, что модель реагирует на любой ввод, не только чрезвычайные ситуации. Я попытался решить эту проблему, создав подсказку с конкретным набором данных для экстренных ситуаций и сгенерировав настроенную модель. Однако, изменив параметр modelName внутри GenerativeModel gm = new GenerativeModel(modelName, apiKey); на идентификатор сгенерированной настроенной модели TunedModels/first-aid-123example123, настроенная модель не дает никаких ответов.
Как мне настроить код, чтобы использовать настроенную модель вместо стандартной генеративной модели Gemini?
Это моя фактический код:

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

//imports

public class AssistanceActivity extends AppCompatActivity {

private EditText emergencyInput;
private TextView responseView;
private Button sendButton;
private GenerativeModelFutures model;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_assistance);

ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});

emergencyInput = findViewById(R.id.emergencyInput);
responseView = findViewById(R.id.response);
sendButton = findViewById(R.id.send);

GenerativeModel gm = new GenerativeModel("gemini-1.5-flash", "GeminiApiKey");
model = GenerativeModelFutures.from(gm);

sendButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String query = emergencyInput.getText().toString().trim();
if (!query.isEmpty()) {
modelCall(query);
} else {
responseView.setText("Por favor ingrese una consulta.");
}
}
});
}

private void modelCall(String query) {
Content content = new Content.Builder()
.addText(query)
.build();

ListenableFuture response = model.generateContent(content);
Futures.addCallback(
response,
new FutureCallback() {
@Override
public void onSuccess(GenerateContentResponse result) {
String resultText = result.getText();

SpannableStringBuilder spannable = new SpannableStringBuilder();

String[] lines = resultText.split("\n");

for (String line : lines) {
if (line.startsWith("**")) {
String boldText = line.replace("**", "");
SpannableString spannableBold = new SpannableString(boldText + "\n");
spannableBold.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 0, boldText.length(), 0);
spannable.append(spannableBold);
} else if (line.startsWith("*")) {
String listItem = "• " + line.replace("*", "") + "\n";
spannable.append(listItem);
} else {
spannable.append(line + "\n");
}
}

runOnUiThread(() -> responseView.setText(spannable));
}

@Override
public void onFailure(Throwable t) {
t.printStackTrace();
runOnUiThread(() -> responseView.setText("Error al obtener respuesta.  Intente nuevamente."));
}
}, getMainExecutor());
}
}

Я попытался интегрировать настроенную модель в свое экстренное приложение с помощью API Gemini, изменив идентификатор настроенной модели в параметре ModelName внутри GenerativeModel. Я ожидал, что настроенная модель будет отвечать только на запросы, связанные с чрезвычайными ситуациями, но теперь она не отвечает ни на какие запросы.
Я распечатал ошибку через консоль и получил следующее:
Я распечатал ошибку через консоль и получил следующее:
п>

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

Unexpected Response:
}
"error": {
"code": 403,
"message": "You do not have permission to access tuned model tuned Models/ first-aid-123example123.",
}
}
"status": "PERMISSION_DENIED"
kotlinx.serialization.MissingFieldException:
Field 'details' is required for type with serial name 'com.google.ai.client.generativeai.commo n.server.GRpcError', but it was missing at path:
$.error
И я получаю эту ошибку, когда уже добавил доступ к проекту:
Разрешение на доступ к проекту

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как экспортировать настроенную модель SetFit в формат ONNX?
    Anonymous » » в форуме Python
    0 Ответы
    58 Просмотры
    Последнее сообщение Anonymous
  • Как перенацелить ориентиры 3D-позы (точки в 3D-пространстве) на настроенную модель гуманоида в Three.js?
    Гость » » в форуме Javascript
    0 Ответы
    12 Просмотры
    Последнее сообщение Гость
  • Как загрузить настроенную модель фильма Vision? Чехол для модели Moondream
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Как загрузить настроенную модель фильма Vision? Чехол для модели Moondream
    Anonymous » » в форуме Python
    0 Ответы
    24 Просмотры
    Последнее сообщение Anonymous
  • Как загрузить настроенную модель фильма Vision? Чехол для модели Moondream
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous

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