Logs.Kalamangga.Net https://logs.kalamangga.net Catatan Pengembangan Wed, 19 Feb 2025 10:25:21 +0000 en-US hourly 1 https://wordpress.org/?v=6.7.1 PyMuPDF https://logs.kalamangga.net/index.php/2025/02/19/pymupdf/ Wed, 19 Feb 2025 10:25:21 +0000 https://logs.kalamangga.net/?p=46 Salah satu data yang dikumpulkan adalah berupa berkas-berkas PDF yang perlu untuk dijadikan berkas text agar lebih mudal diolah. Salah satu paket yang bisa digunakan bila menggunakan bahasa pemrograman Python adalah PyMuPDF.

import pymupdf

doc = pymupdf.open(“sample.pdf”) # open a document
out = open(“sample.txt”, “wb”) # create a text output

for page in doc: # iterate the document pages
text = page.get_text().encode(“utf8”) # get plain text (is in UTF-8)
out.write(text) # write text of page
out.write(bytes((12,))) # write page delimiter (form feed 0x0C)

out.close()

Masih banyak yang perlu disesuaikan dengan kebutuhan tiap proyek dan berkas inputan, misalkan dengan adanya gambar dalam PDF atau PDF yang berupa gambar. Silakan eksplorasi dan sesuaikan.

]]>
LocalAI https://logs.kalamangga.net/index.php/2024/10/23/localai/ Wed, 23 Oct 2024 05:42:10 +0000 https://logs.kalamangga.net/?p=35

šŸ¤– The free, Open Source alternative to OpenAI, Claude and others. Self-hosted and local-first. Drop-in replacement for OpenAI, running on consumer-grade hardware. No GPU required. Runs gguf, transformers, diffusers and many more models architectures. Features: Generate Text, Audio, Video, Images, Voice Cloning, Distributed inference

URL: https://localai.io/

LocalAI adalah alternatif OpenAI dan layanan AI lain yang berlisensi open source sehingga dapat digunakan secara gratis. LocalAI berjalan sebagai REST API yang kompatibel dengan API dari OpenAI yang dapat dijalankan secara lokal. Dengan LocalAI berbagai model AI populer dapat dijalankan pada perangkat lokal, bahkan tanpa GPU.

LocalAI dibuat dan dikelola oleh Ettore Di Giancinto.

Tentang LocalAI

LocalAI dikembangkan sebagai alternatif OpenAI, yang kompatibel dengan API milik OpenAI, dan dijalankan secara lokal. Sehingga pemilik total sumber daya adalah Anda.

Tidak membutuhkan sumberdaya GPU dan Internet untuk menjalankannya. Karena tidak terhubung ke internet, data Anda yang rahasia tidak akan kemana-mana. Bila membutuhkan komputasi yang lebih baik dengan GPU, ada opsi.

Mendukung berbagai macam model: Text-2-Speech, Image Generation, Text Generation, Multimodal, Embedings, Rerankers dan Audio Transcription. Sekali terload, model akan tersimpan di memory sehingga akan mempercepat proses berikutnya.

Dana yang digunakan sebagai operasional dapat disesuaikan dengan kebutuhan dan sumber daya yang dimiliki. Dengan kelengkapan fitur dan model, perangkat ini layak dicoba.

Mulai!

LocalAI dapat dijalankan dengan docker dengan melakukan pull dan run dari docker hub.

docker run -p 8080:8080 –name local-ai -ti localai/localai:latest-aio-cpu

Atau bila Anda menggunakan GPU dari Nvidia dan menggunakan cuda 12 bisa dengan menjalankan:

docker run -p 8080:8080 –gpus all –name local-ai -ti localai/localai:latest-aio-gpu-nvidia-cuda-12

Selain itu juga bisa menggunakan installer yang disediakan pengembang.

curl https://localai.io/install.sh | sh

Fitur Utama

Dari menu kita dapat memilih fitur utama yang bisa langsung digunakan bila kita sudah mengunduh model yang diinginkan. Fitur chat sebagai asisten untuk berkonsultasi, generate images bila ingin mengubah teks menjadi gambar, TTS bila ingin mengubah teks menjadi suara, talk bila ingin berkonsultasi dengan asisten dengan berbicara.

Selain fitur utama tersebut, dokumentasi LocalAI dan bagaimana berdialog dengannya melalui API tersedia. Fitur lain yang mungkin perlu dieksplorasi bila ingin memperluas lingkup dan sumber daya adalah swarm.

Dukungan model yang diadopsi juga tak kalah menarik. Melalui menu models dapat dilihat berbagai macam jenis model yang didukung yang saat ini di tulis terdapat 461 model. Untuk dapat menggunakannya pun mudah, tinggal klik pada install.

