Kreirajte LangChain LLM instancu | B4N1

Kreirajte LangChain LLM instancu

6 months ago · b4n1 Read time: 4 min

Implementacija bezbedne po podrazumevanoj arhitekturi za veb aplikacije sa veštačkom inteligencijom

Uvod

Kako web aplikacije zasnovane na umjetnoj inteligenciji postaju sve zastupljenije, potreba za robusnom i sigurnom arhitekturom nikada nije bila hitnija. S porastom napada vođenih umjetnom inteligencijom, od suštinske je važnosti implementirati pristup bezbjednosti prema zadanim postavkama koji može izdržati potencijalne prijetnje. U ovom članku ćemo istražiti kako kombinirati Perconine sigurne baze podataka otvorenog koda sa Chainguard-ovim pristupom bezbjedno po zadanom i integrirati se sa LangChain-om za web aplikacije koje pokreće AI.

Prijetnje web aplikacijama koje pokreće AI

Web aplikacije koje pokreće umjetna inteligencija su ranjive na različite prijetnje, uključujući:

  • Otrovanje podacima: AI modelima se može manipulisati tako što im se dostavljaju zlonamerni podaci, što dovodi do pogrešnih predviđanja ili odluka.
  • Inverzija modela: Napadači mogu zaključiti osjetljive informacije o AI modelu ili njegovim podacima o obuci.
  • Adversarial Attacks: AI modeli mogu biti prevareni pažljivo izrađenim unosima koji su dizajnirani da dovedu model u zabludu.

Secure-by-Default Architecture

Da bismo ublažili ove prijetnje, implementiraćemo arhitekturu bezbedno-po-podrazumevano koja kombinuje Perconine sigurne baze podataka otvorenog koda sa Chainguard-ovim secure-by-default pristupom i integriše se sa LangChain-om za veb aplikacije koje pokreće veštačka inteligencija.

Percona-ine sigurne baze podataka otvorenog koda

Percona nudi niz sigurnih baza podataka otvorenog koda, uključujući Percona Server za MySQL i Percona Server za PostgreSQL. Ove baze podataka pružaju robusne sigurnosne karakteristike, kao što su:

  • Šifrovanje: Podaci se šifriraju u mirovanju i u prijenosu, osiguravajući da osjetljive informacije ostanu povjerljive.
  • Kontrola pristupa: Fino-zrnasta kontrola pristupa omogućava administratorima da ograniče pristup osjetljivim podacima i osiguraju da samo ovlašteno osoblje može mijenjati ili brisati podatke.
  • Revizija: Detaljne mogućnosti revizije obezbeđuju sveobuhvatan zapis svih aktivnosti baze podataka, što olakšava otkrivanje i reagovanje na bezbednosne incidente.

Chainguard-ov Secure-by-Default pristup

Chainguard nudi pristup bezbjednosti po zadanim postavkama koji osigurava da su aplikacije napravljene sa sigurnošću na umu od samog početka. Ovaj pristup uključuje:

  • Najmanja privilegija: Aplikacije su dizajnirane da rade sa najmanjim privilegijama potrebnim za obavljanje svojih funkcija, smanjujući površinu napada.
  • Nepromenljiva infrastruktura: Infrastruktura je dizajnirana da bude nepromenljiva, što olakšava otkrivanje i reagovanje na bezbednosne incidente.
  • Sigurna konfiguracija: Aplikacije se konfiguriraju imajući na umu sigurnost, uključujući sigurne zadane postavke i minimalnu konfiguraciju.

LangChain integracija

LangChain je Python biblioteka koja pruža jednostavan i intuitivan API za izgradnju web aplikacija koje pokreće AI. Integrisaćemo LangChain sa Perconinim bezbednim bazama podataka otvorenog koda i Chainguard-ovim secure-by-default pristupom kako bismo stvorili robusnu i sigurnu arhitekturu.

Primjer koda

Evo jednostavnog primjera koda koji pokazuje kako integrirati LangChain sa Perconinim sigurnim open-source bazama podataka i Chainguard-ovim pristupom sigurnim po zadanim postavkama:

import langchain
iz langchain import LLM


llm = LLM(
    model_name="davinci:2-veliki",
    device="cuda",
    max_tokens=1024,
)

# Kreirajte Percona vezu sa bazom podataka
import mysql.connector
cnx = mysql.connector.connect(
    user='korisničko ime',
    lozinka='lozinka',
    host='127.0.0.1',
    baza podataka='baza podataka'
)

# Kreirajte sigurnu konfiguraciju Chainguarda
import chainguard
cfg = štitnik lanca.Config(
    app_name="my_app",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "korisničko ime",
        "DB_PASSWORD": "lozinka",
    },
)

# Koristite LangChain za upit baze podataka
query = "ODABIR * IZ my_table"
rezultat = llm.query(upit, db=cnx, cfg=cfg)

# Odštampajte rezultat
print(rezultat)

Ovaj primjer koda pokazuje kako kreirati LangChain LLM instancu, povezati se s Percona bazom podataka i kreirati sigurnu konfiguraciju Chainguarda. Zatim koristi LangChain za ispitivanje baze podataka i ispis rezultata.

Top 5-10 najčešće korištenih naredbi/isječaka

Evo 5-10 najčešće korištenih komandi/isječaka za ovu tehnologiju:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) - Kreirajte LangChain LLM instancu.
  2. mysql.connector.connect(user='username', password='password', host='127.0.0.1', database='database') - Kreirajte Percona vezu sa bazom podataka.
  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"}) - Kreirajte sigurnu konfiguraciju Chainguarda.
  4. llm.query(query, db=cnx, cfg=cfg) - Koristite LangChain za upit baze podataka.
  5. print(result) - Ispis rezultata upita.
  6. import langchain - Uvezite LangChain biblioteku.
  7. import mysql.connector - Uvezite Percona konektor baze podataka.
  8. import chainguard - Uvezite Chainguard biblioteku.
  9. llm = LLM() - Kreirajte LangChain LLM instancu bez navođenja modela.
  10. cnx = mysql.connector.connect() - Kreirajte Percona vezu sa bazom podataka bez navođenja baze podataka.

Vizuelizacija

Evo vizualizacije sigurnosne arhitekture pomoću Chart.js:

{
  "type": "bar",
  "podaci": {
    "labels": ["Percona Database", "Chainguard Secure Configuration", "LangChain LLM"],
    "setovi podataka": [
      {
        "label": "Sigurnosne karakteristike",
        "podaci": [10, 8, 12],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "opcije": {
    "naslov": {
      "prikaz": istina,
      "text": "Secure-by-Default Architecture"
    },
    "vaga": {
      "yAxes": [
        {
          "krpelji": {
            "beginAtZero": istina
          }
        }
      ]
    }
  }
}

Ova vizualizacija pokazuje sigurnosne karakteristike Perconinih sigurnih otvorenih baza podataka, Chainguard-ovog pristupa bezbjednosti po defaultu i LangChain-ovog LLM-a.

Zaključak

Implementacija bezbedne po podrazumevanoj arhitekturi za veb aplikacije koje pokreće veštačka inteligencija ključna je u današnjem okruženju pretnji. Kombinacijom Perconinih sigurnih open-source baza podataka sa Chainguard-ovim pristupom bezbjednosti po zadanim postavkama i integracijom sa LangChainom, možemo stvoriti robusnu i sigurnu arhitekturu koja može izdržati potencijalne napade vođene umjetnom inteligencijom. Ovaj članak je pružio praktičan vodič o tome kako implementirati ovu arhitekturu, uključujući primjere koda i vizualizacije.


Have Questions?

Let's Talk

Contact me on LinkedIn