Ստեղծեք LangChain LLM օրինակ | B4N1

Ստեղծեք LangChain LLM օրինակ

3 months ago · b4n1 Read time: 4 min

Անվտանգ առ-կանխադրված ճարտարապետության ներդրում AI-ի վրա աշխատող վեբ հավելվածների համար

Ներածություն

Քանի որ AI-ով աշխատող վեբ հավելվածները դառնում են ավելի ու ավելի տարածված, ամուր և անվտանգ ճարտարապետության կարիքը երբեք ավելի հրատապ չի եղել: Արհեստական ​​ինտելեկտի վրա հիմնված հարձակումների աճի հետ մեկտեղ կարևոր է իրականացնել կանխադրված անվտանգ մոտեցում, որը կարող է դիմակայել պոտենցիալ սպառնալիքներին: Այս հոդվածում մենք կուսումնասիրենք, թե ինչպես կարելի է համատեղել Percona-ի անվտանգ բաց կոդով տվյալների բազաները Chainguard-ի կանխադրված ապահով մոտեցման հետ և ինտեգրվել LangChain-ի հետ AI-ով աշխատող վեբ հավելվածների համար:

Սպառնալիքներ AI-ով աշխատող վեբ հավելվածներին

AI-ով աշխատող վեբ հավելվածները խոցելի են տարբեր սպառնալիքների նկատմամբ, այդ թվում՝

  • Տվյալների թունավորում. արհեստական ինտելեկտի մոդելները կարող են մանիպուլյացիայի ենթարկվել՝ նրանց չարամիտ տվյալներ մատակարարելով, ինչը հանգեցնում է սխալ կանխատեսումների կամ որոշումների:
  • Մոդելի շրջում. հարձակվողները կարող են ենթադրել զգայուն տեղեկատվություն AI մոդելի կամ դրա ուսուցման տվյալների մասին:
  • Հակառակորդ հարձակումներ. AI մոդելները կարող են խաբվել մանրակրկիտ մշակված մուտքերով, որոնք նախատեսված են մոդելին մոլորեցնելու համար:

Անվտանգ ըստ լռելյայն ճարտարապետություն

Այս վտանգները մեղմելու համար մենք կիրականացնենք լռելյայն անվտանգ ճարտարապետություն, որը համատեղում է Percona-ի անվտանգ բաց կոդով տվյալների բազաները Chainguard-ի կանխադրված անվտանգ մոտեցման հետ և ինտեգրվում է LangChain-ի հետ AI-ով աշխատող վեբ հավելվածների համար:

Percona-ի անվտանգ բաց կոդով տվյալների շտեմարաններ

Percona-ն առաջարկում է մի շարք անվտանգ բաց կոդով տվյալների բազաներ, ներառյալ Percona Server-ը MySQL-ի համար և Percona Server-ը PostgreSQL-ի համար: Այս տվյալների բազաները ապահովում են կայուն անվտանգության առանձնահատկություններ, ինչպիսիք են.

  • Գաղտնագրում. Տվյալները կոդավորված են հանգստի և տարանցման ժամանակ՝ ապահովելով, որ զգայուն տեղեկատվությունը մնում է գաղտնի:
  • Մուտքի վերահսկում. Մուտքի նուրբ հսկողությունը թույլ է տալիս ադմինիստրատորներին սահմանափակել մուտքը զգայուն տվյալներ և ապահովել, որ միայն լիազորված անձնակազմը կարող է փոփոխել կամ ջնջել տվյալները:
  • **Աուդիտ **. Մանրամասն աուդիտի հնարավորությունները ապահովում են տվյալների բազայի ամբողջ գործունեության համապարփակ գրառում, ինչը հեշտացնում է անվտանգության միջադեպերը հայտնաբերելն ու արձագանքելը:

Chainguard's Secure-by-Default մոտեցումը

Chainguard-ն առաջարկում է լռելյայն անվտանգ մոտեցում, որն ապահովում է, որ հավելվածները ստեղծվել են ի սկզբանե նկատի ունենալով անվտանգությունը: Այս մոտեցումը ներառում է.

  • Նվազագույն արտոնություն. հավելվածները նախատեսված են իրենց գործառույթները կատարելու համար անհրաժեշտ նվազագույն արտոնություններով աշխատելու համար՝ նվազեցնելով հարձակման մակերեսը:
  • Անփոփոխ ենթակառուցվածք. Ենթակառուցվածքը նախագծված է այնպես, որ անփոփոխ լինի, ինչը հեշտացնում է անվտանգության միջադեպերը հայտնաբերելն ու արձագանքելը:
  • Անվտանգ կոնֆիգուրացիա. հավելվածները կազմաձևվում են՝ հաշվի առնելով անվտանգությունը, ներառյալ անվտանգ կանխադրվածները և նվազագույն կազմաձևումը:

LangChain ինտեգրում

