สร้างอินสแตนซ์ LangChain LLM | B4N1

สร้างอินสแตนซ์ LangChain LLM

3 months ago · b4n1 Read time: 1 min

การใช้สถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้นสำหรับแอปพลิเคชันเว็บที่ขับเคลื่อนด้วย AI

บทนำ

เนื่องจากเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI เริ่มแพร่หลายมากขึ้น ความต้องการสถาปัตยกรรมที่แข็งแกร่งและปลอดภัยจึงไม่เคยมีความกดดันมากนัก ด้วยการโจมตีที่ขับเคลื่อนด้วย AI ที่เพิ่มขึ้น จึงจำเป็นอย่างยิ่งที่จะต้องใช้วิธีการรักษาความปลอดภัยโดยค่าเริ่มต้น ซึ่งสามารถทนต่อภัยคุกคามที่อาจเกิดขึ้นได้ ในบทความนี้ เราจะสำรวจวิธีรวมฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona เข้ากับแนวทางที่ปลอดภัยโดยค่าเริ่มต้นของ Chainguard และผสานรวมกับ LangChain สำหรับเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI

ภัยคุกคามต่อเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI

เว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI มีความเสี่ยงต่อภัยคุกคามต่างๆ รวมถึง:

  • การเป็นพิษของข้อมูล: โมเดล AI สามารถจัดการได้โดยการป้อนข้อมูลที่เป็นอันตราย นำไปสู่การคาดการณ์หรือการตัดสินใจที่ไม่ถูกต้อง
  • การผกผันของโมเดล: ผู้โจมตีสามารถอนุมานข้อมูลที่ละเอียดอ่อนเกี่ยวกับโมเดล AI หรือข้อมูลการฝึกได้
  • การโจมตีของฝ่ายตรงข้าม: โมเดล AI สามารถถูกหลอกได้ด้วยอินพุตที่สร้างขึ้นมาอย่างพิถีพิถัน ซึ่งออกแบบมาเพื่อทำให้โมเดลเข้าใจผิด

สถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้น

เพื่อบรรเทาภัยคุกคามเหล่านี้ เราจะใช้สถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้นที่รวมฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona เข้ากับแนวทางที่ปลอดภัยโดยค่าเริ่มต้นของ Chainguard และผสานรวมกับ LangChain สำหรับเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI

ฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona

Percona นำเสนอฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยมากมาย รวมถึง Percona Server สำหรับ MySQL และ Percona Server สำหรับ PostgreSQL ฐานข้อมูลเหล่านี้มีคุณสมบัติด้านความปลอดภัยที่แข็งแกร่ง เช่น:

  • การเข้ารหัส: ข้อมูลจะถูกเข้ารหัสทั้งที่อยู่นิ่งและระหว่างการส่ง เพื่อให้มั่นใจว่าข้อมูลที่ละเอียดอ่อนยังคงเป็นความลับ
  • การควบคุมการเข้าถึง: การควบคุมการเข้าถึงแบบละเอียดช่วยให้ผู้ดูแลระบบจำกัดการเข้าถึงข้อมูลที่ละเอียดอ่อน และรับรองว่ามีเพียงบุคลากรที่ได้รับอนุญาตเท่านั้นที่สามารถแก้ไขหรือลบข้อมูลได้
  • การตรวจสอบ: ความสามารถในการตรวจสอบโดยละเอียดให้บันทึกที่ครอบคลุมของกิจกรรมฐานข้อมูลทั้งหมด ทำให้ง่ายต่อการตรวจจับและตอบสนองต่อเหตุการณ์ด้านความปลอดภัย

แนวทางที่ปลอดภัยโดยค่าเริ่มต้นของ Chainguard

Chainguard นำเสนอแนวทางที่ปลอดภัยโดยค่าเริ่มต้นเพื่อให้แน่ใจว่าแอปพลิเคชันถูกสร้างขึ้นโดยคำนึงถึงความปลอดภัยตั้งแต่เริ่มแรก แนวทางนี้รวมถึง:

  • สิทธิ์ขั้นต่ำ: แอปพลิเคชันได้รับการออกแบบมาให้ทำงานโดยมีสิทธิ์น้อยที่สุดที่จำเป็นในการปฏิบัติหน้าที่ ช่วยลดพื้นที่การโจมตี
  • โครงสร้างพื้นฐานที่ไม่เปลี่ยนรูป: โครงสร้างพื้นฐานได้รับการออกแบบมาให้ไม่เปลี่ยนรูป ทำให้ง่ายต่อการตรวจจับและตอบสนองต่อเหตุการณ์ด้านความปลอดภัย
  • การกำหนดค่าที่ปลอดภัย: แอปพลิเคชันได้รับการกำหนดค่าโดยคำนึงถึงความปลอดภัย รวมถึงค่าเริ่มต้นที่ปลอดภัยและการกำหนดค่าขั้นต่ำ

