API ini memungkinkan pengguna untuk berinteraksi dengan chatbot menggunakan dua model:
- Bitnet(LLaMA.cpp)
- OpenAI GPT-3.5
API ini juga mendukung terjemahan otomatis untuk berbagai bahasa, termasuk bahasa Indonesia, dan menyimpan riwayat percakapan.
http://<your-api-url>/
Endpoint ini digunakan untuk berinteraksi dengan chatbot menggunakan model Bitnet(LLaMA.cpp).
{
"prompt": "Your question or message",
"max_length": 100
}- prompt (string): Pesan atau pertanyaan yang ingin dikirim ke chatbot.
- max_length (integer, optional): Panjang maksimum respons dari chatbot.
- Default: 100
- Range: 10 hingga 512
{
"response": "Chatbot's generated response"
}- Chatbot akan mendeteksi bahasa dari prompt dan memberikan respons yang sesuai.
- Jika bahasa yang terdeteksi adalah Indonesia, prompt akan diterjemahkan ke dalam bahasa Inggris sebelum dikirim ke model.
- Bahasa lain juga akan diterjemahkan ke bahasa Inggris sebelum diproses.
Endpoint ini digunakan untuk berinteraksi dengan chatbot menggunakan model OpenAI GPT-3.5.
{
"prompt": "Your question or message",
"max_length": 100
}- prompt (string): Pesan atau pertanyaan yang ingin dikirim ke OpenAI GPT-3.5.
- max_length (integer, optional): Panjang maksimum respons dari OpenAI.
- Default: 100
- Range: 10 hingga 512
{
"response": "OpenAI's generated response"
}- Terjemahan Otomatis: API mendukung input dalam bahasa Indonesia dan bahasa lainnya. Prompt akan diterjemahkan ke bahasa Inggris sebelum diproses.
- Pemrosesan Model:
/chatmenggunakan LLaMA.cpp./chat_openaimenggunakan OpenAI GPT-3.5.
Menggunakan Whisper dari OpenAI dan pyttsx3, serta Streamlit untuk frontend.
Chatbot ini mendukung input teks dan suara:
- Speech-to-Text (STT) menggunakan Whisper dari OpenAI.
- Text-to-Speech (TTS) menggunakan pyttsx3.
- Frontend antarmuka dibangun menggunakan Streamlit.
Untuk menjalankan proyek ini, pastikan dependensi berikut telah diinstal:
- sounddevice: Untuk merekam audio.
- pyttsx3: Untuk mengubah teks menjadi suara.
- streamlit: Untuk membuat antarmuka web.
- requests: Untuk mengirim permintaan HTTP ke API backend.
- openai: Untuk menggunakan Whisper (STT) dan GPT-3.5 (chatbot).
- Deskripsi: Merekam audio dari pengguna dan menyimpannya sebagai file WAV.
- Deskripsi: Mengonversi audio yang direkam menjadi teks menggunakan Whisper dari OpenAI.
- Deskripsi: Mengonversi respons teks chatbot menjadi suara menggunakan pyttsx3.
- Teks
- Suara
/chat/chat_openai
- Tampilkan respons chatbot di area teks.
- Ubah respons chatbot menjadi suara.
- Deskripsi:
Pengguna memasukkan teks di antarmuka, dan permintaan dikirim ke endpoint API yang dipilih. - Hasil:
Respons chatbot akan ditampilkan di area teks dan dibacakan kembali dengan suara.
Contoh Alur:
User Input: "Apa itu AI?"
Output: "AI adalah bidang ilmu komputer yang fokus pada pembuatan mesin cerdas."
TTS: Respons dibacakan kembali dengan suara.
- Deskripsi:
Pengguna merekam suara, lalu suara dikonversi menjadi teks menggunakan Whisper. Teks hasil konversi dikirim ke backend API. - Hasil:
Respons chatbot akan ditampilkan di area teks dan dibacakan kembali dengan suara.
Contoh Alur:
User Input: (Rekaman Suara) "Apa itu AI?"
STT: Suara dikonversi menjadi teks: "Apa itu AI?"
Output: "AI adalah bidang ilmu komputer yang fokus pada pembuatan mesin cerdas."
TTS: Respons dibacakan kembali dengan suara.
- OpenAI Whisper: Untuk Speech-to-Text (STT).
- pyttsx3: Untuk Text-to-Speech (TTS).
- Streamlit: Untuk membangun antarmuka web yang interaktif.
- API Backend:
- Endpoint
/chat: Menggunakan Bitnet(LLaMA.cpp). - Endpoint
/chat_openai: Menggunakan OpenAI GPT-3.5.
- Endpoint