Zum Hauptinhalt springen

Argilla

Argilla ist ein kollaboratives Annotationstool für KI-Ingenieure und Fachexperten, die qualitativ hochwertige Datensätze für ihre Projekte erstellen müssen.

Erste Schritte

Um die Daten in Argilla zu protokollieren, müssen Sie zuerst den Argilla-Server bereitstellen. Wenn Sie den Argilla-Server nicht bereitgestellt haben, folgen Sie bitte den Anweisungen hier.

Als Nächstes müssen Sie den Argilla-Datensatz konfigurieren und erstellen.

import argilla as rg

client = rg.Argilla(api_url="<api_url>", api_key="<api_key>")

settings = rg.Settings(
guidelines="These are some guidelines.",
fields=[
rg.ChatField(
name="user_input",
),
rg.TextField(
name="llm_output",
),
],
questions=[
rg.RatingQuestion(
name="rating",
values=[1, 2, 3, 4, 5, 6, 7],
),
],
)

dataset = rg.Dataset(
name="my_first_dataset",
settings=settings,
)

dataset.create()

Weitere Konfigurationsdetails finden Sie in der Argilla-Dokumentation.

Verwendung

import os
import litellm
from litellm import completion

# add env vars
os.environ["ARGILLA_API_KEY"]="argilla.apikey"
os.environ["ARGILLA_BASE_URL"]="https://:6900"
os.environ["ARGILLA_DATASET_NAME"]="my_first_dataset"
os.environ["OPENAI_API_KEY"]="sk-proj-..."

litellm.callbacks = ["argilla"]

# add argilla transformation object
litellm.argilla_transformation_object = {
"user_input": "messages", # 👈 key= argilla field, value = either message (argilla.ChatField) | response (argilla.TextField)
"llm_output": "response"
}

## LLM CALL ##
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hello, how are you?"}],
)

Beispielausgabe

Stichprobenrate zu Argilla-Aufrufen hinzufügen

Um nur eine Stichprobe von Aufrufen an Argilla zu protokollieren, fügen Sie ARGILLA_SAMPLING_RATE zu Ihren Umgebungsvariablen hinzu.

ARGILLA_SAMPLING_RATE=0.1 # log 10% of calls to argilla