- Notifications
You must be signed in to change notification settings - Fork15
Building applications with LLMs through composability, in Kotlin
License
xebia-functional/xef
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Bring modern AI everywhere!
xef is the one-stop library to bring the power of modern AI to your application or service,in the form of LLM (Large Language Models), image generation, and many others.Our goal is to make the move to this new world as simple as possible for the developer.xef.ai is packaged in two layers:
- Core libraries bringing integration with the basic services in an AI application.These libraries expose anidiomatic interface, so there's one per programming language.At this moment we support Kotlin.
- Integrations with other libraries which complement the core mission of xef.ai.
xef.ai draws inspiration from libraries likeLangChainand community projects likeHugging Face.
While this library is licensed under the Apache License, it's crucialto inform our users about specific data transmission behaviors associatedwith using this software.
This library may transmit source code and potentially user input data tothird-party services as part of its functionality. We understand the paramountimportance of data security and privacy, so we want to be upfront about these mechanisms.
Developers integrating this library into their applications should be awareof this behavior and take necessary precautions to ensure that sensitive datais not inadvertently transmitted.
We strongly recommend reviewing the third-party services' privacy policiesbefore using this library, as their data handling practices may not align withyour expectations or requirements.
You acknowledge and agree to these data transmission behaviors by using thislibrary. Please consider this when planning your data management and privacystrategies.
Libraries are published in Maven Central, under thecom.xebia
group.
xef-core
is the core library.- The name of a library we provide integration for, like
xef-lucene
.
You may need to add that repository explicitly in your build, if you haven't done it before.
repositories { mavenCentral() }
Then add the libraries in the usual way.
// In Gradle Kotlindependencies { implementation("com.xebia:xef-core:<version>")}
We publish all libraries at once under the same version, soversion catalogscould be useful.
Inthis small introduction we look at the main features of xef.
You can also have a look at theexamples to have a feeling of how using the library looks like.
To build the project locally, you can use the following commands:
./gradlew downloadOpenAIAPI./gradlew openaiClientGenerate./gradlew build
The server and postgres tests may fail if you don't haveDocker installed.The server and postgres related tests depend onTestcontainers, which in turn depends on Docker.
About
Building applications with LLMs through composability, in Kotlin