


So messen Sie die Zuverlässigkeit der Reaktion eines Großsprachenmodells
Das Grundprinzip von großsprachigen Modellen (LLMs) ist sehr einfach: das nächste Wort (oder Token) in einer Abfolge von Wörtern vorherzusagen, die auf statistischen Mustern in ihren Trainingsdaten basieren. Diese scheinbar einfache Fähigkeit erweist sich jedoch als unglaublich anspruchsvoll, wenn sie eine Reihe erstaunlicher Aufgaben wie die Zusammenfassung der Text, die Ideengenerierung, das Brainstorming, die Codegenerierung, die Informationsverarbeitung und die Erstellung von Inhalten erledigen kann. Trotzdem haben LLMs keine Erinnerung. Der Prozess der Vorhersage des nächsten Wortes ist wahrscheinlich. Das LLM muss jedes Wort aus einer Wahrscheinlichkeitsverteilung auswählen. Dabei erzeugen sie häufig falsche, hergestellte oder inkonsistente Inhalte, um kohärente Antworten zu erzeugen und Lücken mit plausiblen, aber falschen Informationen zu füllen. Dieses Phänomen wird als Halluzination bezeichnet, ein unvermeidliches, bekanntes Merkmal von LLMs, das die Validierung und Bestätigung ihrer Ausgaben rechtfertigt.
Methoden (Abrufer Augment Generation), bei denen ein LLM mit externen Wissensquellen funktioniert, minimieren Halluzinationen in gewissem Maße, aber sie können sie jedoch nicht vollständig ausrotten. Obwohl fortgeschrittene Lappen In-Text-Zitate und URLs bereitstellen können, kann es hektisch und zeitaufwändig sein, diese Referenzen zu überprüfen. Daher benötigen wir ein objektives Kriterium für die Bewertung der Zuverlässigkeit oder Vertrauenswürdigkeit der Antwort eines LLM, unabhängig davonIn diesem Artikel werden wir diskutieren, wie die Ausgabe eines LLM durch ein vertrauenswürdiges Sprachmodell auf Vertrauenswürdigkeit bewertet werden kann, das der Ausgabe des LLM eine Punktzahl zuweist. Wir werden zunächst diskutieren, wie wir ein vertrauenswürdiges Sprachmodell verwenden können, um der Antwort eines LLM zuweisen und Vertrauenswürdigkeit zu erklären. Anschließend werden wir ein Beispiel mit Lamaparse und Llamaindex entwickeln, der die Antworten des Rags auf Vertrauenswürdigkeit bewertet.
Der gesamte Code dieses Artikels ist im Jupyter -Notizbuch auf GitHub verfügbar.
Zuweisen einer Vertrauenswürdigkeit der Antwort eines LLM
Um zu demonstrieren, wie wir der Antwort eines LLM eine Vertrauenswürdigkeitszahl zuweisen können, werde ich das vertrauenswürdige Sprachmodell (TLM) von CleanLab verwenden. Solche TLMs verwenden eine Kombination aus Unsicherheit Quantifizierung und
Konsistenzanalyse, um Vertrauenswürdigkeit und Erklärungen für LLM -Antworten zu berechnen.
CleanLab bietet kostenlose Test -APIs an, die durch Erstellen eines Kontos auf ihrer Website erhalten werden können. Wir müssen zuerst den Python -Client von CleanLab installieren: CleanLab unterstützt mehrere proprietäre Modelle wie ' gpt-4o ', ' gpt-4o-mini ', o1-preview ', ', o1-preview ', ', o1-preview ', ', ' o1 🎜> claude-3-sonnet ', " claude-3,5-sonnet-v2 " und andere. Hier ist, wie TLM der Antwort von GPT-4o eine Trustworhess-Punktzahl zuweist. Der Score der Vertrauenswürdigkeit reicht von 0 bis 1, wo höhere Werte auf größere Vertrauenswürdigkeit hinweisen. Der obige Code testete die Antwort von GPT-4O auf die Frage " Wie viele Vokale befinden sich in dem Wort" Abracadabra ". ". Die Ausgabe des TLM enthält die Antwort des Modells (Antwort), Vertrauenswürdigkeit und Erklärung. Hier ist die Ausgabe dieses Codes. Es ist zu sehen, wie das fortschrittlichste Sprachmodell für so einfache Aufgaben halluziniert und die falsche Ausgabe erzeugt. Hier ist die Antwort und Vertrauenswürdigkeit für dieselbe Frage für
Claude-3,5-sonnet-V2 erzeugt die richtige Ausgabe. Vergleichen wir die Antworten der beiden Modelle mit einer anderen Frage. Hier ist die Antwort der beiden Modelle:
Deepseek-r1-Distill-Llama-70b
entwickeln einen vertrauenswürdigen Lappen
Die folgenden Bibliotheken müssen für den nächsten Code installiert werden.
Um HTML in das PDF -Format umzusetzen, müssen wir auch wkhtmltopdf Befehlszeilen -Tool von ihrer Website installieren.
Wir werden zuerst die LLM konfigurieren, die von CleanLabtLM und dem Einbettungsmodell verwendet werden soll ( Suggingface Einbettungsmodell baai/bge-small-v1.5 ), der verwendet wird Berechnen Sie die Einbettungen der abgekratzten Daten, um den Vektorspeicher zu erstellen. Wir werden nun einen benutzerdefinierten Ereignishandler definieren, GetTrustworthinessScore , der von einer Basis -Event -Handlerklasse abgeleitet wird. Dieser Handler wird bis zum Ende einer LLM -Fertigstellung ausgelöst und extrahiert eine Vertrauenswürdigkeit aus den Reaktionsmetadaten. Eine Helferfunktion, display_response , zeigt die Reaktion des LLM zusammen mit seiner Vertrauenswürdigkeit an. Wir werden nun PDFs generieren, indem wir Daten aus angegebenen URLs abkratzen. Zur Demonstration werden wir Daten nur aus diesem Wikipedia-Artikel über große Sprachmodelle ( Creative Commons Attribution-Sharealike 4.0 Lizenz ) verschrotten. Hinweis : Es wird den Lesern empfohlen, den Status des Inhalts/die Daten, die sie kurz vorstellen möchten, immer zu überprüfen und sicherzustellen, dass sie dies tun dürfen. Das folgende Codelement erkrankt Daten aus den angegebenen URLs, indem sie eine HTTP -Anforderung erstellt und BeautifulSoup Python -Bibliothek verwendet, um den HTML -Inhalt zu analysieren. Der HTML-Gehalt wird durch Umwandlung von Protokoll-relativen URLs in absolute Einsen gereinigt. Anschließend wird der abgekratzte Inhalt mit pdfkit
Nachdem wir PDF (s) aus den abgekratzten Daten generiert haben, analysieren wir diese PDFs mit llamaparse . Wir setzen die Anweisungen für Parsen fest, um den Inhalt im Markdown-Format zu extrahieren und die Seiten (en) zusammen mit dem Dokumentnamen und der Seitennummer analysieren. Diese extrahierten Einheiten (Seiten) werden als Knoten
Das sind alles Leute! Wenn Sie den Artikel mögen, folgen Sie mir bitte unter mittel und linkedIn . pip install --upgrade cleanlab-studio
from cleanlab_studio import Studio
studio = Studio("<CLEANLAB_API_KEY>") # Get your API key from above
tlm = studio.TLM(options={"log": ["explanation"], "model": "gpt-4o"}) # GPT, Claude, etc
#set the prompt
out = tlm.prompt("How many vowels are there in the word 'Abracadabra'.?")
#the TLM response contains the actual output 'response', trustworthiness score and explanation
print(f"Model's response = {out['response']}")
print(f"Trustworthiness score = {out['trustworthiness_score']}")
print(f"Explanation = {out['log']['explanation']}")
o1-preview Model's response = The word "Abracadabra" contains 6 vowels. The vowels are: A, a, a, a, a, and a.
Trustworthiness score = 0.6842228802750124
Explanation = This response is untrustworthy due to a lack of consistency in possible responses from the model. Here's one inconsistent alternate response that the model considered (which may not be accurate either):
5.
claude-3.5-sonnet Model's response = Let me count the vowels in 'Abracadabra':
A-b-r-a-c-a-d-a-b-r-a
The vowels are: A, a, a, a, a
There are 5 vowels in the word 'Abracadabra'.
Trustworthiness score = 0.9378276048845285
Explanation = Did not find a reason to doubt trustworthiness.
from cleanlab_studio import Studio
import markdown
from IPython.core.display import display, Markdown
# Initialize the Cleanlab Studio with API key
studio = Studio("<CLEANLAB_API_KEY>") # Replace with your actual API key
# List of models to evaluate
models = ["gpt-4o", "claude-3.5-sonnet-v2"]
# Define the prompt
prompt_text = "Which one of 9.11 and 9.9 is bigger?"
# Loop through each model and evaluate
for model in models:
tlm = studio.TLM(options={"log": ["explanation"], "model": model})
out = tlm.prompt(prompt_text)
md_content = f"""
## Model: {model}
**Response:** {out['response']}
**Trustworthiness Score:** {out['trustworthiness_score']}
**Explanation:** {out['log']['explanation']}
---
"""
display(Markdown(md_content))
.
import streamlit as st
from langchain_groq.chat_models import ChatGroq
import os
os.environ["GROQ_API_KEY"]=st.secrets["GROQ_API_KEY"]
# Initialize the Groq Llama Instant model
groq_llm = ChatGroq(model="deepseek-r1-distill-llama-70b", temperature=0.5)
prompt = "Which one of 9.11 and 9.9 is bigger?"
# Get the response from the model
response = groq_llm.invoke(prompt)
#Initialize Cleanlab's studio
studio = Studio("226eeab91e944b23bd817a46dbe3c8ae")
cleanlab_tlm = studio.TLM(options={"log": ["explanation"]}) #for explanations
#Get the output containing trustworthiness score and explanation
output = cleanlab_tlm.get_trustworthiness_score(prompt, response=response.content.strip())
md_content = f"""
## Model: {model}
**Response:** {response.content.strip()}
**Trustworthiness Score:** {output['trustworthiness_score']}
**Explanation:** {output['log']['explanation']}
---
"""
display(Markdown(md_content))
Deepseek-r1-Distill-Llama-70b
verwenden, basierend auf der Metas llama-3,3–70b-in-strukturiert und aus Deepseeks größerer 671-Milliarden-Parametermischung von Experten (MOE (MOE ) Modell. Wissensdestillation ist eine Technik für maschinelles Lernen, die darauf abzielt, die Erkenntnisse eines großen vorgebildeten Modells, des „Lehrermodells“, auf ein kleineres „Schülermodell“ zu übertragen.
pip install llama-parse llama-index-core llama-index-embeddings-huggingface
llama-index-llms-cleanlab requests beautifulsoup4 pdfkit nest-asyncio
from llama_parse import LlamaParse
from llama_index.core import VectorStoreIndex
import requests
from bs4 import BeautifulSoup
import pdfkit
from llama_index.readers.docling import DoclingReader
from llama_index.core import Settings
from llama_index.embeddings.huggingface import HuggingFaceEmbedding
from llama_index.core import VectorStoreIndex, SimpleDirectoryReader
from llama_index.llms.cleanlab import CleanlabTLM
from typing import Dict, List, ClassVar
from llama_index.core.instrumentation.events import BaseEvent
from llama_index.core.instrumentation.event_handlers import BaseEventHandler
from llama_index.core.instrumentation import get_dispatcher
from llama_index.core.instrumentation.events.llm import LLMCompletionEndEvent
import nest_asyncio
import os
pip install --upgrade cleanlab-studio
from cleanlab_studio import Studio
studio = Studio("<CLEANLAB_API_KEY>") # Get your API key from above
tlm = studio.TLM(options={"log": ["explanation"], "model": "gpt-4o"}) # GPT, Claude, etc
#set the prompt
out = tlm.prompt("How many vowels are there in the word 'Abracadabra'.?")
#the TLM response contains the actual output 'response', trustworthiness score and explanation
print(f"Model's response = {out['response']}")
print(f"Trustworthiness score = {out['trustworthiness_score']}")
print(f"Explanation = {out['log']['explanation']}")
Model's response = The word "Abracadabra" contains 6 vowels. The vowels are: A, a, a, a, a, and a.
Trustworthiness score = 0.6842228802750124
Explanation = This response is untrustworthy due to a lack of consistency in possible responses from the model. Here's one inconsistent alternate response that the model considered (which may not be accurate either):
5.
Model's response = Let me count the vowels in 'Abracadabra':
A-b-r-a-c-a-d-a-b-r-a
The vowels are: A, a, a, a, a
There are 5 vowels in the word 'Abracadabra'.
Trustworthiness score = 0.9378276048845285
Explanation = Did not find a reason to doubt trustworthiness.
from cleanlab_studio import Studio
import markdown
from IPython.core.display import display, Markdown
# Initialize the Cleanlab Studio with API key
studio = Studio("<CLEANLAB_API_KEY>") # Replace with your actual API key
# List of models to evaluate
models = ["gpt-4o", "claude-3.5-sonnet-v2"]
# Define the prompt
prompt_text = "Which one of 9.11 and 9.9 is bigger?"
# Loop through each model and evaluate
for model in models:
tlm = studio.TLM(options={"log": ["explanation"], "model": model})
out = tlm.prompt(prompt_text)
md_content = f"""
## Model: {model}
**Response:** {out['response']}
**Trustworthiness Score:** {out['trustworthiness_score']}
**Explanation:** {out['log']['explanation']}
---
"""
display(Markdown(md_content))
import streamlit as st
from langchain_groq.chat_models import ChatGroq
import os
os.environ["GROQ_API_KEY"]=st.secrets["GROQ_API_KEY"]
# Initialize the Groq Llama Instant model
groq_llm = ChatGroq(model="deepseek-r1-distill-llama-70b", temperature=0.5)
prompt = "Which one of 9.11 and 9.9 is bigger?"
# Get the response from the model
response = groq_llm.invoke(prompt)
#Initialize Cleanlab's studio
studio = Studio("226eeab91e944b23bd817a46dbe3c8ae")
cleanlab_tlm = studio.TLM(options={"log": ["explanation"]}) #for explanations
#Get the output containing trustworthiness score and explanation
output = cleanlab_tlm.get_trustworthiness_score(prompt, response=response.content.strip())
md_content = f"""
## Model: {model}
**Response:** {response.content.strip()}
**Trustworthiness Score:** {output['trustworthiness_score']}
**Explanation:** {output['log']['explanation']}
---
"""
display(Markdown(md_content))
pip install llama-parse llama-index-core llama-index-embeddings-huggingface
llama-index-llms-cleanlab requests beautifulsoup4 pdfkit nest-asyncio
Das obige ist der detaillierte Inhalt vonSo messen Sie die Zuverlässigkeit der Reaktion eines Großsprachenmodells. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was die Akquisition hervorhebt, war nicht nur die finanzielle Zahl, sondern die unkonventionelle Reise, die das Unternehmen unternahm. Base44 verfolgte niemals Risikokapital oder haftete an der traditionellen Silicon Valley -Formel. Stattdessen zeigte es diesen Witz

Dieser unendliche Arbeitstag wird von den Realitäten globaler Teams und hybriden Arbeiten sowie unangemessenen Erwartungen der ständigen Verfügbarkeit angeheizt. Das Ergebnis? Eine Belegschaft, die darum kämpft, mitzuhalten

Eine kürzlich von Artsmart.ai kürzlich durchgeführte Umfrage ergab, dass „32% der Teilnehmer in Betracht ziehen würden, KI für die Therapie zu verwenden, anstatt einen menschlichen Therapeuten zu sehen“. Ungefähr zur gleichen Zeit hob NPR neue Erkenntnisse hervor, die darauf hinwiesen: „Mit dem richtigen Training können KI -Chatbots können

Dies ist mehr als nur ein akademisches philosophisches Problem. Irgendwann sollten wir bereit sein, uns zuzustimmen, ob das Aufkommen von ASI und ASI erreicht wurde. Die wahrscheinliche Möglichkeit, dies zu tun

Dieses neueste Update soll die Abhängigkeit von traditionellen Teams minimieren. Die KI von Pietra verwaltet zahlreiche Aspekte des Online -Einzelhandels - Supportier -Kommunikation, Bestandsüberwachung, Marketingkampagnen, Auftragserfüllung und Leistungsanalysen.

Im Allgemeinen ist es anstrengend, körperlich anspruchsvoller Arbeit - nicht genau etwas, das Menschen leicht oder unterhaltsam finden. Wenn es um die Marktskala geht, wird die globale Unschlüsselindustrie auf rund 42 Milliarden US -Dollar geschätzt, die innerhalb der breiteren Landwirtschaft eingebettet sind

Bitte bereiten Sie sich vor, denn es besteht eine solide Chance, dass Pinnacle AI diese epische Frage nicht definitiv beantworten kann. Tut mir leid, zu enttäuschen, aber die Chancen scheinen AI einfach nicht zu bevorzugen, um den ultimativen Zweck der Existenz der Menschheit zu erteilen

Aus geschäftlicher Sicht hält Quantum Computing das Versprechen, Innovationen in Branchen dramatisch zu beschleunigen, in denen die Rechengeschwindigkeit kritisch ist-wie Logistik, reale Simulation und künstliche Intelligenz.
