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.dev29.tar.gz (1.7 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.dev29-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elysia_ai-0.1.0.dev29.tar.gz
  • Upload date:
  • Size: 1.7 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.dev29.tar.gz
Algorithm Hash digest
SHA256 f6e75d1032c8504adf25ff58a9f225bfbd1e32409d209f3eefb2f739714f6672
MD5 0fb0dbc28c385d2806adaa602b61eecf
BLAKE2b-256 9d5c92c768c1c6e70954ab55cb6097d8812dfe6054a4825ee886aa091f91560f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elysia_ai-0.1.0.dev29-py3-none-any.whl
Algorithm Hash digest
SHA256 708549fedc5d708a1b04550b231e8be6cead789f07e4053fa5f07847429ecf4d
MD5 d6426b93d8657346551d9d19d55d8734
BLAKE2b-256 682067633646d2a8d956da763151aa3f442129520900f991a4a0804ee1ae5833

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