Untuk eksplorasi lebih lanjut silakan ke halaman pengembangan.

]]>
Name Server https://logs.kalamangga.net/index.php/2023/06/27/name-server/ Tue, 27 Jun 2023 02:57:00 +0000 https://logs.kalamangga.net/?p=17 Internet merupakan sebuah jaringan luas yang terdiri dari komputer yang saling berhubungan satu sama lain. Seperti halnya rumah, setiap komputer memiliki alamatnya masing-masing. Bila ingin menyambangi komputer kita dari jaringan, kita harus tahu alamat dari komputer yang kita tuju. Salah satu solusi yang memudahkan kita menuju komputer tersebut adalah name server.

Nama domain menerjemahkan alamat IP dari mesin menjadi alamat yang mudah diingat. Misal alamat logs.kalamangga.net akan merujuk pada laman depan web ini.

Name Server dengan Hosts File

Sebenarnya pada setiap sistem yang kita gunakan sudah mendukung penamaan hosts dengan konfigurasi berupa berkas / hosts file, pada sistem linux dan sejenis berkas yang digunakan ā€˜/etc/hostsā€™.

127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
192.168.1.1 router-indihome
192.168.1.100 debian-lokal

Silakan dicoba menambahkan ip dan nama host yang diinginkan. Pada sistem operasi windows ada juga aplikasi yang dapat digunakan untuk tujuan serupa.

Perangkat Layanan Name Server

Ada beberapa perangkat layanan name server yang tersedia. Berikut beberapa perangkat yang digunakan secara umum pada debian.

dnsmasq

Dnsmasq menyediakan infrastruktur jaringan untuk jaringan kecil yang mencakup: DNS, DHCP, router blokir iklan, dan layanan boot jaringan. Dnsmasq dirancang agar ringan dan memiliki ukuran kecil, cocok untuk router dan firewall dengan sumber daya terbatas, misal perangkat Internet of Things. Contoh penerapannya misal digunakan pada fitur tethering smartphone dan hotspot portabel.

Platform yang didukung termasuk Linux (dengan glibc dan uclibc), Android, *BSD, dan Mac OS X. Dnsmasq disertakan di sebagian besar distribusi Linux dan sistem port *BSD. Dnsmasq menyediakan dukungan IPv6 penuh.

Subsistem DNS menyediakan server DNS lokal untuk jaringan, dengan penerusan semua jenis kueri ke server DNS rekursif upstream dan penyimpanan cache jenis catatan umum (A, AAAA, CNAME, dan PTR, juga DNSKEY dan DS saat DNSSEC diaktifkan).

Lebih lanjut silakan ke https://thekelleys.org.uk/dnsmasq/doc.html.

bind

BIND yang merupakan singkatan dari Berkeley Internet Name Domain adalah server DNS yang paling umum digunakan di Internet, khususnya pada sistem operasi berbasid Unix yang secara de-facto menjadi standar. BIND awalnya dibuat oleh empat orang mahasiswa, yaitu Douglas Terry, Mark Painter, David Riggle, dan Songnian Zhou di CSRG Universitas California of Berkeley dan pertama kali dirilis di dalam sistem 4.3BSD pada Juni 1986. Paul Vixie kemudian meneruskan pengembangannya pada tahun 1988 saat bekerja di DEC.

Saat ini rilis stabil adalah versi 9. Lisensi saat ini menggunakan Mozilla Public License 2.0. Dukungan paket dari pengembang untuk distribusi Linux Debian, Ubuntu dan CentOS/Fedora tersedia.

Lebih lanjut silakan ke https://www.isc.org/bind/.

]]>
pdsh, paralel remote shell https://logs.kalamangga.net/index.php/2020/10/11/pdsh-paralel-remote-shell/ Sun, 11 Oct 2020 03:32:00 +0000 https://logs.kalamangga.net/?p=21

pdsh: efficient rsh-like utility, for using hosts in parallelDebian description

Dari deskripsi paket dapat dilihat bahwa pdsh adalah perangkat rsh (remote shell) yang efisien karena secara paralel menjalankan perintah pada lebih dari 1 (satu) host.

Perangkat ini sangat berguna bila mesin yang dikelola identik dan lebih dari 1 (satu). Dan pada dasarnya paket bertugas untuk meneruskan perintah yang diberikan kepada mesin-mesin yang dikelola.

Pemasangan pdsh

Paket ini telah tersedia di repository Debian dengan versi 2.31-3 untuk stretch. Sehingga dapat langsung dipasang melalui apt.

# apt install pdsh

Konfigurasi pdsh

Salah satu hal yang paling sering ditanyakan adalah mengenai galat (error) yang muncul ketika menjalankan pdsh. Misalkan dengan output di bawah.

user@localhost:~ $ pdsh -w 10.0.0.[2-3] uname -a
pdsh@localhost: 10.0.0.2: rcmd: socket: Permission denied.
pdsh@localhost: 10.0.0.3: rcmd: socket: Permission denied.
user@localhost:~ 

