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.dev23.tar.gz (49.8 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.dev23-py3-none-any.whl (50.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elysia_ai-0.1.0.dev23.tar.gz
  • Upload date:
  • Size: 49.8 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.dev23.tar.gz
Algorithm Hash digest
SHA256 065c3be96ca855eec9f4afeab3a81f1c1606f5d32cf92371df51b05d4a0c3c45
MD5 a8f69f75c20959f240f885212099f46c
BLAKE2b-256 40f80656d9074d684f8dfbbad5452d5057b47eea624706dbdde353d80cbcc10e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elysia_ai-0.1.0.dev23-py3-none-any.whl
Algorithm Hash digest
SHA256 a118ce9676c9479f9ea183b37d4f41c2bd3c7429505efd9d67cc1059eaddc862
MD5 eb46295a2a21c84e23b872574917a250
BLAKE2b-256 6903bcfe8511e116a3e1cae9c2807ec3a9c278bcf56bdacb811d22d76b435c89

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