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.dev24.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.dev24-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: elysia_ai-0.1.0.dev24.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.dev24.tar.gz
Algorithm Hash digest
SHA256 9bea58d8c0894931bdf43fdb53e8857be02f623d581f41103e47937869fb5050
MD5 f12204b05ecfe13f86001f954801e077
BLAKE2b-256 f48fff8c87358dc2d67ec6d68378c8b78ba6a9c098f9084b839cc1e52008cbf9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for elysia_ai-0.1.0.dev24-py3-none-any.whl
Algorithm Hash digest
SHA256 04fb9c328b3039f5a27f0e15a0671f0e457d0286492902bed6bf0e98b5876601
MD5 4135e1df4c2aca33632005b0bbf2a552
BLAKE2b-256 8256955cc36a7c784e543591a69bbb8bfe44dd2721e8595f3b5d729ceadce321

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