https://github.com/muhfaridansutariya/smart-home-energy-management
Final Project AI Ruangguru
https://github.com/muhfaridansutariya/smart-home-energy-management
gemini tapas
Last synced: about 1 month ago
JSON representation
Final Project AI Ruangguru
- Host: GitHub
- URL: https://github.com/muhfaridansutariya/smart-home-energy-management
- Owner: MuhFaridanSutariya
- Created: 2024-06-19T16:37:45.000Z (11 months ago)
- Default Branch: master
- Last Pushed: 2024-06-20T18:35:11.000Z (11 months ago)
- Last Synced: 2025-02-02T10:16:30.331Z (3 months ago)
- Topics: gemini, tapas
- Language: Go
- Homepage:
- Size: 73.2 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Artificial Intelligence menggunakan Golang
## Final Project AI-Powered Smart Home Energy Management System

### Description
Saya akan mengembangkan Sistem Manajemen Energi Rumah Pintar menggunakan Golang dan [model AI Tapas](https://huggingface.co/google/tapas-base-finetuned-wtq) dari Huggingface Model Hub. Sistem ini akan memprediksi dan mengelola penggunaan energi dalam lingkungan rumah pintar. Aplikasi ini akan menerima data tentang penggunaan energi rumah dan memberikan wawasan dan rekomendasi tentang cara mengoptimalkan konsumsi energi.
Fitur:
- Prediksi Konsumsi Energi: Sistem ini akan memprediksi konsumsi energi rumah berdasarkan data historis.
- Rekomendasi Penghematan Energi: Sistem ini akan memberikan rekomendasi tentang cara menghemat energi berdasarkan konsumsi energi yang diprediksi.
Data input dalam bentuk format CSV dengan kolom berikut:
- Date: Tanggal data penggunaan energi.
- Time: Waktu data penggunaan energi.
- Appliance: Nama alat.
- Energy_Consumption: Konsumsi energi alat dalam kWh.
- Room: Ruang tempat alat berada.
- Status: Status alat (On/Off).Contoh:
```txt
Date,Time,Appliance,Energy_Consumption,Room,Status
2022-01-01,00:00,Refrigerator,1.2,Kitchen,On
2022-01-01,01:00,Refrigerator,1.2,Kitchen,On
...
2022-01-01,08:00,TV,0.8,Living Room,Off
2022-01-01,09:00,TV,0.8,Living Room,On
2022-01-01,10:00,TV,0.8,Living Room,On
...
```Untuk contoh, kalian bisa menggunakan file yang telah disiapkan `data-series.csv`.
#### Penggunaan Model AI:
Model AI Tapas `tapas-base-finetuned-wtq` akan digunakan untuk memahami data tabel dan membuat prediksi tentang konsumsi energi masa depan. Model ini akan menerima file CSV sebagai input dan menghasilkan prediksi untuk total konsumsi energi hari berikutnya.
Buatlah interface untuk aplikasi ini, bisa berupa aplikasi CLI maupun Web Application. Silahkan dikembangkan sehingga mirip dengan chatbot dimana user bisa bertanya mengenai data-data yang ada di file input.
Silahkan menggunakan model AI lainnya dari Hugging Face Hub untuk membuat aplikasi ini lebih menarik, misal-nya dengan menambahkan model AI `openai-community/gpt2` agar bisa memberikan rekomendasi tentang alat apa yang bisa digunakan lebih sedikit untuk menghemat energi.
### Constraints
Function `CsvToSlice` dan `ConnectAIModel` sudah diberikan dan wajib kalian gunakan. Silahkan membuat function-function lain yang kalian perlukan.
### Test Case Examples
#### Test Case CsvToSlice
**Input**:
```txt
"Name,Age\nJohn,30\nDoe,40"
```**Expected Output / Behavior**:
{
"Name": ["John", "Doe"],
"Age": ["30", "40"]
}**Explanation**:
Fungsi CsvToSlice menerima string dari file CSV sebagai input dan mengembalikan `map` di mana `key`-nya adalah header kolom dan `value`nya adalah data untuk setiap kolom. Dalam hal ini, string CSV input memiliki dua kolom "Name" dan "Age", dan dua baris data "John, 30" dan "Doe, 40". Fungsi ini harus mengembalikan map dengan dua data. Data pertama harus memiliki key "Name" dan value ["John", "Doe"], dan key kedua harus memiliki key "Age" dan value ["30", "40"].
#### Test Case 2
**Input**:
```txt
Payload: {
"table": {
"Name": ["John", "Doe"],
"Age": ["30", "40"]
},
"query": "What is the age of John?"
}
```**Expected Output / Behavior**:
```txt
{
"answer": "30",
"coordinates": [[0, 1]],
"cells": ["30"],
"aggregator": ""
}
```**Explanation**:
Fungsi ConnectAIModel menerima payload dan Huggingface Token sebagai input dan mengembalikan struktur Response. Payload adalah struktur yang berisi `Table` dan `Query`. `Tabel` adalah sebuah map di mana `key`-nya adalah header kolom dan `value`-nya adalah irisan yang berisi data untuk setiap kolom. `Query` adalah string yang mewakili pertanyaan tentang data di tabel. Dalam hal ini, querynya adalah "Berapa umur John?". Fungsi ini harus mengembalikan struktur Response dengan jawaban "30", koordinat [[0, 1]], sel ["30"], dan aggregator.
Happy Coding!