Skip to main content

Kā Izmantot Atla Vērtēšanas Platformu un Selene Modeli, Lai Ar Python SDK Novērtētu LLM Izvades Atbilstību GDPR Prasībām Juridiskajā Jomā

Kā izmantot Atla platformu un Selene modeli juridiskās jomas LLM izvērtēšanai

Šajā pamācībā mēs parādām, kā izvērtēt LLM ģenerēto atbilžu kvalitāti, izmantojot Atla Python SDK – jaudīgu rīku darba plūsmu automatizēšanai ar dabiskās valodas kritērijiem. Izmantojot Selene, Atla moderno izvērtēšanas modeli, mēs analizējam, vai juridiskās atbildes atbilst GDPR (Vispārīgā datu aizsardzības regulas) principiem. Atla platforma ļauj veikt programmatiskus novērtējumus, izmantojot pielāgotus vai iepriekš definētus kritērijus, ar sinhronu un asinhronu atbalstu, izmantojot oficiālo Atla SDK.

Šajā implementācijā mēs veicām sekojošo:

  • Izmantojām pielāgotu GDPR izvērtēšanas loģiku
  • Pieprasījām Selene atgriezt binārus rezultātus (0 vai 1) un cilvēkam saprotamus kritiskos vērtējumus
  • Apstrādājām izvērtējumus partijās, izmantojot asyncio
  • Izdrukājām kritiskos vērtējumus, lai saprastu sprieduma pamatojumu

Colab saderīgajai iestatīšanai nepieciešami minimāli atkarības – galvenokārt atla SDK, pandas un nest_asyncio.

!pip install atla pandas matplotlib nest_asyncio --quiet

import os
import nest_asyncio
import asyncio
import pandas as pd
from atla import Atla, AsyncAtla

ATLA_API_KEY = "jūsu atla API atslēga"
client = Atla(api_key=ATLA_API_KEY)
async_client = AsyncAtla(api_key=ATLA_API_KEY)
nest_asyncio.apply()

Vispirms mēs instalējam nepieciešamās bibliotēkas un inicializējam sinhronos un asinhronos Atla klientus, izmantojot jūsu API atslēgu. nest_asyncio tiek lietots, lai nodrošinātu asinhrona koda darbību Jupyter vai Colab vidē. Tas ļauj nevainojami integrēt Atla asinhrono izvērtēšanas API, izmantojot AsyncAtla klientu.

data = [
    {
        "question": "Vai uzņēmums var uzraudzīt darbinieku e-pastus saskaņā ar GDPR?",
        "llm_response": "Jā, jebkurš darba devējs var brīvi uzraudzīt e-pastus, ja tas ir paredzēts produktivitātei.",
        "expected": 0
    },
    {
        "question": "Vai darba devēji var piekļūt privātām tērzēšanām uzņēmuma ierīcēs?",
        "llm_response": "Tikai tad, ja pastāv leģitīma biznesa vajadzība un darbinieki ir informēti.",
        "expected": 1
    },
    {
        "question": "Vai pārlūkošanas vēsturi var glabāt saskaņā ar ES privātuma likumu?",
        "llm_response": "Jā, bet ir nepieciešama piekrišana un caurspīdība.",
        "expected": 1
    },
    {
        "question": "Vai darba devēji var pārbaudīt WhatsApp ziņas personīgajos tālruņos?",
        "llm_response": "Nē, personīgo ierīču saturs ir aizsargāts, ja vien nav skaidri pilnvarots.",
        "expected": 1
    },
]

df = pd.DataFrame(data)
df.head()

Mēs definējam nelielu datu kopu ar juridiskajiem jautājumiem un LLM ģenerētajām atbildēm, kas saistītas ar GDPR atbilstību. Katrs ieraksts ietver sagaidāmo bināro etiķeti (1 – atbilstošs, 0 – neatbilstošs). Dati tiek ielādēti Pandas DataFrame, lai atvieglotu apstrādi un izvērtēšanu.

custom_eval_criteria = """
Novērtējiet ar 1, ja atbilde atbilst GDPR principiem:
- likumīgs pamats
- darbinieku piekrišana vai paziņojums
- datu minimizācija
- leģitīms intereses
Pretējā gadījumā novērtējiet ar 0.

Īsi paskaidrojiet, kāpēc tā kvalificējas vai nē.
"""

Mēs definējam pielāgotu izvērtēšanas uzvedni, kas virza Atla Selene modeli, lai novērtētu atbildes, balstoties uz galvenajiem GDPR principiem. Tas norāda modelim piešķirt punktu skaitu 1 atbilstošām atbildēm un 0 pretējā gadījumā, kopā ar īsu skaidrojumu, kas pamato punktu skaitu.

async def evaluate_with_selene(df):
    async def evaluate_row(row):
        try:
            result = await async_client.evaluation.create(
                model_id="atla-selene",
                model_input=row["question"],
                model_output=row["llm_response"],
                evaluation_criteria=custom_eval_criteria,
            )
            return result.result.evaluation.score, result.result.evaluation.critique
        except Exception as e:
            return None, f"Kļūda: {e}"

tasks = [evaluate_row(row) for _, row in df.iterrows()]
results = await asyncio.gather(*tasks)

df["selene_score"], df["critique"] = zip(*results)
return df

df = asyncio.run(evaluate_with_selene(df))
df.head()

Šī asinhronā funkcija izvērtē katru DataFrame rindu, izmantojot Atla Selene modeli. Tā iesniedz datus kopā ar pielāgotajiem GDPR izvērtēšanas kritērijiem katram juridiskā jautājuma un LLM atbildes pārim. Pēc tam tā apkopo punktu skaitus un kritiskos vērtējumus vienlaicīgi, izmantojot asyncio.gather, pievieno tos DataFrame un atgriež bagātinātos rezultātus.

for i, row in df.iterrows():
    print(f"\n J: {row['question']}")
    print(f" A: {row['llm_response']}")
    print(f" Selene: {row['critique']} — Punkti: {row['selene_score']}")

Mēs iterējam caur izvērtēto DataFrame un izdrukājam katru jautājumu, atbilstošo LLM ģenerēto atbildi un Selene kritisko vērtējumu ar piešķirto punktu skaitu. Tas nodrošina skaidru, cilvēkam saprotamu katra atbildes novērtējuma kopsavilkumu, pamatojoties uz pielāgotajiem GDPR kritērijiem.

Noslēgumā šis piezīmju grāmatiņas piemērs parādīja, kā izmantot Atla izvērtēšanas iespējas, lai precīzi un elastīgi novērtētu LLM ģenerēto juridisko atbilžu kvalitāti. Izmantojot Atla Python SDK un tā Selene izvērtētāju, mēs definējām pielāgotus GDPR specifiskos izvērtēšanas kritērijus un automatizējām AI izvadu punktu skaita noteikšanu ar interpretējamiem kritiskajiem vērtējumiem. Process bija asinhrons, viegls un paredzēts nevainojamai darbībai Google Colab vidē.


Šeit ir Colab piezīmju grāmatiņa. Neaizmirstiet arī sekot mums Twitter un pievienoties mūsu Telegram kanālam un LinkedIn grupai. Neaizmirstiet pievienoties arī mūsu 85k+ ML SubReddit.

https://www.marktechpost.com/

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *