Giter Site home page Giter Site logo

arconsis / quarkus-langchain-examples Goto Github PK

View Code? Open in Web Editor NEW
3.0 4.0 0.0 2.16 MB

This example repository illustrates the usage of LLMs with Quarkus by using the quarkus-langchain4j extension to build integrations with ChatGPT or Hugging Face. The code dives into simple conversations, retrieval augmented generation (RAG) and building agents.

Home Page: https://www.arconsis.com

License: Apache License 2.0

Java 1.72% HTML 98.28%
agents chatgpt huggingface langchain4j llms quarkus retrieval-augmented-generation

quarkus-langchain-examples's Introduction

Examples for the Quarkus LangChain Extension

This project uses Quarkus, the Supersonic Subatomic Java Framework. If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .

In this tutorial series, we take a close look into the Quarkus LangChain extension (Docs, GitHub). This is the example code to the video tutorials linked below

Video Tutorials

The following videos demonstrate and explain this code.

Standard Quarkus README

Prerequisites

This project example uses JDK 21. So please make sure you have a JDK 21 selected when building this project.

To get started

  • create a .env file by copying the .env.template file
  • enter either your OpenAI API key or your HuggingFace API key

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./gradlew quarkusDev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

Packaging and running the application

The application can be packaged using:

./gradlew build

It produces the quarkus-run.jar file in the build/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the build/quarkus-app/lib/ directory.

The application is now runnable using java -jar build/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

./gradlew build -Dquarkus.package.type=uber-jar

The application, packaged as an über-jar, is now runnable using java -jar build/*-runner.jar.

Creating a native executable

You can create a native executable using:

./gradlew build -Dquarkus.package.type=native

Or, if you don't have GraalVM installed, you can run the native executable build in a container using:

./gradlew build -Dquarkus.package.type=native -Dquarkus.native.container-build=true

You can then execute your native executable with: ./build/quarkus-llms-java-1.0.0-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/gradle-tooling.

Related Guides

  • RESTEasy Reactive (guide): A Jakarta REST implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.
  • SmallRye Health (guide): Monitor service health

Provided Code

RESTEasy Reactive

Easily start your Reactive RESTful Web Services

Related guide section...

SmallRye Health

Monitor your application's health using SmallRye Health

Related guide section...

quarkus-langchain-examples's People

Contributors

andreas-eberle avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.