Skip to main content

Elysia is an open-source agentic platform for searching data. It is built with customisation in mind, allowing you to build agents and tools that are tailored to your specific use case. It uses Weaviate as the default retrieval tools, and can interface with your data stored in a Weaviate cluster.

Project description

Welcome to Elysia

Elysia is an agentic platform designed to use tools in a decision tree. A decision agent decides which tools to use dynamically based on its environment and context. You can use custom tools or use the pre-built tools designed to retrieve your data in a Weaviate cluster.

Read the docs!

Get Started

To use Elysia, you need to either set up your models and API keys in your .env file, or specify them in the config. See the setup page to get started.

Elysia can be used very simply:

from elysia import tool, Tree

tree = Tree()

@tool(tree=tree)
async def add(x: int, y: int) -> int:
    return x + y

tree("What is the sum of 9009 and 6006?")

Elysia is pre-configured to be capable of connecting to and interacting with your Weaviate clusters!

import elysia
tree = elysia.Tree()
response, objects = tree(
    "What are the 10 most expensive items in the Ecommerce collection?",
    collection_names = ["Ecommerce"]
)

This will use the built-in open source query tool or aggregate tool to interact with your Weaviate collections. To get started connecting to Weaviate, see the setting up page in the docs.

Installation (bash) (Linux/MacOS)

PyPi (Recommended)

Simply run

pip install elysia-ai

to install straight away!

GitHub

To get the latest development version, you can do

git clone https://github.com/weaviate/elysia

move to the working directory via

cd elysia

Create a virtual environment with Python (version 3.10 - 3.12, see installation instructions for brew or ubuntu).

python3.12 -m venv .venv
source .venv/bin/activate

and then install Elysia via pip

pip install -e .

Done! You can now use the Elysia python package

Running the Elysia App

Backend

Just simply run

elysia start

and the backend will start on localhost:3000 by default.

Frontend Installation

From the directory you just cloned, (i.e. inside elysia/). You need to clone the frontend repository (give it a star!) via

git clone https://github.com/weaviate/elysia-frontend

navigate inside the frontend repository via

cd elysia-frontend

and install and run the node server via

npm install
npm run dev

By default this will run the app on localhost:8000. Visit this to use the app!

Configuring the Environment

To use Elysia with Weaviate, i.e. for agentic searching and retrieval, you need a Weaviate cluster api key and URL

WCD_URL=...
WCD_API_KEY=...

Elysia will automatically detect these when running locally, and this will be the default Weaviate cluster for all users logging into the Elysia app. But these can be configured on a user-by-user basis.

Whichever vectoriser you use for your Weaviate collection you will need to specify your corresponding API key, e.g.

OPENAI_API_KEY=...

These will automatically be added to the headers for the Weaviate client.

Same for whichever model you choose for the LLM in Elysia, so if you are using GPT-4o, for example, specify an OPENAI_API_KEY.

The 'default' config for Elysia is to use OpenRouter to give easy access to a variety of models. So this requires

OPENROUTER_API_KEY=...

and OpenAI as the vectorisers for the alpha datasets, so you need OPENAI_API_KEY too.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elysia_ai-0.1.0.dev21.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elysia_ai-0.1.0.dev21-py3-none-any.whl (2.1 MB view details)

Uploaded Python 3

File details

Details for the file elysia_ai-0.1.0.dev21.tar.gz.

File metadata

  • Download URL: elysia_ai-0.1.0.dev21.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for elysia_ai-0.1.0.dev21.tar.gz
Algorithm Hash digest
SHA256 6b16cda32afefe551469af9d2afdcdd61970a169e04c3ee07c7e9b3ec04eec1c
MD5 e9cd8178442bf9492aef1ad39d9cf5a2
BLAKE2b-256 0a39bb129d28b5b8f18395ff4e0663f7b7ed672d88697eeeea74b4aac115eae4

See more details on using hashes here.

File details

Details for the file elysia_ai-0.1.0.dev21-py3-none-any.whl.

File metadata

File hashes

Hashes for elysia_ai-0.1.0.dev21-py3-none-any.whl
Algorithm Hash digest
SHA256 f8f1398c603b772cd5e2d1215ed7789766ad87cec07f6c8803a6f6535e50d8cd
MD5 07832d20637513e62727dd7b088414d1
BLAKE2b-256 1a71e714ab04ef7cec220939cd2443d4a5cae6775dbb7bf91e052242c449c707

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page