|
--- |
|
license: apache-2.0 |
|
language: |
|
- id |
|
pipeline_tag: text2text-generation |
|
tags: |
|
- indonesia |
|
- vtuber |
|
- chatbot |
|
--- |
|
# Kiara Model 1.0 |
|
|
|
<!-- Provide a quick summary of what the model is/does. --> |
|
|
|
I will try to use it on Vtuber AI , i hope i can make it |
|
|
|
### Model Description |
|
|
|
## 1. Mengambil Text dari YouTube Livestream menggunakan Pytchat: |
|
Anda menggunakan Pytchat untuk mengambil text chat secara real-time dari siaran langsung YouTube. Dengan pustaka ini, Anda dapat menangkap pesan yang dikirimkan di chat YouTube. |
|
Link Pytchat : https://pypi.org/project/pytchat/ |
|
|
|
## 2. Mengubah Text menjadi Response menggunakan Gemini: |
|
Setelah mendapatkan text dari chat, Anda menggunakan Gemini (Google Generative AI) untuk mengubah text tersebut menjadi respons yang relevan dan natural. |
|
Link Gemini :https://pypi.org/project/google-generativeai/ |
|
|
|
|
|
|
|
## 3. Learning dari Data: |
|
**Menandai Tipe Pesan yang Berupa Pertanyaan:** |
|
- menandai pesan yang mengandung pertanyaan dengan **tanda tanya (?)** untuk membedakan jenis pesan. |
|
- jika ada pertanyaan namun merupakan pesan pertanyaan gunakan **prompts** seperti : |
|
contoh prompts = ["kapan", "mengapa", "dimana", "bagaimana", "siapa", "kenapa", "berapa"] |
|
|
|
**Mencocokkan Jawaban Sesuai dengan Topik atau Tema:** |
|
- Untuk mencocokkan jawaban yang relevan, Anda bisa menggunakan pencocokan kata kunci untuk memastikan jawaban yang dihasilkan sesuai dengan topik atau tema yang dibahas. |
|
- menggunakan **Logistic Regression** sebagai metode pembelajaran untuk memprediksi jawaban berdasarkan tipe pesan atau kategori yang telah dilabeli, seperti pertanyaan atau komentar. |
|
|
|
### Catatan |
|
|
|
**Gemini 2.0 Flash Experimental Contoh Penggunaan :** |
|
```python |
|
import google.generativeai as genai |
|
|
|
genai.configure(api_key="YOUR API KEY GEMINI") |
|
model = genai.GenerativeModel("MODEL NAME TO USE") # seperti Gemini 1.5 Flash,Gemini 1.5 Flash-8B,gemini-2.0-flash-exp |
|
|
|
# Generate text using Gemini |
|
generation_config={ |
|
"temperature": 1, # untuk akurasi |
|
"top_p": 0.8, # Mempertimbangkan berbagai pilihan kata |
|
"max_output_tokens": 250, # Batasi panjang output |
|
"frequency_penalty": 0.2, # Kurangi pengulangan kata |
|
"presence_penalty": 0.2, # Kurangi pengulangan kata yang sudah ada |
|
} |
|
|
|
|
|
response = model.generate_content( |
|
text,generation_config=generation_config |
|
) |
|
|
|
gemini_text = response.text |
|
text_without_asterisks = gemini_text.replace("*", "") |
|
print("Gemini Text Output:", text_without_asterisks) |
|
``` |
|
|
|
**fit_transform** digunakan hanya saat melatih vectorizer dengan data baru. |
|
**transform** digunakan untuk memproses data baru menggunakan vectorizer yang sudah dilatih. Ini memastikan data sesuai dengan model yang ada. |
|
**sigmoid** untuk klasifikasi biner, pastikan target Anda adalah label biner (0 atau 1), dan gunakan binary_crossentropy. |
|
**softmax** untuk klasifikasi dua kelas, ubah layer output menjadi dua unit dan gunakan categorical_crossentropy dengan target dalam format one-hot encoding. |
|
|
|
### Update Log |
|
#### (version 3)V3 |
|
-menggunakan **softmax** untuk Build the TensorFlow neural network (model dan dataset telah di hapus). |
|
#### (version 5)V5 |
|
-data lebih banyak namun **50x Epoch Loss: 33.1689 Accuracy: 2.22%**(model dan dataset terbaru). |
|
#### (version 8)V8 |
|
-data lebih banyak namun **50x Epoch Loss: 20.0664 Accuracy: 3.26%**(model dan dataset belum di publish). |
|
#### (version 10)V10 |
|
-data lebih banyak namun **50x Epoch Loss: 21.0304 Accuracy: 3.67%**(model dan dataset belum di publish). |
|
|
|
**(recommend)Pilih Model(LSTM-based)jika:** |
|
- Urutan kata dan konteks teks penting untuk memahami pesan. |
|
- Dataset besar atau lebih kompleks. |
|
- Anda ingin model yang lebih mendalam untuk teks. |
|
|
|
|
|
## 4. Text to Voice (pyttsx3 / ElevenLabs): |
|
Setelah respons dihasilkan, Anda mengubahnya menjadi suara menggunakan **pyttsx3** atau **ElevenLabs**. Pustaka ini memungkinkan konversi text menjadi suara yang dapat digunakan dalam interaksi lebih lanjut. |
|
**Convert Voice untuk Pergerakan Vtuber (VTS Desktop Audio, VB Cable Driver):** |
|
Anda menggunakan **VTS Desktop Audio** dan **VB Cable Driver** untuk mengonversi suara menjadi input untuk mengendalikan pergerakan Vtuber, seperti pergerakan wajah atau tubuh berdasarkan respons suara yang dihasilkan. |
|
|
|
|
|
## 5. Voice Changer Suara Menggunakan RVC Okada: |
|
Masih belum diketahui caranya dan masih belajar...ehee |
|
|
|
|
|
- **Developed by:** [Niki] |
|
- **Model type:** [Keras] |
|
- **Language(s) (NLP):** [Indonesian] |
|
- **License:** [Apache] |