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.dev28.tar.gz (5.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.dev28-py3-none-any.whl (5.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elysia_ai-0.1.0.dev28.tar.gz
  • Upload date:
  • Size: 5.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.dev28.tar.gz
Algorithm Hash digest
SHA256 df42c9bba4e182a83e6cd3611aadfc29fbe72ca3f8d27a4e17dd85f0bc382f1b
MD5 0e1ac928ddd9ccedf1b1c684de2ce42f
BLAKE2b-256 2bfa2961613306aab15cea03b5c2893c46072a0559212355da72f17f29aa45a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elysia_ai-0.1.0.dev28-py3-none-any.whl
Algorithm Hash digest
SHA256 750a19553ec295c19e0222ced4d7fd5b52603b520cd38af5802dac4ccd21c5ab
MD5 9b197e2bfe07e5f8f8797cf2b2215aaa
BLAKE2b-256 85c676881bf90e76b064ea30a39d61c9cd95bcee1279c312fe477a1c8a753147

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