Posts

Posts mit dem Label "AI" werden angezeigt.

RAG Chatbot mit Spring AI, AWS Bedrock und Vektor Datenbank

Bild
Wie bringt man einem KI Chatbot Unternehmens-Knowhow bei? Retrieval Augmented Generation (RAG) ist eine Lösung, die ich in diesem Artikel mit Amazon Bedrock, der Vektor Datenbank pgvector und Spring AI umsetze. RAG Architektur-Überblick Der Benutzer chattet mit dem Chatbot unserer Anwendung (hier "RAG Chat Service"). Diesen Teil implementieren wir selbst mit Java und Spring AI. Als LLM bzw. Chat-Service verwendet unsere Spring AI Anwendung den AWS Dienst Bedrock mit dem Sprachmodell Titan (eine Alternative zu GPT von OpenAI). Ohne eigene Dokumente in einer Vektor Datenbank, hätten wir so einen Chatbot ohne Unternehmens-spezifisches Wissen - vergleichbar mit ChatGPT. So etwas habe ich schon mit GPT gebaut, siehe dazu  gpt-3 in deiner Java Webanwendung . Unsere Anwendung sucht in der Vektor Datenbank nach zur Chat-Anfrage des Benutzers passenden Dokumenten. Mit diesen Unternehmens-spezifische Texten reichert unsere Anwendung die Interaktion mit dem Bedrock Titan Chat Service an...

AI Assistent mit LangChain4j und Spring Boot

Bild
LangChain4j ist ein neues und populäres Framework, um LLMs, Vektor-Datenbanken und weitere KI-Funktionen in Java Systemen zu nutzen. In diesem Artikel integrieren wir LangChain4j in eine Spring Boot Anwendung. Spring Boot mit LangChain4j Maven Dependencies Stand 22.07.2024 hat LangChain4j noch eine Nuller-Version im Maven Repository. LangChain4j integrieren wir als 3rd-Party Bibliothek in unser Spring Boot Projekt: < dependencies > < dependency > < groupId >org.springframework.boot</ groupId > < artifactId >spring-boot-starter-web</ artifactId > </ dependency > < dependency > < groupId >dev.langchain4j</ groupId > < artifactId >langchain4j-spring-boot-starter</ artifactId > < version >0.32.0</ version > </ dependency > < dependency > < groupId >dev.langchain4j</ groupId > < artifactId >langchain4j-azure-op...

Software-Entwicklung mit KI-Hilfe von ChatGPT

Bild
Wie hilft uns KI beim Programmieren? Als erfahrener Software Entwickler zeige ich euch, in welchen Situationen mir ChatGPT beim Entwickeln besonders hilft. Die Trainingsdaten der KI enthalten viele Programmiersprachen und Technologien. Außerdem kennt sie viele Algorithmen, Tutorials, Opensource Codes, Probleme und deren Lösungen. Dein Arbeits-Kontext, der komplette Sourcecode dazu und euer Problem bzw. dessen echte Root-Cause sind der KI allerdings unbekannt. Die KI bzw. ChatGPT hilft euch also nur so gut, wie ihr euer Problem bzw. die Anforderung mit passendem Kontext klar beschreibt. Mein generelles Vorgehen dazu ist Teile und Herrsche . Ich zerlege meine User Story bzw. meine Aufgabe in kleinere Teile. Kleinere Teilprobleme oder Teilanforderungen lassen sich leichter und genauer beschreiben, so dass die KI bzw. ChatGPT mich besser unterstützen kann.  Um euch das zu verdeutlichen, zeige ich im Folgenden Beispiele aus meinem Entwickler-Alltag. In diesen Beispielen habe ich Teil-Pr...

Copilot Evaluierung bei der Telekom

Bild
Hebt KI die Software-Entwicklung auf ein neues Level? Sind EntwicklerInnen mit KI Support schneller als ohne? Diesen Fragen stellen wir uns bei der Deutschen Telekom IT GmbH. Dazu führten mein Team und ich eine Evaluierung von GitHub Copilot durch. Ich stelle euch hier die Ergebnisse und Meinungen des Teams vor. Warum Copilot? Copilot integriert sich in die Entwicklungsumgebung der Programmierenden. Es analysiert den vorhandenen Sourcecode und macht mittels KI unterstützter Text-Completion Vorschläge für weiteren Code. Diesen können die ProgrammiererInnen per Tastendruck übernehmen. Das beschleunigt insbesondere das Schreiben von sich wiederholendem Code. Copilot in der Praxis ChatGPT hilft EntwicklerInnen bei technischen Fragestellungen. Dazu unterbrechen wir das Schreiben von Code in der IDE, öffnen im Browser die Chat-KI und stellen unsere Frage oder Anforderung. Mit der Antwort von ChatGPT wechseln wir in die IDE und probieren sie aus. Im Unterschied zu ChatGPT unterstützt Copilot ...

ChatGPT Chatbot in Java Web-Anwendung integrieren

Bild
Wie integrierst Du eine künstliche Intelligenz als Chatbot in Deine Web-Anwendung? Am einfachsten indem Du die GPT-3 API benutzt. Hier zeige ich, wie es mit Java funktioniert. OpenAI Account und API Key OpenAI bietet die GPT-3 API an, die auch ChatGPT verwendet. Willst Du sie nutzen? Dann geht es vor dem eigentlichen Programmieren in Java so los: Eigenen Account auf  https://openai.com/ erstellen. Einloggen und eigenen API Key erstellen: https://beta.openai.com/account/api-keys Der API Key berechtigt Deine Anwendung die GPT-3 API zu nutzen. Bei YouTube findet ihr ein englisches und deutsches Video passend zu diesem Blog-Artikel. How-To use GPT-3 API video in English GPT-3 API mit Java HttpClient aufrufen Die GPT-3 API kann mit jeder Programmiersprache bzw. jedem HTTP Client verwendet werden. Ich zeige euch hier, wie es mit dem HttpClient von Java funktioniert. String postBody =       """      {          " prompt": "Code ...