Gumawa ng LangChain LLM instance | B4N1

Gumawa ng LangChain LLM instance

3 months ago · b4n1 Tiempo de lectura: 5 min

Pagpapatupad ng Secure-by-Default na Arkitektura para sa AI-Powered Web Applications

Panimula

Habang lalong nagiging laganap ang mga web application na pinapagana ng AI, ang pangangailangan para sa matatag at secure na arkitektura ay hindi kailanman naging mas pinipilit. Sa pagtaas ng mga pag-atake na hinimok ng AI, mahalagang ipatupad ang isang secure-by-default na diskarte na makatiis sa mga potensyal na banta. Sa artikulong ito, tutuklasin namin kung paano pagsamahin ang mga secure na open-source na database ng Percona sa secure-by-default na diskarte ng Chainguard at isama sa LangChain para sa mga web application na pinapagana ng AI.

Mga Banta sa AI-Powered Web Application

Ang mga web application na pinapagana ng AI ay mahina sa iba't ibang banta, kabilang ang:

  • Data Poisoning: Maaaring manipulahin ang mga modelo ng AI sa pamamagitan ng pagpapakain sa kanila ng malisyosong data, na humahantong sa mga maling hula o desisyon.
  • Pagbabaligtad ng Modelo: Maaaring maghinala ang mga umaatake ng sensitibong impormasyon tungkol sa modelo ng AI o sa data ng pagsasanay nito.
  • Adversarial Attacks: Maaaring malinlang ang mga modelo ng AI sa pamamagitan ng maingat na ginawang mga input na idinisenyo upang linlangin ang modelo.

Secure-by-Default na Arkitektura

Para mabawasan ang mga banta na ito, magpapatupad kami ng secure-by-default na arkitektura na pinagsasama ang secure na open-source database ng Percona sa secure-by-default na diskarte ng Chainguard at isinasama sa LangChain para sa mga web application na pinapagana ng AI.

Mga Secure na Open-Source Database ng Percona

Nag-aalok ang Percona ng isang hanay ng mga secure na open-source na database, kabilang ang Percona Server para sa MySQL at Percona Server para sa PostgreSQL. Ang mga database na ito ay nagbibigay ng matatag na mga tampok sa seguridad, tulad ng:

  • Encryption: Ang data ay naka-encrypt sa pahinga at sa transit, na tinitiyak na ang sensitibong impormasyon ay nananatiling kumpidensyal.
  • Kontrol sa Pag-access: Ang pinong kontrol sa pag-access ay nagbibigay-daan sa mga administrator na paghigpitan ang pag-access sa sensitibong data at tiyaking ang mga awtorisadong tauhan lamang ang maaaring magbago o magtanggal ng data.
  • Pag-audit: Ang mga detalyadong kakayahan sa pag-audit ay nagbibigay ng isang komprehensibong talaan ng lahat ng aktibidad sa database, na ginagawang mas madaling makita at tumugon sa mga insidente sa seguridad.

Ang Secure-by-Default na Diskarte ng Chainguard

Nag-aalok ang Chainguard ng isang secure-by-default na diskarte na nagsisiguro na ang mga application ay binuo nang may seguridad sa isip mula sa simula. Kasama sa diskarteng ito ang:

  • Least Privilege: Ang mga application ay idinisenyo upang tumakbo nang may pinakamababang pribilehiyo na kinakailangan upang maisagawa ang kanilang mga function, na binabawasan ang pag-atake.
  • Immutable Infrastructure: Ang imprastraktura ay idinisenyo upang maging hindi nababago, na ginagawang mas madaling matukoy at tumugon sa mga insidente sa seguridad.
  • Secure Configuration: Ang mga application ay na-configure nang may seguridad sa isip, kabilang ang mga secure na default at minimal na configuration.

Pagsasama ng LangChain

