Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
164 commits
Select commit Hold shift + click to select a range
b641f91
Added core refactoring code
yeshaokai Mar 11, 2024
bcfd498
Added config class
yeshaokai Mar 11, 2024
40c6d23
Better handled typing and required modules for task program
yeshaokai Mar 11, 2024
2beedc3
removed brains
yeshaokai Mar 12, 2024
75411ab
WIP
yeshaokai Mar 18, 2024
7acb438
backup
yeshaokai Mar 27, 2024
7d5c617
Added common task programs
yeshaokai Mar 29, 2024
00b3ca1
fixed bugs in composite events
yeshaokai Apr 6, 2024
51c6257
fixed yet another bug
yeshaokai Apr 6, 2024
419e5f2
changed the way comparison works
yeshaokai Apr 7, 2024
083c1b6
WIP
yeshaokai May 29, 2024
4941103
WIP
yeshaokai Jun 2, 2024
ac7fe2c
before correcting animal state fusion
yeshaokai Jun 4, 2024
acb04e0
fixed how we handle animal state fusion
yeshaokai Jun 4, 2024
4065945
Fixed some bug
yeshaokai Jun 4, 2024
b47a996
separated text rendering and execution rendering
yeshaokai Jun 5, 2024
f87b147
added cached amaudes creation
yeshaokai Jun 5, 2024
0c73978
better rendering of function rets
yeshaokai Jun 5, 2024
492893a
integration module works again
yeshaokai Jun 18, 2024
9dd8903
fixed the duplicate plot
yeshaokai Jun 18, 2024
38f94d0
added context window length control
yeshaokai Jun 18, 2024
cc60646
Some improvements
yeshaokai Jun 20, 2024
4cf1f0e
black and isort
yeshaokai Jun 20, 2024
e0d0e86
Fixed token cost calculation and revert y axis
yeshaokai Jun 21, 2024
dca963f
removed unused files
yeshaokai Jun 22, 2024
5b8ad43
Added back the example data
yeshaokai Jun 22, 2024
5b432f2
replaced mabe keypoint files
yeshaokai Jun 22, 2024
f3df726
Added roi object names into system prompt and fixed a bug
yeshaokai Jun 23, 2024
e5f8545
Fixed another bug
yeshaokai Jun 23, 2024
23db4ac
Fixed an bug in head angle
yeshaokai Jul 1, 2024
e7fb749
Changed the out video name to use function name
yeshaokai Jul 1, 2024
163ccab
updated example.json for mabe as several things change in the codebase
yeshaokai Jul 1, 2024
d160a91
some fixes to event negate
yeshaokai Jul 1, 2024
aef5a90
3 different conda yaml and installation scripts
yeshaokai Jul 2, 2024
0775230
Edited installation files. SuperAnimal can be run if there is no keyp…
yeshaokai Jul 3, 2024
d0ca881
temporally removed docker
yeshaokai Jul 4, 2024
af4a7f3
fixed image usage api
yeshaokai Jul 4, 2024
12fc55a
integrated vlm for configuration
yeshaokai Jul 4, 2024
8277281
added visual llm prompt
yeshaokai Jul 4, 2024
3f5787d
Fixed bugs
yeshaokai Jul 4, 2024
a25f3af
added automatic superanimal
yeshaokai Jul 4, 2024
4a7118f
deleted unused stuff
yeshaokai Jul 4, 2024
04b8353
Fixed some bugs
yeshaokai Jul 4, 2024
4ab3349
fixed more bugs
yeshaokai Jul 4, 2024
431f409
Fixed upload bug
yeshaokai Jul 5, 2024
c1c7202
default not to use video adaptation
yeshaokai Jul 5, 2024
9815249
Added back movie files
yeshaokai Jul 5, 2024
c15407a
updates
yeshaokai Jul 5, 2024
2032a4e
added notebooks
yeshaokai Jul 5, 2024
1542f35
Fixed a bug in video writing
yeshaokai Jul 5, 2024
7750786
adjusted a few things
yeshaokai Jul 5, 2024
21e5b7b
updates
yeshaokai Jul 5, 2024
22fd665
updated EPM notebook
yeshaokai Jul 5, 2024
17377f8
more updates
yeshaokai Jul 5, 2024
39a00e1
updates to proj configs files
yeshaokai Jul 5, 2024
7bc04ae
Merge branch 'shaokai/add_notebooks'
yeshaokai Jul 5, 2024
612d30b
cleanup
yeshaokai Jul 5, 2024
7f08ab0
Update README.md
yeshaokai Jul 5, 2024
77c816c
Update README.md
yeshaokai Jul 5, 2024
92e3f4a
Update README.md
yeshaokai Jul 5, 2024
69f6bd0
Update README.md
yeshaokai Jul 5, 2024
d04b6ba
renamed
yeshaokai Jul 5, 2024
b9f952d
Added core refactoring code
yeshaokai Mar 11, 2024
c7efe98
Added config class
yeshaokai Mar 11, 2024
45106bf
Better handled typing and required modules for task program
yeshaokai Mar 11, 2024
635ea04
removed brains
yeshaokai Mar 12, 2024
442e385
WIP
yeshaokai Mar 18, 2024
da4f45a
backup
yeshaokai Mar 27, 2024
c595183
Added common task programs
yeshaokai Mar 29, 2024
d2e0fc3
fixed bugs in composite events
yeshaokai Apr 6, 2024
75ceccc
fixed yet another bug
yeshaokai Apr 6, 2024
3db4fa7
changed the way comparison works
yeshaokai Apr 7, 2024
ae0a523
WIP
yeshaokai May 29, 2024
ec1b36f
WIP
yeshaokai Jun 2, 2024
cf5f48a
before correcting animal state fusion
yeshaokai Jun 4, 2024
b354a75
fixed how we handle animal state fusion
yeshaokai Jun 4, 2024
2119612
Fixed some bug
yeshaokai Jun 4, 2024
2f8cea5
separated text rendering and execution rendering
yeshaokai Jun 5, 2024
6384717
added cached amaudes creation
yeshaokai Jun 5, 2024
dfa50a8
better rendering of function rets
yeshaokai Jun 5, 2024
4333bc7
integration module works again
yeshaokai Jun 18, 2024
52cc5f5
fixed the duplicate plot
yeshaokai Jun 18, 2024
9601744
added context window length control
yeshaokai Jun 18, 2024
916fbc3
Some improvements
yeshaokai Jun 20, 2024
3772d2a
black and isort
yeshaokai Jun 20, 2024
baeb932
Fixed token cost calculation and revert y axis
yeshaokai Jun 21, 2024
16bea44
removed unused files
yeshaokai Jun 22, 2024
b276084
Added back the example data
yeshaokai Jun 22, 2024
0fae9e0
replaced mabe keypoint files
yeshaokai Jun 22, 2024
7bb1ae1
Added roi object names into system prompt and fixed a bug
yeshaokai Jun 23, 2024
8dbc8a1
Fixed another bug
yeshaokai Jun 23, 2024
9304783
Fixed an bug in head angle
yeshaokai Jul 1, 2024
df23a19
Changed the out video name to use function name
yeshaokai Jul 1, 2024
ec51bf7
updated example.json for mabe as several things change in the codebase
yeshaokai Jul 1, 2024
e0cfa62
some fixes to event negate
yeshaokai Jul 1, 2024
1141d83
3 different conda yaml and installation scripts
yeshaokai Jul 2, 2024
8ccb79b
Edited installation files. SuperAnimal can be run if there is no keyp…
yeshaokai Jul 3, 2024
9f1b53a
temporally removed docker
yeshaokai Jul 4, 2024
a3d25b2
fixed image usage api
yeshaokai Jul 4, 2024
3316364
integrated vlm for configuration
yeshaokai Jul 4, 2024
0cbd0b0
added visual llm prompt
yeshaokai Jul 4, 2024
23a0044
Fixed bugs
yeshaokai Jul 4, 2024
09d2037
added automatic superanimal
yeshaokai Jul 4, 2024
601f4e9
deleted unused stuff
yeshaokai Jul 4, 2024
0b41100
Fixed some bugs
yeshaokai Jul 4, 2024
c6ed379
fixed more bugs
yeshaokai Jul 4, 2024
ae9ea3e
Fixed upload bug
yeshaokai Jul 5, 2024
58609c2
default not to use video adaptation
yeshaokai Jul 5, 2024
1c93eeb
Added back movie files
yeshaokai Jul 5, 2024
6b45f0e
updates
yeshaokai Jul 5, 2024
f0bacb3
added notebooks
yeshaokai Jul 5, 2024
b990994
Fixed a bug in video writing
yeshaokai Jul 5, 2024
a0d4113
adjusted a few things
yeshaokai Jul 5, 2024
fef0a7e
updates
yeshaokai Jul 5, 2024
a3f6c1e
updated EPM notebook
yeshaokai Jul 5, 2024
fc8abd0
more updates
yeshaokai Jul 5, 2024
0491aa0
updates to proj configs files
yeshaokai Jul 5, 2024
9f60358
cleanup
yeshaokai Jul 5, 2024
2535dd5
Update README.md
yeshaokai Jul 5, 2024
f543bc6
Update README.md
yeshaokai Jul 5, 2024
df40e8e
Update README.md
yeshaokai Jul 5, 2024
311c72f
Update README.md
yeshaokai Jul 5, 2024
3c92351
renamed
yeshaokai Jul 5, 2024
4538fc9
spell checking
yeshaokai Jul 5, 2024
d4d5467
to prevent args of codespell to be overwritten
yeshaokai Jul 5, 2024
a1ab4c3
updated test_and_deploy to python 3.10
yeshaokai Jul 5, 2024
e22d746
Fixed some sort of rebase bug
yeshaokai Jul 6, 2024
153382f
updates
yeshaokai Jul 6, 2024
bf196b4
black and isort
yeshaokai Jul 6, 2024
93579dd
update update_history
yeshaokai Jul 6, 2024
c9d188a
Added openai key cell in notebooks
yeshaokai Jul 6, 2024
eb60045
Merge branch 'main' of github.com:AdaptiveMotorControlLab/AmadeusGPT-dev
yeshaokai Jul 6, 2024
456ee9e
cleaned config files
yeshaokai Jul 6, 2024
e9873d2
more cleanup
yeshaokai Jul 6, 2024
ad13918
Better support for retreiving results and save / load results
yeshaokai Jul 7, 2024
f228a5d
update custom notebook
yeshaokai Jul 7, 2024
d5c1d70
removed cell outputs from custom notebook
yeshaokai Jul 7, 2024
4038e3b
Update README.md
yeshaokai Jul 7, 2024
d6eeba6
some clean up and some docs
yeshaokai Jul 8, 2024
5396098
Change result cache to defaultdict(dict) and added a new notebook for…
yeshaokai Jul 8, 2024
abbca4f
llm generated function automatically registered to task program
yeshaokai Jul 8, 2024
123008b
Merge branch 'release-0.1.0' of github.com:AdaptiveMotorControlLab/Am…
yeshaokai Jul 8, 2024
2f76a73
Update README.md
yeshaokai Jul 8, 2024
c2d6a6d
added one more line in demo
yeshaokai Jul 8, 2024
a50dc9d
Merge branch 'release-0.1.0' of github.com:AdaptiveMotorControlLab/Am…
yeshaokai Jul 8, 2024
b43835d
Update README.md
yeshaokai Jul 8, 2024
97441fe
Update README.md
yeshaokai Jul 8, 2024
3afb3b5
Update README.md
yeshaokai Jul 9, 2024
369ad27
Update README.md
yeshaokai Jul 9, 2024
40cf641
updated the installation scripts to contain kernel installation
yeshaokai Jul 9, 2024
17c3ed4
Added template yaml
yeshaokai Jul 9, 2024
7b3bceb
prevent llm written code to be registered if it got runtime error
yeshaokai Jul 10, 2024
0de9d86
Added GPT-4o baseline
yeshaokai Jul 9, 2024
8479438
WIP
yeshaokai Jul 9, 2024
9969ec5
some bug fixes
yeshaokai Jul 12, 2024
3cbb8c3
wip
yeshaokai Jul 12, 2024
b09bc2f
Fixed a bug in window update
yeshaokai Jul 12, 2024
c3a6747
Fixed a bug in update history
yeshaokai Jul 12, 2024
dbdcf05
Fixed a bug in text plus image content generation
yeshaokai Jul 12, 2024
b4bc285
separated animal from object
yeshaokai Jul 12, 2024
7a29ced
updates
yeshaokai Jul 12, 2024
cd1fd29
removed agentic folder
yeshaokai Jul 12, 2024
76e139a
fixed acceleration
yeshaokai Jul 12, 2024
cccbb36
conflict solved
yeshaokai Jul 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .codespellrc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[DEFAULT]
skip = *.png,*.jpg,*.jpeg,*.gif,*.bmp,*.tiff,*.ico,*ipynb
skip = *.png,*.jpg,*.jpeg,*.gif,*.bmp,*.tiff,*.ico,*.ipynb
1 change: 0 additions & 1 deletion .github/workflows/codespell.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,4 @@ jobs:
- name: Codespell
uses: codespell-project/actions-codespell@v2
with:
args: "--skip=*.ipynb"
config_file: .codespellrc
2 changes: 1 addition & 1 deletion .github/workflows/test_and_deploy.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
strategy:
matrix:
platform: [ubuntu-latest]
python-version: [3.9]
python-version: [3.10]