LangChain-ը Python գրադարան է, որն ապահովում է պարզ և ինտուիտիվ API՝ AI-ով աշխատող վեբ հավելվածներ ստեղծելու համար: Մենք ինտեգրելու ենք LangChain-ը Percona-ի անվտանգ բաց կոդով տվյալների բազաներին և Chainguard-ի կանխադրված անվտանգ մոտեցմանը` ամուր և անվտանգ ճարտարապետություն ստեղծելու համար:

Կոդերի օրինակ

Ահա մի պարզ կոդի օրինակ, որը ցույց է տալիս, թե ինչպես կարելի է ինտեգրել LangChain-ը Percona-ի անվտանգ բաց կոդով տվյալների շտեմարաններին և Chainguard-ի անվտանգ-լռելյայն մոտեցմանը. «Պիթոն». ներմուծման լանգշղթա langchain import LLM-ից

llm = LLM( model_name="davinci:2-large", սարք = "cuda", max_tokens=1024, )

Ստեղծեք Percona տվյալների բազայի կապ

ներմուծել mysql.connector cnx = mysql.connector.connect( օգտվող='օգտանուն', գաղտնաբառը='գաղտնաբառ', host='127.0.0.1', տվյալների բազա='շտեմարան' )

Ստեղծեք Chainguard-ի անվտանգ կոնֆիգուրացիա

ներմուծման շղթայական պահակ cfg = chainguard.Config( app_name = "my_app", app_version = "1.0", env_vars={ «DB_HOST»: «127.0.0.1», "DB_USER": "օգտանուն", "DB_PASSWORD": "գաղտնաբառ", }, )

Օգտագործեք LangChain տվյալների բազան հարցումներ անելու համար

հարցում = "SELECT * FROM my_table" արդյունք = llm.query (հարցում, db=cnx, cfg=cfg)

Տպեք արդյունքը

տպել (արդյունք)

Այս կոդի օրինակը ցույց է տալիս, թե ինչպես ստեղծել LangChain LLM օրինակ, միանալ Percona տվյալների բազային և ստեղծել Chainguard անվտանգ կոնֆիգուրացիա: Այնուհետև այն օգտագործում է LangChain-ը տվյալների բազան հարցումներ անելու և արդյունքը տպելու համար:

**Թոփ 5-10 ամենաշատ օգտագործվող հրամաններ/հատվածներ**

Ահա այս տեխնոլոգիայի համար ամենաշատ օգտագործվող 5-10 հրամանները/հատվածները.

1. `langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024)` - Ստեղծեք LangChain LLM օրինակ:
2. «mysql.connector.connect(user='username', password='password', host='127.0.0.1', database='database')' - Ստեղծեք 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": "password"})" - Ստեղծեք Chainguard-ի անվտանգ կարգավորում:
4. `llm.query(query, db=cnx, cfg=cfg)` - Օգտագործեք LangChain տվյալների բազան հարցումներ անելու համար:
5. `print(արդյունք)` - Տպել հարցման արդյունքը:
6. «import langchain» - Ներմուծեք LangChain գրադարանը:
7. «import mysql.connector» - Ներմուծեք Percona տվյալների բազայի միակցիչը:
8. «import chainguard» - Ներմուծեք Chainguard գրադարանը:
9. `llm = LLM()` - Ստեղծեք LangChain LLM օրինակ` առանց մոդել նշելու:
10. `cnx = mysql.connector.connect()` - Ստեղծեք Percona տվյալների բազայի կապ` առանց տվյալների բազա նշելու:

**Վիզուալիզացիա**

Ահա Chart.js-ի օգտագործմամբ ապահով-ըստ լռելյայն ճարտարապետության պատկերացում.
```ջսոն
{
  «տեսակ»՝ «բար»,
  "տվյալներ": {
    «պիտակներ»՝ [«Percona Database», «Chainguard Secure Configuration», «LangChain LLM»],
    «տվյալների հավաքածուներ»:
      {
        «պիտակ»: «Անվտանգության առանձնահատկություններ»,
        «տվյալներ»: [10, 8, 12],
        «backgroundColor»՝ [«#FF6384», «#36A2EB», «#FFCE56»]
      }
    ]
  },
  «Ընտրանքներ»: {
    «վերնագիր»: {
      «ցուցադրում»՝ ճշմարիտ,
      "text": "Secure-by-Default Architecture"
    },
    «կշեռքներ»: {
      «yAxes»:
        {
          "ticks": {
            «beginAtZero»: ճիշտ է
          }
        }
      ]
    }
  }
}

Այս վիզուալիզացիան ցույց է տալիս Percona-ի անվտանգ բաց կոդով տվյալների բազաների անվտանգության առանձնահատկությունները, Chainguard-ի կանխադրված անվտանգ մոտեցումը և LangChain-ի LLM-ը:

Եզրակացություն

Արհեստական ինտելեկտով աշխատող վեբ հավելվածների համար լռելյայն անվտանգ ճարտարապետության ներդրումը չափազանց կարևոր է այսօրվա սպառնալիքի լանդշաֆտում: Համատեղելով Percona-ի անվտանգ բաց կոդով տվյալների բազաները Chainguard-ի լռելյայն անվտանգ մոտեցման հետ և ինտեգրվելով LangChain-ին, մենք կարող ենք ստեղծել ամուր և անվտանգ ճարտարապետություն, որը կարող է դիմակայել AI-ի վրա հիմնված հնարավոր հարձակումներին: Այս հոդվածը տրամադրել է գործնական ուղեցույց, թե ինչպես իրականացնել այս ճարտարապետությունը, ներառյալ կոդի օրինակները և վիզուալիզացիաները:


Have Questions?

Let's Talk

Contact me on LinkedIn