Skapa en LangChain LLM-instans | B4N1

Skapa en LangChain LLM-instans

6 months ago · b4n1 Read time: 3 min

Implementering av Secure-by-Default-arkitektur för AI-drivna webbapplikationer

Introduktion

När AI-drivna webbapplikationer blir allt vanligare har behovet av robust och säker arkitektur aldrig varit mer pressande. Med uppkomsten av AI-drivna attacker är det viktigt att implementera ett säkert tillvägagångssätt som kan motstå potentiella hot. I den här artikeln kommer vi att undersöka hur man kombinerar Perconas säkra databaser med öppen källkod med Chainguards tillvägagångssätt för säkrare som standard och integreras med LangChain för AI-drivna webbapplikationer.

Hot mot AI-drivna webbapplikationer

AI-drivna webbapplikationer är sårbara för olika hot, inklusive:

  • Dataförgiftning: AI-modeller kan manipuleras genom att mata dem med skadlig data, vilket leder till felaktiga förutsägelser eller beslut.
  • Modelinversion: Angripare kan sluta sig till känslig information om AI-modellen eller dess träningsdata.
  • Modstridiga attacker: AI-modeller kan luras av noggrant utformade indata som är utformade för att vilseleda modellen.

Säker-by-Default-arkitektur

För att mildra dessa hot kommer vi att implementera en säker-för-default-arkitektur som kombinerar Perconas säkra databaser med öppen källkod med Chainguards säker-för-default-metod och integreras med LangChain för AI-drivna webbapplikationer.

Perconas säkra databaser med öppen källkod

Percona erbjuder en rad säkra databaser med öppen källkod, inklusive Percona Server för MySQL och Percona Server för PostgreSQL. Dessa databaser tillhandahåller robusta säkerhetsfunktioner, såsom:

  • Kryptering: Data krypteras i vila och under överföring, vilket säkerställer att känslig information förblir konfidentiell.
  • Åtkomstkontroll: Finanpassad åtkomstkontroll tillåter administratörer att begränsa åtkomsten till känsliga uppgifter och säkerställa att endast behörig personal kan ändra eller radera data.
  • Revision: Detaljerade granskningsfunktioner ger en omfattande registrering av all databasaktivitet, vilket gör det lättare att upptäcka och svara på säkerhetsincidenter.

Chainguard's Secure-by-Default-metod

Chainguard erbjuder ett säkert tillvägagångssätt som ser till att applikationer byggs med säkerhet i åtanke från början. Detta tillvägagångssätt inkluderar:

  • Minst privilegium: Applikationer är utformade för att köras med minsta möjliga behörighet som krävs för att utföra sina funktioner, vilket minskar attackytan.
  • Oföränderlig infrastruktur: Infrastrukturen är utformad för att vara oföränderlig, vilket gör det lättare att upptäcka och svara på säkerhetsincidenter.
  • Säker konfiguration: Applikationer konfigureras med säkerhet i åtanke, inklusive säkra standardinställningar och minimal konfiguration.

Langchain Integration

LangChain är ett Python-bibliotek som tillhandahåller ett enkelt och intuitivt API för att bygga AI-drivna webbapplikationer. Vi kommer att integrera LangChain med Perconas säkra databaser med öppen källkod och Chainguards säker-för-default-metod för att skapa en robust och säker arkitektur.

Kodexempel

Här är ett enkelt kodexempel som visar hur man integrerar LangChain med Perconas säkra databaser med öppen källkod och Chainguards tillvägagångssätt säker-för-default:

importera långkedja
från langchain import LLM


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

# Skapa en Percona-databasanslutning
importera mysql.connector
cnx = mysql.connector.connect(
    user='användarnamn',
    lösenord='lösenord',
    host='127.0.0.1',
    database='databas'
)

# Skapa en Chainguard säker konfiguration
importera kedjeskydd
cfg = chainguard.Config(
    app_name="min_app",
    app_version="1.0",
    env_vars={
        "DB_HOST": "127.0.0.1",
        "DB_USER": "användarnamn",
        "DB_PASSWORD": "lösenord",
    },
)

# Använd LangChain för att fråga databasen
query = "VÄLJ * FRÅN min_tabell"
resultat = llm.query(query, db=cnx, cfg=cfg)

# Skriv ut resultatet
print (resultat)

Detta kodexempel visar hur man skapar en LangChain LLM-instans, ansluter till en Percona-databas och skapar en Chainguard säker konfiguration. Den använder sedan LangChain för att fråga databasen och skriva ut resultatet.

De 5–10 mest använda kommandona/snuttarna

Här är de 5-10 mest använda kommandona/snuttarna för denna teknik:

  1. langchain.LLM(model_name="davinci:2-large", device="cuda", max_tokens=1024) – Skapa en LangChain LLM-instans.
  2. mysql.connector.connect(user='användarnamn', lösenord='lösenord', host='127.0.0.1', database='databas') - Skapa en Percona-databasanslutning.
  3. chainguard.Config(app_name="my_app", app_version="1.0", env_vars={"DB_HOST": "127.0.0.1", "DB_USER": "användarnamn", "DB_PASSWORD": "lösenord"}) - Skapa en Chainguard säker konfiguration.
  4. llm.query(query, db=cnx, cfg=cfg) - Använd LangChain för att fråga databasen.
  5. print(result) - Skriv ut resultatet av frågan.
  6. import langchain - Importera LangChain-biblioteket.
  7. import mysql.connector - Importera Perconas databaskoppling.
  8. import chainguard - Importera Chainguard-biblioteket.
  9. llm = LLM() - Skapa en LangChain LLM-instans utan att ange en modell.
  10. cnx = mysql.connector.connect() - Skapa en Percona-databasanslutning utan att ange en databas.

Visualisering

Här är en visualisering av den säkrade som standard-arkitekturen med Chart.js:

{
  "type": "bar",
  "data": {
    "labels": ["Percona Database", "Chainguard Secure Configuration", "LangChain LLM"],
    "dataset": [
      {
        "label": "Säkerhetsfunktioner",
        "data": [10, 8, 12],
        "backgroundColor": ["#FF6384", "#36A2EB", "#FFCE56"]
      }
    ]
  },
  "alternativ": {
    "title": {
      "display": sant,
      "text": "Säker-by-Default-arkitektur"
    },
    "vågar": {
      "yAxes": [
        {
          "tickar": {
            "beginAtZero": sant
          }
        }
      ]
    }
  }
}

Den här visualiseringen visar säkerhetsfunktionerna i Perconas säkra databaser med öppen källkod, Chainguards säker-för-default-metod och LangChains LLM.

Slutsats

Att implementera en säker-för-standard-arkitektur för AI-drivna webbapplikationer är avgörande i dagens hotlandskap. Genom att kombinera Perconas säkra databaser med öppen källkod med Chainguards säker-för-default-metod och integrera med LangChain kan vi skapa en robust och säker arkitektur som tål potentiella AI-drivna attacker. Den här artikeln har gett en praktisk guide om hur man implementerar den här arkitekturen, inklusive kodexempel och visualiseringar.


Have Questions?

Let's Talk

Contact me on LinkedIn