An open API service indexing awesome lists of open source software.

https://github.com/lahadiyani/soami

soami adalah starter framework modular yang bisa anda customisasi untuk membangun dan menjalankan AI Agents (seperti `Researcher`, `Planner`, dan `Coder`) berbasis Python, Flask. Cocok untuk membangun prototype AGI atau AI tooling dengan sistem orchestrator, memory, tools, dan vectorstore.
https://github.com/lahadiyani/soami

ai-agents llm-framework workflow

Last synced: about 1 year ago
JSON representation

soami adalah starter framework modular yang bisa anda customisasi untuk membangun dan menjalankan AI Agents (seperti `Researcher`, `Planner`, dan `Coder`) berbasis Python, Flask. Cocok untuk membangun prototype AGI atau AI tooling dengan sistem orchestrator, memory, tools, dan vectorstore.

Awesome Lists containing this project

README

          

# Soami - Starter Framework AI Agent

![logo](app/static/assets/icon.jpg)

**Soami** adalah sebuah framework starter modular yang bisa kamu kustomisasi untuk membangun dan menjalankan AI Agent buatanmu. Cocok untuk membangun Ai agent atau alat bantu AI dengan sistem orchestrator, memory, tools, dan vectorstore.

---

## ๐Ÿš€ Fitur Unggulan

* โœ… Menggunakan Application Factory Pattern (Flask)
* โœ… AI Agent Modular Setiap agent bisa dikembangkan secara terpisah dan dikombinasikan melalui orchestrator.
* โœ… Mendukung Prompt Engineering Prompt disimpan dalam file template, mudah disesuaikan.
* โœ… Terintegrasi dengan LangChain
* โœ… Mendukung FAISS & ElasticSearch untuk vector database
* โœ… MySQL untuk data relasional terstruktur
* โœ… Custom (HTML, CSS, JavaScript native)
* โœ… Siap untuk CI/CD & containerization (Docker)

---

## ๐Ÿ”ง Persyaratan

Install terlebih dahulu:

* Python 3.10+
* MySQL Server (lokal atau via Docker)
* ElasticSearch (versi 8 ke atas)
* FAISS (`faiss-cpu` atau `faiss-gpu`)
* Docker (opsional namun direkomendasikan)

---

## ๐Ÿ“ฆ Instalasi

1. Clone repository:

```bash
git clone https://github.com/lahadiyani/AGILEMinD.git
cd AGILEMinD
```

2. Buat virtual environment:

```bash
python -m venv .venv
source .venv/bin/activate # atau .\.venv\Scripts\Activate untuk Windows
```

3. Pesiapan Sebelum Menginstall module

jika anda menggunakan sistem operasi linux pastikan `mariadb-connector-c-devel` dan `pkg-config` sudah terinstall pada komputer anda, jika belum anda bisa menginstallnya terlebih dahulu.

untuk RedHat, Fedora

```sh
sudo dnf install mysql-devel mariadb-connector-c-devel pkg-config
```

untuk debian dan turunan nya (ubuntu, mint, xubuntu)

```sh
sudo apt update
sudo apt install mysql-devel python3-dev default-libmysqlclient-dev build-essential pkg-config
```

4. Install dependencies:

```bash
pip install -r requirements.txt
```

5. Konfigurasi `.env`:

```env
FLASK_APP=main.py
FLASK_ENV=development
DB_USER=root
DB_PASSWORD=yourpassword
DB_HOST=localhost
DB_NAME=ai_agent_db
DATABASE_URL=mysql+pymysql://root:yourpassword@localhost:3306/ai_agent_db
ELASTICSEARCH_HOST=http://localhost:9200
OPENAI_API_KEY=your-openai-api-key
```

6. Jalankan migrasi database (jika menggunakan SQLAlchemy):

```bash
flask db init
flask db migrate -m "initial"
flask db upgrade
```

7. Jalankan server:

```bash
yarn install
yarn run start
```

---

## ๐Ÿง  Menjalankan AI Agent

Buka:

```
http://localhost:5000/
```

---

## ๐Ÿณ Jalankan via Docker

```bash
docker-compose up --build
```

---

## ๐Ÿงช Pengujian

```bash
pytest tests/
```

---

## ๐Ÿ“Œ Roadmap (Rencana Pengembangan)

* [ ] Integrasi WebSocket untuk feedback agent secara real-time
* [ ] Sistem RAG bawaan
* [ ] Dukungan multiple backend memory (FAISS, Elastic, pgvector)

---

## Cara Membangun AGI dengan Soami

[Tutorial bahasa Indonesia](documentation/tutorial.md)
[Tutorial dalam Bahasa Inggris](documentation/tutorial_eng.md)

---

## ๐Ÿ“„ Lisensi

Lisensi MIT

---

## ๐Ÿ‘จโ€๐Ÿ’ป Pengembang

Saya mengembangkan framework ini untuk mempermudah proses membangun Semi AGI, didorong oleh semangat untuk menulis kode yang modular, fleksibel, dan berkelanjutan.

## ๐Ÿค Kontribusi dan Kontak

Email: [lahadiyani@gmail.com](mailto:lahadiyani@gmail.com)