Stvorite LangChain LLM instancu | B4N1

Stvorite LangChain LLM instancu

6 months ago · b4n1 Read time: 4 min

Implementacija Secure-by-Default arhitekture za web aplikacije koje pokreće AI

Uvod

Kako web aplikacije koje pokreću AI postaju sve prisutnije, potreba za robusnom i sigurnom arhitekturom nikada nije bila hitnija. S porastom napada vođenih umjetnom inteligencijom, ključno je implementirati pristup siguran po zadanim postavkama koji može izdržati potencijalne prijetnje. U ovom ćemo članku istražiti kako kombinirati Percona sigurne baze podataka otvorenog koda s Chainguardovim sigurnim pristupom prema zadanim postavkama i integrirati s LangChainom za web aplikacije koje pokreće AI.

Prijetnje web aplikacijama koje pokreće AI

Web aplikacije koje pokreće AI ranjive su na razne prijetnje, uključujući:

  • Trovanje podataka: AI modelima može se manipulirati unosom zlonamjernih podataka, što dovodi do netoč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 obmanu model.

Sigurna prema zadanim postavkama

Kako bismo ublažili te prijetnje, implementirat ćemo arhitekturu sigurna po zadanim postavkama koja kombinira Percona-ine sigurne baze podataka otvorenog koda s Chainguardovim sigurnim po zadanim pristupom i integrira se s LangChainom za web aplikacije koje pokreće AI.

Percona 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 značajke, kao što su:

  • Šifriranje: podaci su šifrirani dok miruju i u prijenosu, čime se osigurava da osjetljive informacije ostanu povjerljive.
  • Kontrola pristupa: Fina kontrola pristupa omogućuje administratorima da ograniče pristup osjetljivim podacima i osiguraju da samo ovlašteno osoblje može mijenjati ili brisati podatke.
  • Revizija: Mogućnosti detaljne revizije pružaju sveobuhvatnu evidenciju svih aktivnosti baze podataka, olakšavajući otkrivanje i reagiranje na sigurnosne incidente.

Chainguardov Secure-by-Default pristup

Chainguard nudi siguran pristup prema zadanim postavkama koji osigurava da su aplikacije izrađene imajući na umu sigurnost od samog početka. Ovaj pristup uključuje:

  • Najmanja privilegija: Aplikacije su dizajnirane za rad s najmanjom privilegijom potrebnom za obavljanje svojih funkcija, smanjujući površinu napada.
  • Nepromjenjiva infrastruktura: Infrastruktura je dizajnirana da bude nepromjenjiva, što olakšava otkrivanje sigurnosnih incidenata i reagiranje na njih.
  • Sigurna konfiguracija: Aplikacije su konfigurirane 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 izradu web aplikacija koje pokreće AI. Integrirat ćemo LangChain s Percona sigurnim bazama podataka otvorenog koda i Chainguardovim sigurnim pristupom prema zadanim postavkama kako bismo stvorili robusnu i sigurnu arhitekturu.

Primjer koda

Evo jednostavnog primjera koda koji pokazuje kako integrirati LangChain sa Percona sigurnim bazama podataka otvorenog koda i Chainguardovim sigurnim po zadanom pristupom:

uvoz lančain
od langchain import LLM


llm = LLM(
    model_name="davinci:2-large",
    uređaj="cuda",
    max_tokens=1024,
)

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

# Stvorite sigurnu konfiguraciju Chainguard
uvoz lanca
cfg = chainguard.Config(
    app_name="moja_aplikacija",
    verzija_aplikacije="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "korisničko ime",
        "DB_PASSWORD": "lozinka",
    },
)

# Koristite LangChain za postavljanje upita bazi podataka
upit = "SELECT * FROM my_table"
rezultat = llm.query(upit, db=cnx, cfg=cfg)

# Ispiši rezultat
ispis (rezultat)

Ovaj primjer koda pokazuje kako stvoriti LangChain LLM instancu, povezati se s Percona bazom podataka i stvoriti Chainguard sigurnu konfiguraciju. Zatim koristi LangChain za postavljanje upita bazi podataka i ispis rezultata.

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

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

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

Vizualizacija

Evo vizualizacije sigurne po zadanim postavkama arhitekture koja koristi Chart.js:

{
  "tip": "bar",
  "podaci": {
    "oznake": ["Baza podataka Percona", "Chainguard Secure Configuration", "LangChain LLM"],
    "skupovi podataka": [
      {
        "label": "Sigurnosne značajke",
        "podaci": [10, 8, 12],
        "Boja pozadine": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "opcije": {
    "naslov": {
      "display": točno,
      "text": "Sigurna po zadanoj arhitekturi"
    },
    "vage": {
      "yOsi": [
        {
          "kvačice": {
            "beginAtZero": točno
          }
        }
      ]
    }
  }
}

Ova vizualizacija prikazuje sigurnosne značajke Percona sigurnih baza podataka otvorenog koda, Chainguardov pristup siguran po zadanim postavkama i LangChainov LLM.

Zaključak

Implementacija sigurne prema zadanim postavkama za web aplikacije koje pokreće AI ključna je u današnjem okruženju prijetnji. Kombinirajući Percona sigurne baze podataka otvorenog koda s Chainguardovim sigurnim pristupom prema zadanim postavkama i integracijom s LangChainom, možemo stvoriti robusnu i sigurnu arhitekturu koja može izdržati potencijalne napade vođene umjetnom inteligencijom. Ovaj članak pruža 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