//

Aplikasi membaca kecepatan token untuk AI lokal | Ollama, llmaa.cp dll

AI  

tokenezer

Gambar respon ari aplikasi penghitung kecepatan token "tokenku.py"

Toko Youtube TikTok  DONASI

Penjelasan Fungsi Kode Program tokenku.py
Kode program ini adalah sebuah skrip Python yang berinteraksi dengan model bahasa (LLM - Large Language Model) bernama "llama3.2:3b" melalui API untuk menghasilkan respons berdasarkan prompt yang diberikan.
Fungsi Utama:

  1. Mengirim Prompt ke Model Bahasa:
    • Program mengirim pertanyaan "jelaskan apa itu modem?" ke model bahasa yang berjalan di server lokal (http://192.168.0.116:11434)
    • Menggunakan model khusus "llama3.2:3b" (kemungkinan versi ringan dari model LLaMA 3 dengan 3 miliar parameter)
  2. Mengelola Respons Stream:
    • Program menerima respons dari model secara streaming (berkelanjutan)
    • Setiap potongan (chunk) respons diproses dan ditampilkan segera ke layar
  3. Menghitung dan Menganalisis Performa:
    • Menghitung total token yang dihasilkan
    • Mengukur waktu eksekusi
    • Menghitung kecepatan generasi token per detik

Alur Kerja Program:

1. Inisialisasi:

 prompt = "jelaskan apa itu modem?"

data = {
    "model": "llama3.2:3b",
    "prompt": prompt,
    "stream": True
}
Menyiapkan prompt dan konfigurasi permintaan API

2. Permintaan ke API

 
with requests.post(url, json=data, stream=True) as response:
  • Mengirim permintaan POST ke endpoint API dengan data JSON
  • stream=True memungkinkan penerimaan respons secara bertahap

3. Proses Streaming Respons

 
for line in response.iter_lines():
    decoded = json.loads(line)
    if 'response' in decoded:
        token_count += 1
        print(decoded['response'], end='', flush=True)
  • Setiap baris respons di-decode dari JSON
  • Jika mengandung field 'response', konten ditampilkan dan token dihitung

Analisis Performa:

print("\n\nSummary:")
print(f"Total tokens generated: {token_count}")
print(f"Elapsed time: {elapsed:.2f} seconds")
print(f"Tokens per second: {token_count / elapsed:.2f}")
  • Menampilkan statistik performa generasi teks

Output yang Dihasilkan:

  1. Teks penjelasan tentang modem yang dihasilkan model bahasa
  2. Ringkasan performa yang mencakup:
    • Total token yang dihasilkan
    • Waktu yang dibutuhkan
    • Kecepatan generasi token per detik

penjelasan visual cara kerja program tokenku.py dalam bentuk diagram alur:

gambar cara kerja tokenezer

Penjelasan Gambar:

  1. Langkah 1: Program menyiapkan permintaan dengan:
    • Model: llama3.2:3b
    • Prompt: "jelaskan apa itu modem?"
    • Mode: streaming (true)
  2. Langkah 2: Mengirim permintaan POST ke server API lokal (192.168.0.116:11434) dengan data JSON
  3. Langkah 3: Server mengirim respons secara streaming (potongan kecil JSON):

 

{"response": "Modem", "done": false}
{"response": " adalah", "done": false}
...
  1. Langkah 4: Program memproses setiap chunk dengan:
    • Menghitung token
    • Menampilkan teks secara real-time
    • Merekam waktu mulai/selesai
  2. Output Akhir:
    • Teks penjelasan lengkap
    • Statistik performa generasi

Analogi Sederhana seperti memesan kopi di kedai:

  1. Anda beri pesanan (prompt)
  2. Barista (server) mulai membuat kopi (proses generasi)
  3. Anda terima kopi per tetes (streaming respons)
  4. Terakhir dapat laporan: total tetes, waktu pembuatan, kecepatan tetes/detik 

Contoh Penggunaan program ini cocok untuk:

  • Menguji model bahasa lokal
  • Mengevaluasi kecepatan generasi teks
  • Eksperimen dengan prompt sederhana
  • Memahami cara kerja API model bahasa berbasis streaming 

  Download aplikasi pembaca kecepatan token AI Offline | Ollama dll | Pilih salah satu dari GDRIVE   


Download aplikasi pembaca kecepatan token AI Offline | Ollama dll | Pilih salah satu dari GITHUB

 

Kode saat ini  untuk keperluan pemantauan dasar, tetapi tidak menggantikan penghitungan token yang sebenarnya sehingga tidak cocok jika Anda membutuhkan presisi tinggi.

Proses penghitungan token di kode program ini:

Cara Kerja Penghitungan Token

  1. Metode Penghitungan: Kode menghitung setiap potongan (chunk) respons yang diterima dari API sebagai 1 token. Ini dilakukan dengan:
    • Memeriksa apakah ada kunci 'response' dalam JSON yang diterima
    • Menambahkan 1 ke token_count setiap kali ada respons baru
  2. Ketergantungan Model:
    • Cara ini tidak benar-benar menghitung token linguistik aktual, tapi menghitung chunk respons
    • Akurasi tergantung pada bagaimana API mengirimkan respons (per token atau per chunk)

Akurasi dengan Model Berbeda

  1. Model yang Kompatibel:
    • Akan bekerja dengan semua model yang dihosting melalui Ollama API
    • Karena ini menghitung respons stream bukan token aktual, akan konsisten di berbagai model
  2. Tingkat Akurasi:
    • Estimasi kasar: Ini memberikan perkiraan jumlah token, bukan hitungan pasti
    • Variasi aktual: Model berbeda mungkin mengirim chunk yang berbeda-beda ukurannya
    • Perbandingan: Model besar mungkin mengirim lebih banyak teks per chunk dibanding model kecil 

Langkah-Langkah Menjalankan Aplikasi tokenku.py dengan Ollama dan Model LLaMA 3.2:3B 

  1. Pastikan Ollama Telah Terinstal dan Berfungsi Normal
    Pastikan Anda telah menginstal Ollama dengan benar dan menjalankannya tanpa kendala.
  2. Instal Model yang Diperlukan
    Instal salah satu model, misalnya llama3.2:3b, melalui perintah Ollama.
  3. Verifikasi API Ollama
    Pastikan API Ollama sudah berjalan dengan baik dengan mengakses alamat berikut melalui browser:
    http://localhost:11434 Jika berhasil, akan muncul respon: "Ollama is running".
  4. Unduh Aplikasi tokenku.py
    Unduh file aplikasi tokenku.py dan simpan di komputer Anda, misalnya di direktori C:\.
  5. Menjalankan Aplikasi via CMD (Command Prompt)
    • Buka Command Prompt.
       C:\Users\Nama_Komputermu>cd C:\ 
    • Arahkan ke direktori tempat file disimpan, misalnya dengan perintah: 
       C:\tokenku.py 
       

Penjelasan Fungsi Kode Program tokenku.py

Kode program ini adalah sebuah skrip Python yang berinteraksi dengan model bahasa (LLM - Large Language Model) bernama "llama3.2:3b" melalui API untuk menghasilkan respons berdasarkan prompt yang diberikan.

Fungsi Utama:

  1. Mengirim Prompt ke Model Bahasa:

    • Program mengirim pertanyaan "jelaskan apa itu modem?" ke model bahasa yang berjalan di server lokal (http://192.168.0.116:11434)

    • Menggunakan model khusus "llama3.2:3b" (kemungkinan versi ringan dari model LLaMA 3 dengan 3 miliar parameter)

  2. Mengelola Respons Stream:

    • Program menerima respons dari model secara streaming (berkelanjutan)

    • Setiap potongan (chunk) respons diproses dan ditampilkan segera ke layar

  3. Menghitung dan Menganalisis Performa:

    • Menghitung total token yang dihasilkan

    • Mengukur waktu eksekusi

    • Menghitung kecepatan generasi token per detik

Alur Kerja Program:

  1. Inisialisasi:

    python
     
    Copy
     
    Download
    prompt = "jelaskan apa itu modem?"
    data = {
        "model": "llama3.2:3b",
        "prompt": prompt,
        "stream": True
    }
    • Menyiapkan prompt dan konfigurasi permintaan API

  2. Permintaan ke API:

    python
     
    Copy
     
    Download
    with requests.post(url, json=data, stream=True) as response:
    • Mengirim permintaan POST ke endpoint API dengan data JSON

    • stream=True memungkinkan penerimaan respons secara bertahap

  3. Proses Streaming Respons:

    python
     
    Copy
     
    Download
    for line in response.iter_lines():
        decoded = json.loads(line)
        if 'response' in decoded:
            token_count += 1
            print(decoded['response'], end='', flush=True)
    • Setiap baris respons di-decode dari JSON

    • Jika mengandung field 'response', konten ditampilkan dan token dihitung

  4. Analisis Performa:

    python
     
    Copy
     
    Download
    print("\n\nSummary:")
    print(f"Total tokens generated: {token_count}")
    print(f"Elapsed time: {elapsed:.2f} seconds")
    print(f"Tokens per second: {token_count / elapsed:.2f}")
    • Menampilkan statistik performa generasi teks

Output yang Dihasilkan:

  1. Teks penjelasan tentang modem yang dihasilkan model bahasa

  2. Ringkasan performa yang mencakup:

    • Total token yang dihasilkan

    • Waktu yang dibutuhkan

    • Kecepatan generasi token per detik

Contoh Penggunaan:

Program ini cocok untuk:

  • Menguji model bahasa lokal

  • Mengevaluasi kecepatan generasi teks

  • Eksperimen dengan prompt sederhana

  • Memahami cara kerja API model bahasa berbasis streaming

Informasi Pemilik Blog
JokoVlog
Author: JokoVlogWebsite: https://s.id/jokovlogEmail: This email address is being protected from spambots. You need JavaScript enabled to view it.
Assalamualaikum wr. wb salam satu Server
Blog ini hanya untuk menceritakan kegiatan sehari-hari. Saat ini masih aktif menjadi akademisi. Youtube Channel : https://s.id/jokovlog Donasi: https://saweria.co/jokovlog

Bacaan asik lainnya..!

Wednesday, 26 July 2023 23:16

Cara Budidaya Ikan Nila di Kolam semen cukup mudah dan menariknya pemerintah sedang menggalakkan...

Monday, 02 May 2022 07:35

Bagi teman kreator yang terkena banned chanel youtubenya karena melakukan pelanggaran pedoman...

Wednesday, 05 August 2015 08:10

Kalian pernah melihat gambar-gambar yang di tulis dengan kata-kata yang mengekspresikan gambar...

Friday, 30 May 2025 06:23

Keduanya adalah standar video analog yang digunakan sebelum era digital. Mereka menentukan cara...

AI JokoVlog ×
Ask me anything, and I'll answer you.

Tentang JokoVlog

JokoVlog berawal dari sebuah chanel youtube yang dibuat 26 Juni tahun 2017. Sekarang Jokovlog berkembang menjadi web blog. Melalui platform ini, saya Joko Supriyanto yang merupakan pemilik web blog ini membagikan berbagai konten, termasuk vlog harian, tips dan trik, serta diskusi mengenai perangkat lunak. Saya juga memiliki profil di GitHub dengan username "joklin12" yang akan digunakan untuk berbagi kode berbagai proyek terkait teknologi
 

 

Peta Lokasi

peta rumah

Top