บูรณาการ LangChain

LangChain เป็นไลบรารี Python ที่ให้ API ที่เรียบง่ายและใช้งานง่ายสำหรับการสร้างเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI เราจะผสานรวม LangChain เข้ากับฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona และแนวทางที่ปลอดภัยโดยค่าเริ่มต้นของ Chainguard เพื่อสร้างสถาปัตยกรรมที่แข็งแกร่งและปลอดภัย

ตัวอย่างโค้ด

นี่คือตัวอย่างโค้ดง่ายๆ ที่สาธิตวิธีการผสานรวม LangChain เข้ากับฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona และแนวทางการรักษาความปลอดภัยโดยค่าเริ่มต้นของ Chainguard:

นำเข้า langchain
จาก langchain นำเข้า LLM


llm = แอลแอลเอ็ม(
    model_name="davinci:2-large",
    อุปกรณ์ = "cuda",
    max_tokens=1024,
)

# สร้างการเชื่อมต่อฐานข้อมูล Percona
นำเข้า mysql.connector
cnx = mysql.connector.connect(
    ผู้ใช้='ชื่อผู้ใช้',
    รหัสผ่าน='รหัสผ่าน',
    โฮสต์='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 เพื่อสืบค้นฐานข้อมูล
แบบสอบถาม = "เลือก * จาก 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='ชื่อผู้ใช้', รหัสผ่าน='รหัสผ่าน', โฮสต์='127.0.0.1', ฐานข้อมูล='ฐานข้อมูล') - สร้างการเชื่อมต่อฐานข้อมูล 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(result) - พิมพ์ผลลัพธ์ของการสืบค้น
  6. นำเข้า langchain - นำเข้าไลบรารี LangChain
  7. import mysql.connector - นำเข้าตัวเชื่อมต่อฐานข้อมูล Percona
  8. นำเข้า chainguard - นำเข้าไลบรารี Chainguard
  9. llm = LLM() - สร้างอินสแตนซ์ LangChain LLM โดยไม่ระบุรุ่น
  10. cnx = mysql.connector.connect() - สร้างการเชื่อมต่อฐานข้อมูล Percona โดยไม่ต้องระบุฐานข้อมูล

การแสดงภาพ

นี่คือการแสดงภาพสถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้นโดยใช้ Chart.js:

{
  "type": "บาร์",
  "ข้อมูล": {
    "labels": ["ฐานข้อมูล Percona", "การกำหนดค่า Chainguard Secure", "LangChain LLM"],
    "ชุดข้อมูล": [
      {
        "label": "คุณลักษณะด้านความปลอดภัย",
        "ข้อมูล": [10, 8, 12],
        "สีพื้นหลัง": ["#FF6384", "36A2EB", "FFCE56"]
      }
    ]
  },
  "ตัวเลือก": {
    "ชื่อ": {
      "จอแสดงผล": จริง
      "text": "สถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้น"
    },
    "ตาชั่ง": {
      "yAxes": [
        {
          "ติ๊ก": {
            "beginAtZero": จริง
          }
        }
      ]
    }
  }
}

การแสดงภาพนี้แสดงคุณลักษณะด้านความปลอดภัยของฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona วิธีการรักษาความปลอดภัยโดยค่าเริ่มต้นของ Chainguard และ LLM ของ LangChain

บทสรุป

การใช้สถาปัตยกรรมที่ปลอดภัยโดยค่าเริ่มต้นสำหรับเว็บแอปพลิเคชันที่ขับเคลื่อนด้วย AI มีความสำคัญอย่างยิ่งในภาพรวมภัยคุกคามในปัจจุบัน ด้วยการรวมฐานข้อมูลโอเพ่นซอร์สที่ปลอดภัยของ Percona เข้ากับแนวทางที่ปลอดภัยโดยค่าเริ่มต้นของ Chainguard และบูรณาการกับ LangChain เราสามารถสร้างสถาปัตยกรรมที่แข็งแกร่งและปลอดภัยซึ่งสามารถทนต่อการโจมตีที่ขับเคลื่อนด้วย AI ที่อาจเกิดขึ้นได้ บทความนี้ได้ให้คำแนะนำที่เป็นประโยชน์เกี่ยวกับวิธีการนำสถาปัตยกรรมนี้ไปใช้ รวมถึงตัวอย่างโค้ดและการแสดงภาพ


Have Questions?

Let's Talk

Contact me on LinkedIn