xef

xef

Building applications with LLMs through composability, in Kotlin, Scala, ...

Stars: 175

Visit
 screenshot

xef.ai is a one-stop library designed to bring the power of modern AI to applications and services. It offers integration with Large Language Models (LLM), image generation, and other AI services. The library is packaged in two layers: core libraries for basic AI services integration and integrations with other libraries. xef.ai aims to simplify the transition to modern AI for developers by providing an idiomatic interface, currently supporting Kotlin. Inspired by LangChain and Hugging Face, xef.ai may transmit source code and user input data to third-party services, so users should review privacy policies and take precautions. Libraries are available in Maven Central under the `com.xebia` group, with `xef-core` as the core library. Developers can add these libraries to their projects and explore examples to understand usage.

README:

xef.ai Maven Central

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:

  1. Core libraries bringing integration with the basic services in an AI application. These libraries expose an idiomatic interface, so there's one per programming language. At this moment we support Kotlin.
  2. Integrations with other libraries which complement the core mission of xef.ai.

xef.ai draws inspiration from libraries like LangChain and community projects like Hugging Face.

โš ๏ธ Data Transmission Disclosure

While this library is licensed under the Apache License, it's crucial to inform our users about specific data transmission behaviors associated with using this software.

This library may transmit source code and potentially user input data to third-party services as part of its functionality. We understand the paramount importance of data security and privacy, so we want to be upfront about these mechanisms.

Developers integrating this library into their applications should be aware of this behavior and take necessary precautions to ensure that sensitive data is not inadvertently transmitted.

We strongly recommend reviewing the third-party services' privacy policies before using this library, as their data handling practices may not align with your expectations or requirements.

You acknowledge and agree to these data transmission behaviors by using this library. Please consider this when planning your data management and privacy strategies.

๐Ÿ›Ž๏ธ Getting the Libraries

Libraries are published in Maven Central, under the com.xebia group.

  1. xef-core is the core library.
  2. 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 Kotlin 
dependencies {
  implementation("com.xebia:xef-core:<version>")
}

We publish all libraries at once under the same version, so version catalogs could be useful.

๐Ÿ“– Quick Introduction

In this small introduction we look at the main features of xef.

๐Ÿš€ Examples

You can also have a look at the examples to have a feeling of how using the library looks like.

๐Ÿšง Local Development

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 have Docker installed. The server and postgres related tests depend on Testcontainers, which in turn depends on Docker.

For Tasks:

Click tags to check more tools for each tasks

For Jobs:

Alternative AI tools for xef

Similar Open Source Tools

For similar tasks

For similar jobs