<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Openai on Java &amp; Moi</title><link>https://javaetmoi.com/tags/openai/</link><description>Recent content in Openai on Java &amp; Moi</description><generator>Hugo</generator><language>fr</language><lastBuildDate>Mon, 11 Nov 2024 18:34:24 +0000</lastBuildDate><atom:link href="https://javaetmoi.com/tags/openai/feed.xml" rel="self" type="application/rss+xml"/><item><title>Intégrer un Chatbot dans une webapp Java avec LangChain4j</title><link>https://javaetmoi.com/2024/11/integrer-un-chatbot-dans-une-webapp-java-avec-langchain4j/</link><pubDate>Mon, 11 Nov 2024 18:34:24 +0000</pubDate><guid isPermaLink="false">https://javaetmoi.com/?p=2391</guid><description>&lt;p&gt;Cet article explique comment intégrer un &lt;strong&gt;chatbot&lt;/strong&gt; utilisant l’ &lt;strong&gt;IA générative&lt;/strong&gt; dans une &lt;strong&gt;application de gestion&lt;/strong&gt; codée en &lt;strong&gt;Java&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Nous nous appuierons sur le framework Open Source &lt;a href="https://docs.langchain4j.dev/"&gt;&lt;strong&gt;LangChain4j&lt;/strong&gt;&lt;/a&gt;, une adaptation Java de la célèbre librairie python LangChain,
visant à simplifier l&amp;rsquo;intégration de grands modèles de langage ( &lt;strong&gt;LLM&lt;/strong&gt;). LangChain4j permet de créer des &lt;strong&gt;agents conversationnels&lt;/strong&gt;, des &lt;strong&gt;assistants virtuels&lt;/strong&gt; (comme notre chatbot),
ou des applications capables d&amp;rsquo;effectuer des &lt;strong&gt;analyses de texte&lt;/strong&gt; et de répondre en fonction de données contextuelles, le tout sans devoir écrire de code complexe et avec un &lt;strong&gt;haut niveau d’abstraction&lt;/strong&gt;.
Elle facilite notamment l&amp;rsquo;utilisation des API des Large Langage Model comme &lt;a href="https://docs.langchain4j.dev/integrations/language-models/open-ai"&gt;OpenAI&lt;/a&gt; et &lt;a href="https://docs.langchain4j.dev/integrations/language-models/hugging-face"&gt;Hugging Face&lt;/a&gt;,
et propose différents connecteurs pour des bases de données vectorielles, incluant &lt;a href="https://docs.langchain4j.dev/integrations/embedding-stores/elasticsearch"&gt;Elasticsearch&lt;/a&gt; et &lt;a href="https://docs.langchain4j.dev/integrations/embedding-stores/qdrant"&gt;Qdrant&lt;/a&gt;.
Pour accélérer son intégration, LangChain4j propose des extensions pour &lt;strong&gt;Quarkus&lt;/strong&gt; et des starters pour &lt;strong&gt;Spring Boot&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Pour illustrer cet article, nous utiliserons l’illustre application démo &lt;strong&gt;Spring Petclinic&lt;/strong&gt; et son récent fork dédié à LangChain4j : &lt;a href="https://github.com/spring-petclinic/spring-petclinic-langchain4j"&gt;&lt;strong&gt;spring-petclinic-langchain4j&lt;/strong&gt;&lt;/a&gt;&lt;br&gt;Propulsé par Spring Boot, Spring Petclinic s’appuie sur &lt;strong&gt;Spring Data JPA&lt;/strong&gt; pour l’accès aux données et &lt;strong&gt;Thymeleaf&lt;/strong&gt; pour la couche présentation HTML / CSS / JavaScript.&lt;br&gt;En septembre 2024, Oded Shopen, contributeur en 2020 du fork &lt;a href="https://github.com/spring-petclinic/spring-petclinic-cloud/"&gt;Spring Petclinic Cloud&lt;/a&gt;, &lt;a href="https://spring.io/blog/2024/09/26/ai-meets-spring-petclinic-implementing-an-ai-assistant-with-spring-ai-part-i"&gt;a proposé une intégration de Spring AI dans Spring Petclinic&lt;/a&gt;. De son travail, est né le projet &lt;a href="https://github.com/spring-petclinic/spring-petclinic-ai"&gt;spring-petclinic-ai&lt;/a&gt;. Le repository &lt;a href="https://github.com/spring-petclinic/spring-petclinic-langchain4j"&gt;spring-petclinic-langchain4j&lt;/a&gt; est un &lt;strong&gt;portage&lt;/strong&gt; du framework &lt;strong&gt;&lt;a href="https://spring.io/projects/spring-ai/"&gt;Spring AI&lt;/a&gt;&lt;/strong&gt; vers &lt;strong&gt;LangChain4j&lt;/strong&gt;. Y a été ajouté notamment une fonctionnalité de &lt;strong&gt;streaming&lt;/strong&gt;.&lt;br&gt;Extraits du sample, les exemples de code s’appuient sur les versions 3.3 de Spring Boot et &lt;strong&gt;0.35.0 de LangChaing4j&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;figure&gt;
&lt;picture&gt;
&lt;img
loading="lazy"
decoding="async"
alt=" "
class="image_figure image_internal image_unprocessed"
src="https://javaetmoi.com/wp-content/uploads/2024/11/langchain4j-question-llm.png"
title=" "
/&gt;
&lt;/picture&gt;
&lt;/figure&gt;
&lt;/p&gt;</description></item></channel></rss>