Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
mjfelis committed Nov 11, 2024
1 parent 7aad7fd commit 2826e54
Show file tree
Hide file tree
Showing 11 changed files with 50 additions and 30 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ public void historize(UUID connectionId, LlamaRole role, String data) {
em.persist(h);
}

private void checkModels(String model) {
public boolean checkModels(String model) {
OllamaAPI ollamaAPI = new OllamaAPI(serviceUrl);
ollamaAPI.setRequestTimeoutSeconds(300);
boolean modelLoaded = false;
Expand All @@ -135,13 +135,14 @@ private void checkModels(String model) {
if (m.getName().startsWith(model)) {
modelLoaded = true;
}
logger.info(m.getName());
logger.info("loaded model: " + m.getName());
}

} catch (Exception e) {
logger.error("", e);
}

return modelLoaded;
/*
if (!modelLoaded) {
logger.info("loading model...");
try {
Expand All @@ -150,6 +151,7 @@ private void checkModels(String model) {
logger.error("", e);
}
}
*/

}
}
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ public class Service {

@Inject MtProducer mtProducer;
@Inject OllamaProducer ollamaProducer;
@Inject OllamaService ollamaService;


@RestClient
@Inject CredentialTypeResource credentialTypeResource;
Expand Down Expand Up @@ -255,15 +257,12 @@ private Session getSession(UUID connectionId) {
session = new Session();
session.setConnectionId(connectionId);
this.getModels();
session.setModel(defaultModel);
em.persist(session);

} else {
if (session.getModel() == null) {
this.getModels();
if (ollamaService.checkModels(defaultModel)) {
session.setModel(defaultModel);
session = em.merge(session);
em.persist(session);
}


}

return session;
Expand Down Expand Up @@ -511,22 +510,35 @@ public void userInput(BaseMessage message) throws Exception {

content = content.replaceAll(CMD_ROOT_MENU_SET_MODEL.toString(), "").strip();

if (session != null) {
session.setModel(content);
session = em.merge(session);
}
mtProducer.sendMessage(TextMessage.build(message.getConnectionId(), message.getThreadId() , this.getMessage("SET_MODEL").replaceAll("MODEL", content)));
if (ollamaService.checkModels(content)) {
if (session != null) {
session.setModel(content);
session = em.merge(session);
}
mtProducer.sendMessage(TextMessage.build(message.getConnectionId(), message.getThreadId() , this.getMessage("SET_MODEL").replaceAll("MODEL", content)));
} else {
mtProducer.sendMessage(TextMessage.build(message.getConnectionId(), message.getThreadId() , this.getMessage("SET_MODEL_ERROR").replaceAll("MODEL", content)));

}



}

else if ((session != null) && (session.getAuthTs() != null)) {

OllamaMsg msg = new OllamaMsg();
msg.setContent(content);
msg.setUuid(session.getConnectionId());
msg.setModel(session.getModel());
if (session.getModel() == null) {
mtProducer.sendMessage(TextMessage.build(message.getConnectionId(), message.getThreadId() , this.getMessage("SET_MODEL_ERROR").replaceAll("MODEL", content)));
} else {
OllamaMsg msg = new OllamaMsg();
msg.setContent(content);
msg.setUuid(session.getConnectionId());
msg.setModel(session.getModel());

ollamaProducer.sendMessage(msg);
}


ollamaProducer.sendMessage(msg);

} else {
mtProducer.sendMessage(TextMessage.build(message.getConnectionId(), message.getThreadId() , this.getMessage("ERROR_NOT_AUTHENTICATED")));
Expand Down
3 changes: 2 additions & 1 deletion src/main/resources/META-INF/resources/Messages_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service unavailable, or to many requests to this address. Please w
USAGE=Ask me something.
ERROR_NOT_AUTHENTICATED=You need to prove you're human to use this service. Check the contextual menu and authenticate yourself.
CMD_ROOT_MENU_SET_MODEL_TEXT=Switch to MODEL model
SET_MODEL=Model set to MODEL. Use the contextual menu to switch to another model.
SET_MODEL=Model set to MODEL. Use the contextual menu to switch to another model.
SET_MODEL_ERROR=Model MODEL not available in ollama service. Use the contextual menu to switch to another model.
3 changes: 2 additions & 1 deletion src/main/resources/META-INF/resources/Messages_es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service unavailable, or to many requests to this address. Please w
USAGE=Pregúntame algo.
ERROR_NOT_AUTHENTICATED=Debes demostrar eres hunamo para usar este servicio. Accede al menú contextual para ver las opciones disponibles.
CMD_ROOT_MENU_SET_MODEL_TEXT=Usar el modelo MODEL
SET_MODEL=Modelo seleccionado: MODEL. Usar el menú contextual para cambiar de modelo.
SET_MODEL=Modelo seleccionado: MODEL. Usar el menú contextual para cambiar de modelo.
SET_MODEL_ERROR=Modelo MODEL no disponible en el servidor ollama. Usar el menú contextual para cambiar de modelo.
3 changes: 2 additions & 1 deletion src/main/resources/META-INF/resources/Messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service indisponible, ou trop d'envois à la même adresse. Reessa
USAGE=Pose moi une question.
ERROR_NOT_AUTHENTICATED=Vous devez prouver que vous êtes humain pour utiliser ce service. Veuillez lancer l'autentication depuis le menu contextuel.
CMD_ROOT_MENU_SET_MODEL_TEXT=Utiliser le modèle MODEL
SET_MODEL=Modèle selectionné: MODEL. Utiliser le menu contextuel pour changer de modèle.
SET_MODEL=Modèle selectionné: MODEL. Utiliser le menu contextuel pour changer de modèle.
SET_MODEL_ERROR=Le modèle MODEL n'est pas disponible sur le serveur ollama. Utiliser le menu contextuel pour changer de modèle.
4 changes: 2 additions & 2 deletions src/main/resources/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ quarkus.datasource.jdbc.min-size=2
quarkus.hibernate-orm.database.generation=update
quarkus.artemis.url=tcp://127.0.0.1:61616
%dev.quarkus.artemis.url=tcp://127.0.0.1:61616
quarkus.swagger-ui.always-include=true
%dev.quarkus.swagger-ui.always-include=true
quarkus.jib.jvm-entrypoint=/bin/sh,run-java.sh
Expand Down
3 changes: 2 additions & 1 deletion target/classes/META-INF/resources/Messages_en.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service unavailable, or to many requests to this address. Please w
USAGE=Ask me something.
ERROR_NOT_AUTHENTICATED=You need to prove you're human to use this service. Check the contextual menu and authenticate yourself.
CMD_ROOT_MENU_SET_MODEL_TEXT=Switch to MODEL model
SET_MODEL=Model set to MODEL. Use the contextual menu to switch to another model.
SET_MODEL=Model set to MODEL. Use the contextual menu to switch to another model.
SET_MODEL_ERROR=Model MODEL not available in ollama service. Use the contextual menu to switch to another model.
3 changes: 2 additions & 1 deletion target/classes/META-INF/resources/Messages_es.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service unavailable, or to many requests to this address. Please w
USAGE=Pregúntame algo.
ERROR_NOT_AUTHENTICATED=Debes demostrar eres hunamo para usar este servicio. Accede al menú contextual para ver las opciones disponibles.
CMD_ROOT_MENU_SET_MODEL_TEXT=Usar el modelo MODEL
SET_MODEL=Modelo seleccionado: MODEL. Usar el menú contextual para cambiar de modelo.
SET_MODEL=Modelo seleccionado: MODEL. Usar el menú contextual para cambiar de modelo.
SET_MODEL_ERROR=Modelo MODEL no disponible en el servidor ollama. Usar el menú contextual para cambiar de modelo.
3 changes: 2 additions & 1 deletion target/classes/META-INF/resources/Messages_fr.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ WAIT=MESSAGE: Service indisponible, ou trop d'envois à la même adresse. Reessa
USAGE=Pose moi une question.
ERROR_NOT_AUTHENTICATED=Vous devez prouver que vous êtes humain pour utiliser ce service. Veuillez lancer l'autentication depuis le menu contextuel.
CMD_ROOT_MENU_SET_MODEL_TEXT=Utiliser le modèle MODEL
SET_MODEL=Modèle selectionné: MODEL. Utiliser le menu contextuel pour changer de modèle.
SET_MODEL=Modèle selectionné: MODEL. Utiliser le menu contextuel pour changer de modèle.
SET_MODEL_ERROR=Le modèle MODEL n'est pas disponible sur le serveur ollama. Utiliser le menu contextuel pour changer de modèle.
4 changes: 2 additions & 2 deletions target/classes/application.properties
Original file line number Diff line number Diff line change
Expand Up @@ -82,9 +82,9 @@ quarkus.datasource.jdbc.min-size=2
quarkus.hibernate-orm.database.generation=update
quarkus.artemis.url=tcp://127.0.0.1:61616
%dev.quarkus.artemis.url=tcp://127.0.0.1:61616
quarkus.swagger-ui.always-include=true
%dev.quarkus.swagger-ui.always-include=true
quarkus.jib.jvm-entrypoint=/bin/sh,run-java.sh
Expand Down
Binary file not shown.

0 comments on commit 2826e54

Please sign in to comment.