You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+12-1Lines changed: 12 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -101,10 +101,11 @@ Done! You can now use the Elysia python package
101
101
102
102
### Configuring Settings
103
103
104
-
To use Elysia with Weaviate, i.e. for agentic searching and retrieval, you need a Weaviatecluster api key and URL. This can be specific in the app directly, or by creating a `.env` file with
104
+
To use Elysia with Weaviate, i.e. for agentic searching and retrieval, you need to either have a *locally running* instance of Weaviate, or access to a *Weaviate cloud cluster* via an api key and URL. This can be specific in the app directly, or by creating a `.env` file with
105
105
```
106
106
WCD_URL=...
107
107
WCD_API_KEY=...
108
+
WEAVIATE_IS_LOCAL=... # True or False
108
109
```
109
110
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 through the config.
110
111
@@ -181,3 +182,13 @@ There are no 'huge' new features we are planning for Elysia (for the moment). Yo
181
182
182
183
</details>
183
184
185
+
186
+
<details>
187
+
<summary><b>Can I run Elysia completely locally? (Locally running Weaviate, local models)</b></summary>
188
+
189
+
Yes!
190
+
191
+
You can connect to a locally running Weaviate instance in Docker, and connect to Ollama for locally running language models.
192
+
[See the setup page to get started.](https://weaviate.github.io/elysia/setting_up/)
Copy file name to clipboardExpand all lines: docs/Examples/query_weaviate.md
+9-8Lines changed: 9 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,30 +11,31 @@ This example will walk through using Elysia to:
11
11
12
12
Before setting up your environment and connecting to Weaviate, make sure you have the necessary API keys and access credentials for both your language models and your Weaviate instance. This will ensure a smooth setup process in the following steps.
13
13
14
-
1.[You should have a Weaviate cloud cluster - see Step 1.1 in the Weaviate quickstart guide.](https://docs.weaviate.io/weaviate/quickstart#step-1-set-up-weaviate)
15
-
2.[You need to find your REST endpoint URL and Admin API key for your cluster - see Step 1.3 in the Weaviate quickstart guide](https://docs.weaviate.io/weaviate/quickstart#13-connect-to-weaviate)
16
-
3. You additionally need API keys for any LLMs you want to use. We recommend [OpenRouter](https://openrouter.ai/) to gain access to a range of models.
14
+
1. You should have a Weaviate cloud cluster or locally running Weaviate instance - [see Step 1.1 in the Weaviate quickstart guide for cloud](https://docs.weaviate.io/weaviate/quickstart#step-1-set-up-weaviate) and [see here for running Weaviate locally with Docker](https://docs.weaviate.io/deploy/installation-guides/docker-installation).
15
+
2.[You need to find your REST endpoint URL and Admin API key for your cloud cluster - see Step 1.3 in the Weaviate quickstart guide](https://docs.weaviate.io/weaviate/quickstart#13-connect-to-weaviate), or
16
+
3. You additionally need API keys for any LLMs you want to use. We recommend [OpenRouter](https://openrouter.ai/) to gain access to a range of models, or [Ollama](https://ollama.com/) for locally running models.
17
17
18
18
## Setting up
19
19
20
-
Let's use the basic elysia `configure` to both *set up your models* and *connect to your Weaviate cluster*.
20
+
Let's use the basic elysia `configure` to both *set up your models* and *connect to your Weaviate instance*.
21
21
22
22
```python
23
23
from elysia import configure
24
24
configure(
25
+
weaviate_is_local=False, # replace with True if locally running Weaviate
25
26
wcd_url="...", # replace with your Weaviate REST endpoint URL
26
27
wcd_api_key="..."# replace with your Weaviate cluster API key,
27
-
base_model="gemini-2.0.flash-001",
28
-
base_provider="gemini",
28
+
base_model="gemini-2.0.flash-001",# replace with whichever model you are using
29
+
base_provider="gemini",# replace with your model provider or 'ollama' for locally running ollama models
29
30
complex_model="gemini-2.5.flash-001",
30
31
complex_provider="gemini",
31
-
gemini_api_key="..."# replace with your GEMINI_API_KEY from Google AI studio
32
+
gemini_api_key="..."# replace with your GEMINI_API_KEY from Google AI studio, or whichever API key you need for Weaviate/your LLMs
32
33
)
33
34
```
34
35
Alternatively, you can use different models, such as `gpt-4.1-mini`, `gpt-4.1`, with `base_provider="openai"` and `complex_provider="openai"`, as well as an `openai_api_key`. Or any model/provider combination that you wish, [see the full LiteLLM docs for all API keys and models/providers](https://docs.litellm.ai/docs/providers).
35
36
36
-
## Optional: Add some data to your Weaviate cluster
37
37
38
+
## Optional: Add some data to your Weaviate cluster
38
39
39
40
We're going to create some basic data and an example collection for this demo. This is based on [this example in the Weaviate docs](https://docs.weaviate.io/weaviate/recipes/generative_search_aws_bedrock).
Copy file name to clipboardExpand all lines: docs/index.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -46,13 +46,13 @@ Unlike other agent-based packages, Elysia is pre-configured to run a wide range
46
46
47
47
Or you could customise Elysia to your liking, create your own custom tools and add them to the Elysia decision tree.
48
48
49
-
To use Elysia to search your data, you need a Weaviate cluster (or you can define your own custom tool to search another data source!).
49
+
To use Elysia to search your data, you need to either have [a Weaviate cloud cluster or a locally running Weaviate instance](setting_up.md#weaviate-integration) (or you can define your own custom tool to search another data source!).
50
50
51
-
[Sign up to Weaviate! A 14 day sandbox cluster is free.](https://weaviate.io/deployment/serverless)
51
+
[Sign up to Weaviate Cloud! A 14 day sandbox cluster is free.](https://weaviate.io/deployment/serverless)
52
52
53
-
For more information on signing up to Weaviate, [click here](https://weaviate.io/developers/wcs/platform/create-account).
53
+
For more information on signing up to Weaviate Cloud, [click here](https://weaviate.io/developers/wcs/platform/create-account).
54
54
55
-
From your weaviate cluster, you can upload data via a CSV on the cloud console, or [you can upload via the Weaviate APIs](https://weaviate.io/developers/academy/py/zero_to_mvp/schema_and_imports/import).
55
+
From your Weaviate cloud cluster, you can upload data via a CSV on the cloud console, or [you can upload via the Weaviate APIs](https://weaviate.io/developers/academy/py/zero_to_mvp/schema_and_imports/import).
56
56
57
57
## About
58
58
@@ -64,7 +64,6 @@ Check out the Github Repositories for the backend and the frontend
64
64
65
65
Elysia was developed by Edward Schmuhl (frontend) and Danny Williams (backend). Check out our socials below:
Copy file name to clipboardExpand all lines: docs/setting_up.md
+45-4Lines changed: 45 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -66,18 +66,22 @@ configure(
66
66
67
67
On the app side, this is configurable via the 'Api Base URL' parameter in the Settings. Set both of your providers to `ollama`, and your base and complex model to whatever model you are currently hosting, and this should work out-of-the-box.
68
68
69
-
Warning: Elysia uses a *long context*, quite long context, due to the nature of the collection schemas, environment and more being included in every prompt. So these models will run quite slowly. However, on the backend, you can configure this to be faster by disabling connection to your Weaviate cluster, if applicable, by removing your weaviate api key and url. Also, there is an optional setting
69
+
**Warning**: Elysia uses a *long context*, quite long context, due to the nature of the collection schemas, environment and more being included in every prompt. So these models will run quite slowly. However, on the backend, you can configure this to be faster by disabling connection to your Weaviate cluster, if applicable, by removing your weaviate api key and url. There is an optional setting
70
70
```python
71
71
settings.configure(
72
72
base_use_reasoning=False,
73
73
complex_use_reasoning=False
74
74
)
75
75
```
76
-
which will remove chain of thought prompting for the base and complex model, respectively. Use this with caution though, as it will degrade accuracy significantly. Additionally, some smaller models struggle with the complex nature of multiple outputs in DSPy and Elysia, so you might encounter some errors. In testing, the `gpt-oss` models work relatively well.
76
+
which will remove chain of thought prompting for the base and complex model, respectively. *Use this with caution though*, as it will degrade accuracy significantly. Additionally, some smaller models struggle with the complex nature of multiple outputs in DSPy and Elysia, so you might encounter some errors. In testing, the `gpt-oss` models work relatively well.
77
+
78
+
*Note: Simplifying model outputs and reducing the context window size for local models is planned for a future version of Elysia. Stay tuned!*
77
79
78
80
## Weaviate Integration
79
81
80
-
To use Elysia with Weaviate, you need to specify your Weaviate cluster details. These can be set via the Weaviate Cluster URL (`WCD_URL`) and the Weaviate Cluster API Key (`WCD_API_KEY`). To set these values, you can use `configure` on the settings:
82
+
### Weaviate Cloud
83
+
84
+
To use Elysia with Weaviate cloud, you need to specify your Weaviate cluster details. These can be set via the Weaviate Cluster URL (`WCD_URL`) and the Weaviate Cluster API Key (`WCD_API_KEY`). To set these values, you can use `configure` on the settings:
81
85
```python
82
86
from elysia import configure
83
87
configure(
@@ -91,9 +95,46 @@ WCD_URL=... # replace with your WCD_URL
91
95
WCD_API_KEY=... # replace with your WCD_API_KEY
92
96
```
93
97
98
+
[You can sign up for a 14-day sandbox to Weaviate cloud for free.](https://weaviate.io/deployment/serverless)
99
+
100
+
### Local Weaviate
101
+
102
+
You can run Elysia with a locally running Weaviate (e.g. Docker), making Elysia able to be run with *completely open source* software. To do so, you only need to set your local Weaviate instance variables. Configure Elysia to use the local instance by setting in the `.env` file:
103
+
104
+
```
105
+
WEAVIATE_IS_LOCAL=True
106
+
107
+
# URL can be just a host or full URL; defaults shown below
# No API key required for local unless you enabled local auth
113
+
WCD_API_KEY=
114
+
```
115
+
116
+
Or within Python via:
117
+
118
+
```python
119
+
from elysia import configure
120
+
configure(
121
+
weaviate_is_local=True,
122
+
wcd_url="http://localhost:8080", # or "localhost"
123
+
local_weaviate_port=8080,
124
+
local_weaviate_grpc_port=50051,
125
+
)
126
+
```
127
+
128
+
Notes:
129
+
- If `WEAVIATE_IS_LOCAL=True` and no URL is provided, Elysia defaults to `localhost` with ports shown above.
130
+
- Local mode can work without an API key; if you enable auth locally, set `WCD_API_KEY` accordingly.
131
+
132
+
The easiest way to set up a local Weaviate instance is via Docker, [see here for detailed instructions.](https://docs.weaviate.io/deploy/installation-guides/docker-installation)
133
+
94
134
Additionally, you need to _preprocess_ your collections for Elysia to use the built in Weaviate-based tools, see below for details.
95
135
96
-
*Note: using a local Weaviate instance is currently not supported. This is coming soon! [You can sign up for a 14-day sandbox for free.](https://weaviate.io/deployment/serverless)
136
+
*Note: Using a local Weaviate instance is experimental. If you run into any issues, please open a [Github Issue](https://github.com/weaviate/elysia/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen)!*
0 commit comments