steps:
- uses: actions/checkout@v2
Expand Down
7 changes: 3 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
*~
*.mp4
*.h5
*.pickle
# *.mp4
# *.h5
# *.pickle
*.pth
__pycache__
.env
.DS_Store
/examples

## gitignore for Python
## Source: https://raw.githubusercontent.com/github/gitignore/master/Python.gitignore
Expand Down
100 changes: 85 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,106 @@
</div>

- We use large language models (LLMs) to bridge natural language and behavior analysis.
- This work is published at **NeurIPS2023!** Read the paper, [AmadeusGPT: a natural language interface for interactive animal behavioral analysis](https://www.google.com/search?q=amadeusgpt+openreview&sca_esv=590699485&rlz=1C5CHFA_enCH1059CH1060&ei=K1N6ZaHdKvmrur8PosOOkAo&ved=0ahUKEwjhnta83I2DAxX5le4BHaKhA6IQ4dUDCBE&uact=5&oq=amadeusgpt+openreview&gs_lp=Egxnd3Mtd2l6LXNlcnAiFWFtYWRldXNncHQgb3BlbnJldmlldzIHECEYoAEYCjIHECEYoAEYCki2HVDfAliOHHACeACQAQGYAYMDoAHaGaoBCDEuMTEuMS40uAEDyAEA-AEBwgIFECEYqwLCAggQABiABBiiBMICCBAAGIkFGKIE4gMEGAEgQYgGAQ&sclient=gws-wiz-serp#:~:text=AmadeusGPT%3A%20a%20natural,net%20%E2%80%BA%20pdf) by [Shaokai Ye](https://github.com/yeshaokai), [Jessy Lauer](https://github.com/jeylau), [Mu Zhou](https://github.com/zhoumu53), [Alexander Mathis](https://github.com/AlexEMG) & [Mackenzie W. Mathis](https://github.com/MMathisLab).
- This work is published at **NeurIPS2023!** Read the paper, [AmadeusGPT: a natural language interface for interactive animal behavioral analysis]([https://www.google.com/search?q=amadeusgpt+openreview&sca_esv=590699485&rlz=1C5CHFA_enCH1059CH1060&ei=K1N6ZaHdKvmrur8PosOOkAo&ved=0ahUKEwjhnta83I2DAxX5le4BHaKhA6IQ4dUDCBE&uact=5&oq=amadeusgpt+openreview&gs_lp=Egxnd3Mtd2l6LXNlcnAiFWFtYWRldXNncHQgb3BlbnJldmlldzIHECEYoAEYCjIHECEYoAEYCki2HVDfAliOHHACeACQAQGYAYMDoAHaGaoBCDEuMTEuMS40uAEDyAEA-AEBwgIFECEYqwLCAggQABiABBiiBMICCBAAGIkFGKIE4gMEGAEgQYgGAQ&sclient=gws-wiz-serp#:~:text=AmadeusGPT%3A%20a%20natural,net%20%E2%80%BA%20pdf](https://proceedings.neurips.cc/paper_files/paper/2023/file/1456560769bbc38e4f8c5055048ea712-Paper-Conference.pdf)) by [Shaokai Ye](https://github.com/yeshaokai), [Jessy Lauer](https://github.com/jeylau), [Mu Zhou](https://github.com/zhoumu53), [Alexander Mathis](https://github.com/AlexEMG) & [Mackenzie W. Mathis](https://github.com/MMathisLab).
- Like this project? Please consider giving us a star ⭐️!

## Install & Run AmadeusGPT🎻

- AmadeusGPT is a Python package hosted on `pypi`. You can create a virtual env (conda, etc, see below*) or Docker and run:
### Install with `pypi`

- AmadeusGPT is a Python package hosted on `pypi`. You can create a virtual env (conda, etc, see below*) and run:
```python
pip install 'amadeusgpt[streamlit]'
```
- Please note that you need an [openAI API key](https://platform.openai.com/account/api-keys), which you can easily create [here](https://platform.openai.com/account/api-keys).
- If you want the **Streamlit Demo on your computer**, you will also need demo files that are supplied in our repo (see below**), so please git clone the repo and navigate into the `AmadeusGPT` directory. Then in your conda env/terminal run `pip install 'amadeusgpt[streamlit]'` as described above. Then, to launch the Demo App execute in the terminal:
Note that in order to access our demo video and keypoint files, we recommend to install from the source.

### Install from the source

**Make sure you edit those installation scripts to point to your own conda path before you run them**

#### Minimal installation
**Recommended for:** Running AmadeusGPT without GPUs. This setup is lightweight and is limited to processing movie files and keypoint outputs (.h5) from DeepLabCut.

```bash
# Install the minimal environment
bash install_minimal.sh

# Activate the conda environment
conda activate amadeusgpt-minimal
```

#### GPU installation
**Recommended for:** Users on Linux with GPUs. Support for Windows and MacOS will be added in the future.

```bash
# Install the gpu environment
bash install_gpu.sh

# Activate the conda environment
conda activate amadeusgpt-gpu
```

#### CPU installation
**Recommended for:** MacOS / Linux users working with very small video files.

```bash
# Install the cpu environment
bash install_cpu.sh

# Activate the conda environment
conda activate amadeusgpt-cpu
```


### Setup OpenAI API Key to use AmadeusGPT

**Why OpenAI API Key is needed** AmadeusGPT relies on API calls of OpenAI (we will add more options in the future) for language understanding and code writing.

You can either add this into your environment by following:

```bash
export OPENAI_API_KEY='your API key'
```

Or inside your python script or jupyter notebook, add this line in the beginning of the file


```python
import os
os.environ["OPENAI_API_KEY"] = 'your api key'
```

- Please note that you need an [openAI API key](https://platform.openai.com/account/api-keys), which you can easily create [here](https://platform.openai.com/account/api-keys).



### Try AmadeusGPT with local web app
```python
make app
```
- You can use AmadeusGPT directly in python: iPython, Jupyter Notebooks, Google Colab, etc. For a quick start, see our `\examples` directory that hosts demo data and a Jupyter Notebook! Enjoy!

### Do I need to provide keypoint files?
- If you only provide the raw video file, we use SuperAnimal models [SuperAnimal models](https://www.nature.com/articles/s41467-024-48792-2) to predict your video. This is only supported with cpu or gpu installation. While we highly recommend gpu installation, we are working on faster, light-weight superanimal models to work on your CPU.
- If you already have keypoint file corresponding to the video file, look up how we set-up the config file in the notebooks. Right now we only support keypoint output from DeepLabCut. Other keypoint formats can be added upon feature requests.


### Try AmadeusGPT with our example notebooks
We provide example notebooks at [Notebooks](notebook)

### Notebook as use-case demo

1) Draw ROI and ask when is the animal in the ROI. [Demo](notebook/EPM_demo.ipynb)
2) Obtain the binary mask for retrieved masks (for further sampling such as neural data pairing) [Demo](notebook/EPM_demo.ipynb)
3) Use SuperAnimal video inference (make sure you use gpu or cpu installation) if you don't have corresponding DeepLabCut keypoint file [Demo](notebook/custom_mouse_demo.ipynb)
4) Write you own integration modules and use them [Demo](notebook/Horse_demo.ipynb) [Source code](amadeusgpt/integration_modules). Make sure you delete the cached modules_embedding.pickle if you add new modules
5) Multi-Animal social interaction. [Demo](notebook/MABe_demo.ipynb)
6) Reuse the task program generated by LLM and run it on different videos [Demo](notebook/MABe_demo.ipynb)