Hal ini terjadi karena belum ditetapkannya perintah default yang digunakan dalam mendistribusikan perintah yang diterima. Tentu saja yang digunakan adalah ssh.

root@localhost:~ # echo "ssh" > /etc/pdsh/rcmd_default

Sehingga bila dijalankan kembali akan muncul.

user@localhost:~ $ pdsh -w 10.0.0.[2-3] uname -a
10.0.0.2: Linux node2 3.16.0-4-amd64 #1 SMP Debian 3.16.51-3 (2017-12-13) x86_64 GNU/Linux
10.0.0.3: Linux node3 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
user@localhost:~ 

Catatan

  • Dalam tulisan ini pembentukan kunci dan distribusi kunciĀ sshĀ tidak diceritakan.
  • Dijalankan menggunakan Debian GNU/Linux 8.11 (jessie)
]]>
Apache Hive https://logs.kalamangga.net/index.php/2020/10/11/apache-hive/ Sun, 11 Oct 2020 03:00:00 +0000 https://logs.kalamangga.net/?p=19 Dokumen presentasi kami mengenai pengenalan Apache Hive yang kami bagikan melalui slideshare.

Semoga membantu dalam mempelajari apa itu Apache Hive.

    ]]>
    Kylo https://logs.kalamangga.net/index.php/2020/09/11/kylo/ Fri, 11 Sep 2020 03:33:00 +0000 https://logs.kalamangga.net/?p=23 Memiliki fokus mengenai data dan arsitektur pendukungnya, memaksa kami untuk melakukan perbandingan dari segala macam perangkat lunak yang tersedia di pasaran yang bekerja pada level tata kelola data. Dari semua yang ada pada tulisan ini kami mencoba mengenali salah satunya, Kylo.

    Tentang Kylo

    Kylo berasal dari kata Yunani yang berarti ā€œmengalirā€.

    Apa Itu Kylo?

    Dari dokumentasi pengembang, Kylo adalah platform data lake yang kaya fitur dibangun diatas Apache Hadoop dan Spark. Kylo menyediakan fitur lengkap, ramah terhadap kebutuhan bisnis, solusi data lake dengan layanan mandiri terhadap akuisisi data, pengolahan, dan eksplorasi data.

    Kylo dikembangkan pada layer aplikasi web yang menawarkan fitur yang diorientasikan untuk pengguna level bisnis, termasuk analis data, pengelola data, ilmuwan data dan personil operasional IT. Kylo menggabungkan banyak fungsi dengan mengadopsi praktik terbaik dalam keamanan, kualitas data dan pengelolaan meta-data.

    Pengembangan Kylo

    Kylo dikembangkan oleh Think Big, grup Teradata. Think Big menyediakan konsultasi mengenai big data dan analisis yang mencakup entitas terbesar dunia dan berbagai macam industri. Dalam 7 (tujuh) tahun terakhir Think Big telah membangun 150 (seratus lima puluh) proyek Big Data.

    Sebagai pengadopsi ekosistem Hadoop yang open source, Think Big melepas salah satu proyeknya, Kylo, sebagai kontribusi kepada komunitas dan untuk meningkatkan nilai. Kylo dirilis menggunakan lisensi Apache 2.0.

    Peluang Adopsi

    Dengan melihat gambaran awal, mari kita teliti peluang adopsi Kylo dalam bisnis.

    Pengguna

    Thing Big menyatakan bahwa Kylo sudah digunakan baik dalam pengembangan maupun level produksi di berbagai proyek perusahaan multi-nasional yang mencakup berbagai jenis industri, diantaranya manufaktur, bank/keuangan, ritel dan asuransi. Namun rilis daftar nama belum bisa didapatkan karena perihal legal.

    Kebutuhan Dasar

    Banyak organisasi yang menyatakan bahwa implementasi solusi big data menggunakan Hadoop sangat kompleks. Penerapan big data sangat fokus pada rekayasa perangkat lunak dan administrasi sistem. Bahkan pada level perusahaan dengan kapabilitas teknis cukup tinggi pun memerlukan usaha lebih dalam penerapannya.

    Dan tentunya Think Big menjual jasa dukungan atas pengadopsian Kylo oleh organisasi dimana seringkali pengadopsian pengetahuan membutuhkan waktu yang tidak sebentar.

    Arsitektur

    Kylo dikembangkan sebagai aplikasi web modern pada sistem operasi GNU Linux dalam mode edge yang berisi kumpulan komputer terpasang Spark dan Hadoop. Banyak perintah rutin dalam pengembangan data-lake yang dikumpulkan sebagai pendukung Kylo utamanya berkaitan dengan Spark dan Apache Hive.

    Selain pada cluster Kylo juga bisa dipasang pada cloud.

    Komponen

    • Kylo UI;
    • Kylo Services;
    • Kylo Spark Shell;
    • Kylo Metadata Server;
    • Apache NiFi;
    • ActiveMQ;
    • Apache Spark;
    • ElasticSearch; dan
    • Apache Hadoop, termasuk: YARN, HDFS,Ā Hive.

    Siklus Pengembangan

    Sangat disarankan menggunakan sandbox dalam hal pengembangan dan percobaan pengelolaan data. Ketika alur yang dicoba sudah melewati tahap UAT dapat dilakukan penerapan pada skala produksi. Pengelolaan template dalam Kylo memudahkan dalam skalabilitas dan penerapan, karena dapat diimpor atau ekspor kedalam lingkungan yang berbeda.

    Perangkat Sejenis

    Komersial

    Kylo memiliki kesamaan dengan Podium Data dan Zaloni Data Platform, dimana Kylo merupakan pilihan open-source-nya.

    Perangkat ETL

    Perangkat ETL (extract-transform-load) berfokus pada transformasi SQL pada teknologi masing-masing basis data. Pada pola pengelolaan data, perangkat basis Hadoop yang mengikuti ELT (extract-load raw data-transform). Dimana struktur data yang tidak berstruktur tidak membuat kebutuhan khusus dalam melakukan pemindahan data.

    Dukungan Keamanan Kylo

    Kylo sudah mendukung pendefinisian hak akses dan wewenang sesuai level pengguna. Dengan Spring Security, semua layanan otentikasi dapat diintegrasikan, misal AD, Kerberos, LDAP.

    ]]>
    ePaper #01: Arsitektur Data Modern https://logs.kalamangga.net/index.php/2019/06/19/epaper-01-arsitektur-data-modern/ https://logs.kalamangga.net/index.php/2019/06/19/epaper-01-arsitektur-data-modern/#respond Wed, 19 Jun 2019 10:25:42 +0000 https://logs.kalamangga.net/?p=10 Memulai membangun selalu diawali dengan pembangunan pondasi yang kuat. Dalam sebuah bangunan diperlukan desain arsitektur yang mampu membuatnya tetap kokoh berdiri dalam berbagai terpaan musim.

    Pun demikian dengan mengembangkan sistem yang melakukan pengelolaan data. Ibarat bangunan, sistem memerlukan arsitektur yang handal sehingga mampu menyimpan dan mengelola data yang dibutuhkan dengan baik.

    Pada kesempatan ini kami mencoba memaparkan desain arsitektur yang berkembang. Beberapa permasalahan juga kami munculkan, namun belum dibahas mendalam. Akan ada revisi atas dokumen ini dikemudian hari.

    Silakan menuju tautan: Modern Data Architecture v0.1 untuk mengunduh dari Gdrive kami atau di sini atau melalui github. Atau silakan melalui Channel Telegram kami.

    ]]>
    https://logs.kalamangga.net/index.php/2019/06/19/epaper-01-arsitektur-data-modern/feed/ 0
    Buku Mini Infrastruktur #001: Docker #01 https://logs.kalamangga.net/index.php/2017/09/09/buku-mini-infrastruktur-001-docker-001/ https://logs.kalamangga.net/index.php/2017/09/09/buku-mini-infrastruktur-001-docker-001/#respond Sat, 09 Sep 2017 08:34:29 +0000 https://logs.kalamangga.net/?p=1 Mulai tahun 2007, kami membuat sebuah proyek dokumentasi yang menargetkan hasil berupa buku elektronik. Dokumentasi ini diharapkan dapat menjadi standar baku SOP dan ToK bagi internal maupun sebagai kontribusi kepada komunitas.

    Sebagai proyek awal, kami berkesimpulan harus membuat dokumentasi mengenai Infrastruktur yang kami pakai, karena ini merupakan pondasi bagi keseluruhan sistem. Selain itu diharapkan dokumentasi yang dibuat tidak membuat bosan karena terlalu bertele-tele, sehingga kami memutuskan untuk membuat buku mini yang tebalnya tidak lebih dari 50 halaman tiap eksemplar.

    Dengan pertimbangan di atas, kami pada hari ini, akhirnya, dapat melakukan rilis Buku Mini Infrastruktur yang pertama, “Docker #01: Pengenalan, Instalasi dan Penggunaan Dasar“. Dimana target pembacanya adalah orang awam yang baru ingin mengenal Docker, atau tingkat pemula.

    Sebagaimana diketahui, Riset dan Pengembangan menggunakan Docker sebagai basis sistem karena ringan dan terdokumentasi dengan baik.

    Buku dapat diunduh melalui Channel Telegram kami atau di sini.

    Selamat membaca, semoga berguna..

    ]]>
    https://logs.kalamangga.net/index.php/2017/09/09/buku-mini-infrastruktur-001-docker-001/feed/ 0