Malachia is a Java Quarkus langchain4j project focused on implementing agentic application defining graph.
Malachia is a fictional character in Umberto Eco's novel The Name of the Rose. He is the abbey's librarian and the only one with access to the labyrinthine library, holding the secrets of its layout and organization. He is portrayed as suspicious of outsiders and fiercely protective of the library's contents.
- Java
- Quarkus
- Langchaing4j
- Maven
Ensure you have the following installed:
- Java 21 or higher
- Maven 3.6.3 or higher
We welcome contributions! Please follow these steps to contribute: Fork the repository. Create a new branch (git checkout -b feature-branch). Commit your changes (git commit -am 'Add new feature'). Push to the branch (git push origin feature-branch). Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details. Feel free to reach out for any questions or support regarding the Malachia project. Enjoy experimenting with LLM agents using Quarkus and Langchaing4j!
This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/.
You can run your application in dev mode that enables live coding using:
./mvnw quarkus:devNOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.
The application can be packaged using:
./mvnw packageIt produces the quarkus-run.jar file in the target/quarkus-app/ directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.
The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.
If you want to build an über-jar, execute the following command:
./mvnw package -Dquarkus.package.jar.type=uber-jarThe application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar.
You can create a native executable using:
./mvnw package -DnativeOr, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Dnative -Dquarkus.native.container-build=trueYou can then execute your native executable with: ./target/malachia-1.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.