Kreye yon egzanp LangChain LLM | B4N1

Kreye yon egzanp LangChain LLM

6 months ago · b4n1 Tiempo de lectura: 4 min

Aplikasyon Achitekti Sekirize-pa-Default pou aplikasyon AI-Powered Web

Entwodiksyon

Kòm aplikasyon entènèt ki mache ak AI vin de pli zan pli répandus, bezwen pou achitekti solid ak an sekirite pa janm te pi ijan. Avèk ogmantasyon atak ki baze sou AI, li esansyèl pou aplike yon apwòch ki an sekirite pa defo ki ka kenbe tèt ak menas potansyèl yo. Nan atik sa a, nou pral eksplore ki jan yo konbine baz done sekirite louvri-sous Percona a ak apwòch sekirite-pa-default Chainguard a epi entegre ak LangChain pou aplikasyon AI ki mache ak entènèt.

Menas pou aplikasyon entènèt ki mache ak AI

Aplikasyon entènèt ki mache ak AI yo vilnerab a divès menas, tankou:

  • Anpwazònman Done: Modèl AI yo ka manipile lè yo ba yo done move, ki mennen ale nan prediksyon oswa desizyon ki pa kòrèk.
  • Modèl Envèsyon: Atakè yo ka dedwi enfòmasyon sansib sou modèl AI oswa done fòmasyon li yo.
  • Atak Adversary: Modèl AI yo ka twonpe pa antre ak anpil atansyon fabrike ki fèt pou twonpe modèl la.

Achitekti Sekirize-pa-default

Pou bese menas sa yo, nou pral aplike yon achitekti ki sekirize pa defo ki konbine baz done sekirite Percona yo ak apwòch sekirite pa defo Chainguard la epi ki entegre ak LangChain pou aplikasyon entènèt ki mache ak AI.

Percona's Secure Open-Source Databases

Percona ofri yon seri baz done ki an sekirite sous louvri, ki gen ladan Percona Server pou MySQL ak Percona Server pou PostgreSQL. Baz done sa yo bay karakteristik sekirite solid, tankou:

  • Ankripte: Done yo ankripte nan rès ak nan transpò, asire ke enfòmasyon sansib rete konfidansyèl.
  • Kontwòl Aksè: Kontwòl aksè ki byen detaye pèmèt administratè yo mete restriksyon sou aksè a done sansib epi asire ke sèlman pèsonèl otorize ka modifye oswa efase done yo.
  • Odit: Kapasite odit detaye bay yon dosye konplè sou tout aktivite baz done, sa ki fè li pi fasil pou detekte ak reponn a ensidan sekirite.

Apwòch Secure-by-Default Chainguard la

Chainguard ofri yon apwòch ki an sekirite pa defo ki asire ke aplikasyon yo bati ak sekirite nan tèt ou depi nan kòmansman an. Apwòch sa a gen ladann:

  • Pi piti privilèj: Aplikasyon yo fèt pou kouri ak pi piti privilèj nesesè pou fè fonksyon yo, diminye sifas atak la.
  • Enfrastrikti Immuabl: Enfrastrikti fèt pou yo ka imuiabl, sa ki fè li pi fasil pou detekte ak reponn a ensidan sekirite yo.
  • Konfigirasyon an sekirite: Aplikasyon yo konfigirasyon ak sekirite nan tèt ou, ki gen ladan default ki an sekirite ak konfigirasyon minim.

LangChain Entegrasyon

LangChain se yon bibliyotèk Python ki bay yon API senp ak entwisyon pou bati aplikasyon entènèt ki mache ak AI. Nou pral entegre LangChain ak baz done Percona yo ki an sekirite ak sous ouvè ak apwòch sekirite pa default Chainguard pou kreye yon achitekti solid ak an sekirite.

Egzanp Kòd

Men yon egzanp kòd ki senp ki montre kijan pou entegre LangChain ak baz done sekirite louvri Percona yo ak apwòch sekirite pa defo Chainguard la:

enpòte langchain
soti nan langchain enpòte LLM


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

# Kreye yon koneksyon baz done Percona
enpòte mysql.connector
cnx = mysql.connector.connect(
    itilizatè = 'non itilizatè',
    modpas = 'modpas',
    host = '127.0.0.1',
    baz done = 'baz done'
)

# Kreye yon konfigirasyon an sekirite Chainguard
enpòte chainguard
cfg = chainguard.Config (
    app_name="my_app",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "non itilizatè",
        "DB_PASSWORD": "modpas",
    },
)

# Sèvi ak LangChain pou rechèch baz done a
rechèch = "CHWAZI * SOTI NAN my_table"
rezilta = llm.query (rekèt, db = cnx, cfg = cfg)

# Enprime rezilta a
enprime (rezilta)

Egzanp kòd sa a montre kijan pou kreye yon egzanp LangChain LLM, konekte ak yon baz done Percona, epi kreye yon konfigirasyon an sekirite Chainguard. Lè sa a, li itilize LangChain pou rechèch baz done a epi enprime rezilta a.

Top 5-10 kòmandman/frag ki pi itilize yo

Men 5-10 kòmandman/frag ki pi itilize pou teknoloji sa a:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) - Kreye yon egzanp LangChain LLM.
  2. mysql.connector.connect(user='username', password='modpas', host='127.0.0.1', database='database') - Kreye yon koneksyon baz done 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": "modpas"}) - Kreye yon konfigirasyon an sekirite Chainguard.
  4. llm.query(query, db=cnx, cfg=cfg) - Sèvi ak LangChain pou rechèch baz done a.
  5. print(result) - Enprime rezilta rechèch la.
  6. enpòte langchain - Enpòte bibliyotèk LangChain la.
  7. enpòte mysql.connector - Enpòte konektè baz done Percona.
  8. 'enpòte chainguard' - Enpòte bibliyotèk Chainguard la.
  9. llm = LLM() - Kreye yon egzanp LangChain LLM san yo pa espesifye yon modèl.
  10. cnx = mysql.connector.connect() - Kreye yon koneksyon baz done Percona san yo pa espesifye yon baz done.

Vizyalizasyon

Isit la nan yon vizyalizasyon nan achitekti an sekirite-pa-default lè l sèvi avèk Chart.js:

{
  "type": "bar",
  "done": {
    "labels": ["Percona Database", "Chainguard Secure Configuration", "LangChain LLM"],
    "datasets": [
      {
        "label": "Karakteristik sekirite",
        "done": [10, 8, 12],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "opsyon": {
    "tit": {
      "display": vre,
      "text": "Achitekti an sekirite pa default"
    },
    "echèl": {
      "yAxes": [
        {
          "tik": {
            "beginAtZero": vre
          }
        }
      ]
    }
  }
}

Vizyalizasyon sa a montre karakteristik sekirite baz done louvri-sous Percona yo, apwòch sekirite-pa-defo Chainguard la, ak LLM LangChain a.

Konklizyon

Enplemante yon achitekti ki an sekirite pa defo pou aplikasyon entènèt ki mache ak AI enpòtan anpil nan menas jodi a. Lè nou konbine baz done sekirite Percona yo ak apwòch sekirite pa default Chainguard ak entegre ak LangChain, nou ka kreye yon achitekti solid ak an sekirite ki ka kenbe tèt ak potansyèl atak AI-kondwi. Atik sa a te bay yon gid pratik sou fason pou aplike achitekti sa a, ki gen ladan egzanp kòd ak vizyalizasyon.


¿Tienes preguntas?

Hablemos

Contáctame en LinkedIn