Buat instans LangChain LLM | B4N1

Buat instans LangChain LLM

3 months ago · b4n1 Read time: 3 min

Menerapkan Arsitektur Aman Secara Default untuk Aplikasi Web yang Didukung AI

Pendahuluan

Seiring dengan semakin maraknya aplikasi web yang didukung AI, kebutuhan akan arsitektur yang kuat dan aman menjadi semakin mendesak. Dengan meningkatnya serangan berbasis AI, penting untuk menerapkan pendekatan yang aman secara default yang dapat menahan potensi ancaman. Dalam artikel ini, kita akan mempelajari cara menggabungkan database sumber terbuka aman Percona dengan pendekatan secure-by-default Chainguard dan berintegrasi dengan LangChain untuk aplikasi web yang didukung AI.

Ancaman terhadap Aplikasi Web yang Didukung AI

Aplikasi web yang didukung AI rentan terhadap berbagai ancaman, termasuk:

  • Keracunan Data: Model AI dapat dimanipulasi dengan memberikan data berbahaya, sehingga menghasilkan prediksi atau keputusan yang salah.
  • Inversi Model: Penyerang dapat menyimpulkan informasi sensitif tentang model AI atau data pelatihannya.
  • Serangan Permusuhan: Model AI dapat tertipu dengan masukan yang dirancang dengan cermat untuk menyesatkan model.

Arsitektur Aman Secara Default

Untuk memitigasi ancaman ini, kami akan menerapkan arsitektur aman secara default yang menggabungkan database sumber terbuka aman Percona dengan pendekatan aman secara default Chainguard dan berintegrasi dengan LangChain untuk aplikasi web yang didukung AI.

Basis Data Sumber Terbuka Aman Percona

Percona menawarkan serangkaian database sumber terbuka yang aman, termasuk Percona Server untuk MySQL dan Percona Server untuk PostgreSQL. Basis data ini menyediakan fitur keamanan yang kuat, seperti:

  • Enkripsi: Data dienkripsi saat disimpan dan dalam perjalanan, memastikan bahwa informasi sensitif tetap rahasia.
  • Kontrol Akses: Kontrol akses yang terperinci memungkinkan administrator membatasi akses ke data sensitif dan memastikan bahwa hanya personel yang berwenang yang dapat mengubah atau menghapus data.
  • Audit: Kemampuan audit mendetail memberikan catatan komprehensif tentang semua aktivitas database, sehingga lebih mudah mendeteksi dan merespons insiden keamanan.

Pendekatan Aman-secara-Default Chainguard

Chainguard menawarkan pendekatan aman secara default yang memastikan bahwa aplikasi dibangun dengan mempertimbangkan keamanan sejak awal. Pendekatan ini meliputi:

  • Hak Istimewa Terkecil: Aplikasi dirancang untuk berjalan dengan hak istimewa paling sedikit yang diperlukan untuk menjalankan fungsinya, sehingga mengurangi permukaan serangan.
  • Infrastruktur yang Tidak Dapat Diubah: Infrastruktur dirancang agar tidak dapat diubah, sehingga lebih mudah untuk mendeteksi dan merespons insiden keamanan.
  • Konfigurasi Aman: Aplikasi dikonfigurasi dengan mempertimbangkan keamanan, termasuk default aman dan konfigurasi minimal.

Integrasi LangChain

LangChain adalah perpustakaan Python yang menyediakan API sederhana dan intuitif untuk membangun aplikasi web yang didukung AI. Kami akan mengintegrasikan LangChain dengan database sumber terbuka aman Percona dan pendekatan secure-by-default Chainguard untuk menciptakan arsitektur yang kuat dan aman.

Contoh Kode

Berikut adalah contoh kode sederhana yang menunjukkan cara mengintegrasikan LangChain dengan database sumber terbuka aman Percona dan pendekatan default Chainguard:

impor langchain
dari langchain impor LLM


llm = LLM(
    model_name="davinci:2-besar",
    perangkat="cuda",
    maks_tokens=1024,
)

# Buat koneksi database Percona
impor mysql.konektor
cnx = mysql.konektor.koneksi(
    pengguna='nama pengguna',
    kata sandi='kata sandi',
    tuan rumah='127.0.0.1',
    basis data='basis data'
)

# Buat konfigurasi aman Chainguard
pelindung rantai impor
cfg = penjaga rantai.Config(
    nama_aplikasi="aplikasi_saya",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "nama pengguna",
        "DB_PASSWORD": "kata sandi",
    },
)

# Gunakan LangChain untuk menanyakan database
kueri = "PILIH * DARI tabel_saya"
hasil = llm.query(kueri, db=cnx, cfg=cfg)

# Cetak hasilnya
mencetak (hasil)

Contoh kode ini menunjukkan cara membuat instance LangChain LLM, menyambung ke database Percona, dan membuat konfigurasi aman Chainguard. Kemudian menggunakan LangChain untuk menanyakan database dan mencetak hasilnya.

5-10 Perintah/Cuplikan Teratas yang Paling Banyak Digunakan

Berikut adalah 5-10 perintah/cuplikan yang paling banyak digunakan untuk teknologi ini:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) - Buat instance LLM LangChain.
  2. mysql.connector.connect(user='username', password='password', host='127.0.0.1', database='database') - Membuat koneksi database Percona.
  3. chainguard.Config(app_name="my_app", app_version="1.0", env_vars={"DB_HOST": "127.0.0.1", "DB_USER": "username", "DB_PASSWORD": "password"}) - Buat konfigurasi aman Chainguard.
  4. llm.query(query, db=cnx, cfg=cfg) - Gunakan LangChain untuk menanyakan database.
  5. print(result) - Cetak hasil kueri.
  6. import langchain - Impor perpustakaan LangChain.
  7. import mysql.connector - Impor konektor database Percona.
  8. import chainguard - Impor perpustakaan Chainguard.
  9. llm = LLM() - Membuat instance LLM LangChain tanpa menentukan model.
  10. cnx = mysql.connector.connect() - Membuat koneksi database Percona tanpa menentukan database.

Visualisasi

Berikut visualisasi arsitektur secure-by-default menggunakan Chart.js:

{
  "ketik": "bilah",
  "data": {
    "labels": ["Database Percona", "Konfigurasi Aman Chainguard", "LangChain LLM"],
    "kumpulan data": [
      {
        "label": "Fitur Keamanan",
        "data": [10, 8, 12],
        "warna latar": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "pilihan": {
    "judul": {
      "tampilan": benar,
      "text": "Arsitektur Aman Secara Default"
    },
    "timbangan": {
      "yAxes": [
        {
          "centang": {
            "beginAtZero": benar
          }
        }
      ]
    }
  }
}

Visualisasi ini menunjukkan fitur keamanan database sumber terbuka aman Percona, pendekatan secure-by-default Chainguard, dan LLM LangChain.

Kesimpulan

Menerapkan arsitektur yang aman secara default untuk aplikasi web yang didukung AI sangatlah penting dalam lanskap ancaman saat ini. Dengan menggabungkan database sumber terbuka aman Percona dengan pendekatan secure-by-default Chainguard dan berintegrasi dengan LangChain, kami dapat menciptakan arsitektur yang kuat dan aman yang dapat menahan potensi serangan berbasis AI. Artikel ini telah memberikan panduan praktis tentang cara mengimplementasikan arsitektur ini, termasuk contoh kode dan visualisasinya.


Have Questions?

Let's Talk

Contact me on LinkedIn