建立LangChain LLM實例 | B4N1

建立LangChain LLM實例

6 months ago · b4n1 Read time: 1 min

為 AI 支援的 Web 應用程式實作預設安全架構

簡介

隨著人工智慧驅動的 Web 應用程式變得越來越普遍,對健壯且安全的架構的需求從未如此迫切。隨著人工智慧驅動的攻擊的興起,必須實施能夠抵禦潛在威脅的預設安全方法。在本文中,我們將探討如何將 Percona 的安全開源資料庫與 Chainguard 的預設安全方法結合,並與 LangChain 整合以實現人工智慧驅動的 Web 應用程式。

人工智慧驅動的 Web 應用程式面臨的威脅

人工智慧驅動的 Web 應用程式容易受到各種威脅,包括:

  • 資料中毒:人工智慧模型可以透過向其提供惡意資料來進行操縱,從而導致錯誤的預測或決策。
  • 模型反轉:攻擊者可以推斷有關 AI 模型或其訓練資料的敏感資訊。
  • 對抗性攻擊:人工智慧模型可能會被精心設計的輸入所欺騙,這些輸入旨在誤導模型。

預設安全架構

為了減輕這些威脅,我們將實施一個預設安全架構,將 Percona 的安全開源資料庫與 Chainguard 的預設安全方法結合,並與 LangChain 整合以實現人工智慧驅動的 Web 應用程式。

Percona 的安全開源資料庫

Percona 提供一系列安全的開源資料庫,包括 Percona Server for MySQL 和 Percona Server for PostgreSQL。這些資料庫提供強大的安全功能,例如:

  • 加密:資料在靜態和傳輸過程中進行加密,確保敏感資訊保密。
  • 存取控制:細粒度的存取控制允許管理員限制對敏感資料的訪問​​,並確保只有授權人員才能修改或刪除資料。
  • 審計:詳細的審計功能提供所有資料庫活動的全面記錄,使偵測和回應安全事件變得更加容易。

Chainguard 的預設安全方法

Chainguard 提供了一種預設安全的方法,可確保應用程式從一開始就考慮到安全性。方法包括:

  • 最小權限:應用程式設計為以執行其功能所需的最小權限運行,從而減少攻擊面。
  • 不可變的基礎設施:基礎設施被設計為不可變的,從而更容易檢測和回應安全事件。
  • 安全配置:應用程式的配置考慮到了安全性,包括安全性預設值和最小配置。

###浪鏈整合

LangChain 是一個 Python 程式庫,提供簡單直覺的 API,用於建立人工智慧驅動的 Web 應用程式。我們將把 LangChain 與 Percona 的安全開源資料庫和 Chainguard 的預設安全方法集成,以創建一個強大且安全的架構。

程式碼範例

以下是一個簡單的程式碼範例,示範如何將 LangChain 與 Percona 的安全開源資料庫和 Chainguard 的預設安全方法整合:

導入語言
從langchain導入LLM


法學碩士 = 法學碩士(
    model_name="達文西:2-大",
    設備=“cuda”,
    最大令牌=1024,
)

# 建立 Percona 資料庫連接
導入 mysql.connector
cnx = mysql.connector.connect(
    user='用戶名',
    密碼='密碼',
    主機='127.0.0.1',
    資料庫='資料庫'
)

# 建立 Chainguard 安全性配置
進口鏈罩
cfg = chainguard.Config(
    應用程式名稱=“我的應用程式”,
    應用程式版本=“1.0”,
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "使用者名稱",
        "DB_PASSWORD": "密碼",
    },
)

# 使用LangChain查詢資料庫
查詢=“從我的表中選擇*”
結果 = 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資料庫連線。
  2. chainguard.Config(app_name="my_app", app_version="1.0", env_vars={"DB_HOST": "127.0.0.1", "DB_USER": "username", "DB_PASSWORD": "password"} 建立安全配置。
  3. llm.query(query, db=cnx, cfg=cfg) - 使用LangChain查詢資料庫。
  4. print(result) - 列印查詢結果。
  5. import langchain - 導入 LangChain 函式庫。
  6. import mysql.connector - 匯入 Percona 資料庫連接器。
  7. import chainguard - 導入 Chainguard 函式庫。
  8. llm = LLM() - 建立LangChain LLM實例而不指定模型。
  9. cnx = mysql.connector.connect() - 建立 Percona 資料庫連線而不指定資料庫。

可視化

以下是使用 Chart.js 的預設安全架構的視覺化:

{
  “類型”:“酒吧”,
  「數據」:{
    "labels": ["Percona 資料庫", "Chainguard 安全設定", "LangChain LLM"],
    “數據集”:[
      {
        "label": "安全功能",
        「數據」:[10,8,12],
        “背景顏色”:[“#FF6384”,“#36A2EB”,“#FFCE56”]
      }
    ]
  },
  「選項」:{
    “標題”:{
      “顯示”:真實,
      "text": "預設安全架構"
    },
    「尺度」:{
      “y軸”:[
        {
          「蜱」:{
            “beginAtZero”:真
          }
        }
      ]
    }
  }
}

此視覺化展示了 Percona 的安全開源資料庫、Chainguard 的預設安全方法以及 LangChain 的 LLM 的安全功能。

結論

在當今的威脅情勢下,為人工智慧驅動的 Web 應用程式實施預設安全的架構至關重要。透過將 Percona 的安全開源資料庫與 Chainguard 的預設安全方法相結合,並與 LangChain 集成,我們可以創建一個強大且安全的架構,能夠抵禦潛在的人工智慧驅動的攻擊。本文提供了有關如何實現此架構的實用指南,包括程式碼範例和視覺化。


Have Questions?

Let's Talk

Contact me on LinkedIn