En SQLLangage permettant de communiquer avec une base de données., lorsqu’une requête possède une condition sur une colonne sur laquelle porte une clause GROUP BY, cette condition n’est pas exprimée dans la clause WHERE mais dans la clause HAVING.
En SQLLangage permettant de communiquer avec une base de données., lorsqu’une requête possède une condition sur une colonne sur laquelle porte une clause GROUP BY, cette condition n’est pas exprimée dans la clause WHERE mais dans la clause HAVING.
Si vous savez faire une requête simple avec Hibernate 4, écrire une condition simple et utiliser la clause GROUP BY, la mise en place d’un HAVING ne vous posera pas de problème. Il faut utiliser la méthode having() de votre CriteriaQuery, de la même manière que vous utiliseriez la méthode where() : en lui passant un Predicate en paramètre.
Exemple l’utilisation du multiselect) :
CriteriaBuilder builder = entityManager.getCriteriaBuilder();
CriteriaQuery<Tuple> criteriaQuery = builder.createQuery(Tuple.class);
Root<Commande> root = criteriaQuery.from(Commande.class);
criteriaQuery.multiselect(root.get(Commande_.date), root.get(Commande_.departement), builder.count(root));
List<Expression<?>> groupList = new ArrayList();
groupList.add(root.get(Commande_.date));
groupList.add(root.get(Commande_.departement));
criteriaQuery.groupBy(groupList);
Predicate predicate = builder.notEqual(root.get(Commande_.departement), "75");
criteriaQuery.having(predicate);
TypedQuery<Tuple> typedQuery = entityManager.createQuery(criteriaQuery);
List<Tuple> result = typedQuery.getResultList();
Un RAG (Retrieval Augmented Generation) est un système utilisé dans les entreprises pour améliorer la gestion documentaire, et notamment, faciliter la recherche dans de grosses volumétries de documents. Si vous avez déjà testé d’utiliser l’IA avec les LLM traditionnels pour ce sujet, vous avez sûrement rencontré des problématiques importantes liées au manque de contexte ou de connaissances basé sur les documents (dû à la limite de tokens d’entrée). C’est là où le RAG joue sa carte ! Un RAG a pour but d’alimenter la base de connaissances de votre IA avec vos documents. Et comme, elle se base sur vos données pour répondre aux questions (documents internes, données confidentielles, etc), les réponses sont plus pertinentes ! Dans cet article, nous plongeons au coeur du fonctionnement d’un RAG pour vous expliquer les rouages du système. Let’s go !
Découvrez la planche #21 !
Découvrez la planche #5 !