Ang LangChain ay isang Python library na nagbibigay ng simple at intuitive na API para sa pagbuo ng mga web application na pinapagana ng AI. Isasama namin ang LangChain sa mga secure na open-source database ng Percona at secure-by-default na diskarte ng Chainguard upang lumikha ng matatag at secure na arkitektura.

Halimbawa ng Code

Narito ang isang simpleng halimbawa ng code na nagpapakita kung paano isama ang LangChain sa mga secure na open-source na database ng Percona at secure-by-default na diskarte ng Chainguard:

import langchain
mula sa langchain import LLM


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

# Lumikha ng koneksyon sa database ng Percona
import mysql.connector
cnx = mysql.connector.connect(
    user='username',
    password='password',
    host='127.0.0.1',
    database='database'
)

# Lumikha ng isang secure na configuration ng Chainguard
mag-import ng chainguard
cfg = chainguard.Config(
    app_name="my_app",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "username",
        "DB_PASSWORD": "password",
    },
)

# Gamitin ang LangChain upang i-query ang database
query = "PUMILI * MULA sa my_table"
resulta = llm.query(query, db=cnx, cfg=cfg)

# I-print ang resulta
print(resulta)

Ang halimbawa ng code na ito ay nagpapakita kung paano gumawa ng LangChain LLM instance, kumonekta sa isang Percona database, at gumawa ng Chainguard secure na configuration. Pagkatapos ay gumagamit ito ng LangChain upang i-query ang database at i-print ang resulta.

Nangungunang 5-10 Pinaka-ginagamit na Command/Snippet

Narito ang nangungunang 5-10 pinakaginagamit na command/snippet para sa teknolohiyang ito:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) - Gumawa ng LangChain LLM instance.
  2. mysql.connector.connect(user='username', password='password', host='127.0.0.1', database='database') - Lumikha ng Percona database connection.
  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"}) - Gumawa ng secure na configuration ng Chainguard.
  4. llm.query(query, db=cnx, cfg=cfg) - Gamitin ang LangChain para i-query ang database.
  5. print(result) - I-print ang resulta ng query.
  6. import langchain - I-import ang LangChain library.
  7. import mysql.connector - I-import ang Percona database connector.
  8. import chainguard - I-import ang Chainguard library.
  9. llm = LLM() - Lumikha ng LangChain LLM instance nang hindi nagsasaad ng modelo.
  10. cnx = mysql.connector.connect() - Lumikha ng koneksyon sa database ng Percona nang hindi tumutukoy ng database.

Visualization

Narito ang isang visualization ng secure-by-default na arkitektura gamit ang Chart.js:

{
  "type": "bar",
  "data": {
    "labels": ["Percona Database", "Chainguard Secure Configuration", "LangChain LLM"],
    "mga dataset": [
      {
        "label": "Mga Tampok ng Seguridad",
        "data": [10, 8, 12],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "mga opsyon": {
    "pamagat": {
      "display": totoo,
      "text": "Secure-by-Default na Arkitektura"
    },
    "mga kaliskis": {
      "yAxes": [
        {
          "tiks": {
            "beginAtZero": totoo
          }
        }
      ]
    }
  }
}

Ipinapakita ng visualization na ito ang mga security feature ng secure na open-source database ng Percona, secure-by-default na diskarte ng Chainguard, at LLM ng LangChain.

Konklusyon

Ang pagpapatupad ng secure-by-default na arkitektura para sa mga web application na pinapagana ng AI ay napakahalaga sa landscape ng pagbabanta ngayon. Sa pamamagitan ng pagsasama-sama ng mga secure na open-source na database ng Percona sa secure-by-default na diskarte ng Chainguard at pagsasama sa LangChain, makakagawa tayo ng matatag at secure na arkitektura na makatiis sa mga potensyal na pag-atake na hinimok ng AI. Ang artikulong ito ay nagbigay ng praktikal na gabay sa kung paano ipatupad ang arkitektura na ito, kasama ang mga halimbawa ng code at visualization.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn