Sukurkite „LangChain LLM“ egzempliorių | B4N1

Sukurkite „LangChain LLM“ egzempliorių

3 months ago · b4n1 Read time: 3 min

Saugios pagal numatytąją architektūrą, skirtą dirbtiniu intelektu valdomoms žiniatinklio programoms, įdiegimas

Įvadas

Kadangi dirbtinio intelekto valdomos žiniatinklio programos tampa vis labiau paplitusios, tvirtos ir saugios architektūros poreikis niekada nebuvo toks aktualus. Daugėjant dirbtinio intelekto atakų, labai svarbu įdiegti pagal numatytuosius nustatymus saugaus metodo, kuris galėtų atlaikyti galimas grėsmes. Šiame straipsnyje išnagrinėsime, kaip sujungti saugias „Percona“ atvirojo kodo duomenų bazes su „Chainguard“ saugiu pagal numatytuosius nustatymus ir integruoti su „LangChain“, skirtu dirbtiniu intelektu valdomoms žiniatinklio programoms.

Grėsmės dirbtinio intelekto valdomoms žiniatinklio programoms

Dirbtinio intelekto valdomos žiniatinklio programos yra pažeidžiamos įvairių grėsmių, įskaitant:

  • Apsinuodijimas duomenimis: dirbtinio intelekto modeliais galima manipuliuoti pateikiant jiems kenkėjiškus duomenis, dėl kurių galima nuspėti arba priimti neteisingus sprendimus.
  • Modelio inversija: užpuolikai gali nustatyti slaptą informaciją apie AI modelį arba jo mokymo duomenis.
  • Priešingos atakos: dirbtinio intelekto modeliai gali būti apgauti dėl kruopščiai sukurtų įvesties duomenų, skirtų suklaidinti modelį.

Saugi pagal numatytąją architektūrą

Siekdami sumažinti šias grėsmes, įdiegsime saugią pagal numatytąją architektūrą, kuri sujungs Percona saugias atvirojo kodo duomenų bazes su Chainguard saugaus pagal numatytuosius nustatymus ir integruojasi su LangChain, skirtu dirbtiniu intelektu valdomoms žiniatinklio programoms.

„Percona“ saugios atvirojo kodo duomenų bazės

„Percona“ siūlo daugybę saugių atvirojo kodo duomenų bazių, įskaitant „Percona Server“, skirtą MySQL, ir „Percona Server“, skirtą „PostgreSQL“. Šios duomenų bazės teikia patikimas saugos funkcijas, tokias kaip:

  • Šifravimas: duomenys šifruojami ramybės būsenoje ir perduodami, todėl neskelbtina informacija išliks konfidenciali.
  • Prieigos kontrolė: tiksli prieigos kontrolė leidžia administratoriams apriboti prieigą prie jautrių duomenų ir užtikrinti, kad tik įgalioti darbuotojai galėtų keisti arba ištrinti duomenis.
  • Auditas: išsamios audito galimybės suteikia išsamų visos duomenų bazės veiklos įrašą, todėl lengviau aptikti saugumo incidentus ir į juos reaguoti.

„Chainguard“ saugaus pagal numatytuosius nustatymus metodas

„Chainguard“ siūlo saugaus pagal numatytuosius nustatymus, užtikrinantį, kad programos nuo pat pradžių būtų kuriamos atsižvelgiant į saugumą. Šis metodas apima:

  • Mažiausia privilegija: programos sukurtos veikti su mažiausiomis privilegijomis, kurių reikia jų funkcijoms atlikti, sumažinant atakos paviršių.
  • Nekintama infrastruktūra: infrastruktūra sukurta taip, kad būtų nekintanti, kad būtų lengviau aptikti saugumo incidentus ir į juos reaguoti.
  • Saugi konfigūracija: programos konfigūruojamos atsižvelgiant į saugumą, įskaitant saugius numatytuosius nustatymus ir minimalią konfigūraciją.

LangChain integracija

„LangChain“ yra „Python“ biblioteka, teikianti paprastą ir intuityvią API, skirtą dirbtiniu intelektu valdomoms žiniatinklio programoms kurti. Integruosime „LangChain“ su saugiomis „Percona“ atvirojo kodo duomenų bazėmis ir „Chainguard“ saugiu pagal numatytuosius nustatymus, kad sukurtume tvirtą ir saugią architektūrą.

Kodo pavyzdys

Štai paprastas kodo pavyzdys, parodantis, kaip integruoti „LangChain“ su saugiomis „Percona“ atvirojo kodo duomenų bazėmis ir „Chainguard“ saugiu pagal numatytuosius nustatymus:

importuoti langchain
iš langchain importo LLM


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

# Sukurkite Percona duomenų bazės ryšį
importuoti mysql.connector
cnx = mysql.connector.connect(
    user='naudotojo vardas',
    slaptažodis='slaptažodis',
    host='127.0.0.1',
    duomenų bazė='duomenų bazė'
)

# Sukurkite saugią „Chainguard“ konfigūraciją
importo grandinės apsauga
cfg = chainguard.Config(
    app_name="mano_programa",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "vartotojo vardas",
        "DB_PASSWORD": "slaptažodis",
    },
)

# Norėdami pateikti duomenų bazės užklausas, naudokite „LangChain“.
query = "Pasirinkti * IŠ mano_lentelės"
rezultatas = llm.query(query, db=cnx, cfg=cfg)

# Spausdinkite rezultatą
spausdinti (rezultatas)

Šis kodo pavyzdys parodo, kaip sukurti LangChain LLM egzempliorių, prisijungti prie Percona duomenų bazės ir sukurti saugią Chainguard konfigūraciją. Tada jis naudoja „LangChain“, kad pateiktų užklausą duomenų bazėje ir išspausdintų rezultatą.

5–10 dažniausiai naudojamų komandų / fragmentų

Štai 5–10 populiariausių šios technologijos komandų / fragmentų:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) – sukurkite LangChain LLM egzempliorių.
  2. `mysql.connector.connect(user='naudotojo vardas', slaptažodis='slaptažodis', host='127.0.0.1', database='duomenų bazė')' – Sukurkite Percona duomenų bazės ryšį.
  3. `chainguard.Config(app_name="my_app", app_version="1.0", env_vars={"DB_HOST": "127.0.0.1", "DB_USER": "naudotojo vardas", "DB_PASSWORD": "slaptažodis"}) - sukurkite saugią Chainguard konfigūraciją.
  4. „llm.query(query, db=cnx, cfg=cfg)“ – duomenų bazės užklausai naudokite „LangChain“.
  5. „spausdinti(rezultatas)“ – išspausdinti užklausos rezultatą.
  6. „importuoti langchain“ – importuoti „LangChain“ biblioteką.
  7. „Import mysql.connector“ – importuokite „Percona“ duomenų bazės jungtį.
  8. Importuoti grandinės apsaugą – importuoti Chainguard biblioteką.
  9. llm = LLM() – sukurkite LangChain LLM egzempliorių nenurodydami modelio.
  10. cnx = mysql.connector.connect() – sukurkite Percona duomenų bazės ryšį nenurodydami duomenų bazės.

Vizualizacija

Štai saugios pagal numatytuosius nustatymus architektūros vizualizacija naudojant Chart.js:

{
  "tipas": "juosta",
  "duomenys": {
    "labels": ["Percona Database", "Chainguard Secure Configuration", "LangChain LLM"],
    "duomenų rinkiniai": [
      {
        "label": "Saugos funkcijos",
        "duomenys": [10, 8, 12],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "parinktys": {
    "pavadinimas": {
      "display": tiesa,
      "text": "Saugi pagal numatytąją architektūrą"
    },
    "svarstyklės": {
      „yAxes“: [
        {
          "erkės": {
            "beginAtZero": tiesa
          }
        }
      ]
    }
  }
}

Ši vizualizacija parodo saugių „Percona“ atvirojo kodo duomenų bazių, „Chainguard“ saugios pagal numatytuosius metodus ir „LangChain“ LLM saugos funkcijas.

Išvada

Saugios pagal numatytąją architektūrą, skirtą dirbtiniu intelektu valdomoms žiniatinklio programoms, labai svarbu šiandieninėje grėsmės aplinkoje. Sujungę saugias „Percona“ atvirojo kodo duomenų bazes su „Chainguard“ saugiu pagal numatytuosius nustatymus ir integruodami su „LangChain“, galime sukurti tvirtą ir saugią architektūrą, galinčią atlaikyti galimas dirbtinio intelekto atakas. Šiame straipsnyje pateiktas praktinis vadovas, kaip įdiegti šią architektūrą, įskaitant kodo pavyzdžius ir vizualizacijas.


Have Questions?

Let's Talk

Contact me on LinkedIn