## Citation

If you use ideas or code from this project in your work, please cite us using the following BibTeX entry. 🙏

```
```
@article{ye2023amadeusGPT,
title={AmadeusGPT: a natural language interface for interactive animal behavioral analysis},
author={Shaokai Ye and Jessy Lauer and Mu Zhou and Alexander Mathis and Mackenzie Weygandt Mathis},
Expand All @@ -50,15 +129,6 @@ make app
```
- arXiv preprint version **[AmadeusGPT: a natural language interface for interactive animal behavioral analysis](https://arxiv.org/abs/2307.04858)** by [Shaokai Ye](https://github.com/yeshaokai), [Jessy Lauer](https://github.com/jeylau), [Mu Zhou](https://github.com/zhoumu53), [Alexander Mathis](https://github.com/AlexEMG) & [Mackenzie W. Mathis](https://github.com/MMathisLab).

### Install tips
- *Make a new conda env: `conda create --name amadeusGPT python=3.9` then run `conda activate amadeusGPT` or you can also use our supplied conda if you git cloned the repo (navigate into the conda directory): `conda env create -f amadesuGPT.yml` then pip install amadeusGPT once created/launched.
- **Git clone this repo: so please open a terminal, we recommend to download into Documents (so type `cd Documents`) and run `git clone https://github.com/AdaptiveMotorControlLab/AmadeusGPT.git` Then go into the dir (`cd AmadeusGPT`)
- If you want to use SAM, you need to download the weights. Otherwise you will see the following message in the app: `Cannot find SAM checkpoints. Skipping SAM`. Download them and add to "static" directory: wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_b_01ec64.pth

### Install trouble shooting:
- If you hit an error during installing on an M1/M2 Macbook with installing HDF5, run `conda install h5py` in your conda env.
- If you launch the app and get an ffmpeg error, `RuntimeError: No ffmpeg exe could be found. Install ffmpeg on your system, or set the IMAGEIO_FFMPEG_EXE environment variable.` try running `conda install ffmpeg`.
- If you have an M1/M2 chip and use CEBRA within AmadeusGPT, and you get this error: `RuntimeError: Device type MPS is not supported for torch.Generator() api` run `pip install --upgrade torch`.

## License

Expand Down
18 changes: 17 additions & 1 deletion amadeusgpt/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,23 @@
Apache-2.0 license
"""

from matplotlib import pyplot as plt

from amadeusgpt.implementation import AnimalBehaviorAnalysis
from amadeusgpt.integration_modules import *
from amadeusgpt.main import AMADEUS
from amadeusgpt.version import VERSION, __version__

from amadeusgpt.version import __version__, VERSION
params = {
"axes.labelsize": 10,
"legend.fontsize": 10,
"xtick.labelsize": 10,
"ytick.labelsize": 10,
"text.usetex": False,
"figure.figsize": [8, 8],
"font.size": 10,
}
plt.rcParams.update(params)
plt.rcParams["figure.subplot.hspace"] = 0.5 # Horizontal space between subplots
plt.rcParams["figure.subplot.wspace"] = 0.5 # Vertical space between subplots
plt.style.use("dark_background")
26 changes: 0 additions & 26 deletions amadeusgpt/amadeus_security.py

This file was deleted.

1 change: 1 addition & 0 deletions amadeusgpt/analysis_objects/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from .event import BaseEvent
10 changes: 10 additions & 0 deletions amadeusgpt/analysis_objects/analysis_factory.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
from amadeusgpt.implementation import AnimalBehaviorAnalysis


analysis_fac = {}

def create_analysis(config):
if str(config) not in analysis_fac:
analysis_fac[str(config)] = AnimalBehaviorAnalysis(config)

return analysis_fac[str(config)]
Loading