Zum Hauptinhalt springen

Athina

Tipp

Dies wird von der Community gepflegt. Bitte melden Sie einen Fehler, wenn Sie auf einen stoßen https://github.com/BerriAI/litellm

Athina ist ein Evaluierungs-Framework und eine Produktionsüberwachungsplattform für Ihre LLM-gestützte App. Athina wurde entwickelt, um die Leistung und Zuverlässigkeit von KI-Anwendungen durch Echtzeitüberwachung, detaillierte Analysen und Plug-and-Play-Evaluierungen zu verbessern.

Erste Schritte

Verwenden Sie Athina, um Anfragen über alle LLM-Anbieter hinweg zu protokollieren (OpenAI, Azure, Anthropic, Cohere, Replicate, PaLM)

liteLLM bietet Callbacks, mit denen Sie Daten basierend auf dem Status Ihrer Antworten einfach protokollieren können.

Verwendung von Callbacks

Melden Sie sich zuerst an, um einen API_KEY auf dem Athina Dashboard zu erhalten.

Verwenden Sie nur 1 Zeile Code, um Ihre Antworten sofort über alle Anbieter hinweg mit Athina zu protokollieren.

litellm.success_callback = ["athina"]

Vollständiger Code

from litellm import completion

## set env variables
os.environ["ATHINA_API_KEY"] = "your-athina-api-key"
os.environ["OPENAI_API_KEY"]= ""

# set callback
litellm.success_callback = ["athina"]

#openai call
response = completion(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": "Hi 👋 - i'm openai"}]
)

Zusätzliche Informationen in Metadaten

Sie können Athina zusätzliche Informationen senden, indem Sie das Feld metadata in der Vervollständigung verwenden. Dies kann nützlich sein, um Metadaten über die Anfrage zu senden, wie z. B. die customer_id, prompt_slug oder andere Informationen, die Sie verfolgen möchten.

#openai call with additional metadata
response = completion(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": "Hi 👋 - i'm openai"}
],
metadata={
"environment": "staging",
"prompt_slug": "my_prompt_slug/v1"
}
)

Im Folgenden sind die zulässigen Felder in Metadaten, ihre Typen und ihre Beschreibungen aufgeführt

  • environment: Optional[str] - Umgebung, in der Ihre App ausgeführt wird (z. B. Produktion, Staging usw.). Dies ist nützlich für die Segmentierung von Inferenzanfragen nach Umgebung.
  • prompt_slug: Optional[str] - Identifikator für den für die Inferenz verwendeten Prompt. Dies ist nützlich für die Segmentierung von Inferenzanfragen nach Prompt.
  • customer_id: Optional[str] - Dies ist Ihre Kunden-ID. Dies ist nützlich für die Segmentierung von Inferenzanfragen nach Kunde.
  • customer_user_id: Optional[str] - Dies ist die ID des Endbenutzers. Dies ist nützlich für die Segmentierung von Inferenzanfragen nach dem Endbenutzer.
  • session_id: Optional[str] - Ist die Sitzungs- oder Konversations-ID. Dies wird verwendet, um verschiedene Inferenzen zu einer Konversation oder Kette zusammenzufassen.[Mehr lesen].(https://docs.athina.ai/logging/grouping_inferences)
  • external_reference_id: Optional[str] - Dies ist nützlich, wenn Sie Ihre eigene interne Kennung mit der an Athina protokollierten Inferenz verknüpfen möchten.
  • context: Optional[Union[dict, str]] - Dies ist der Kontext, der als Informationen für den Prompt verwendet wird. Für RAG-Anwendungen sind dies die "abgerufenen" Daten. Sie können den Kontext als Zeichenkette oder als Objekt (Wörterbuch) protokollieren.
  • expected_response: Optional[str] - Dies ist die Referenzantwort, mit der für Auswertungszwecke verglichen wird. Dies ist nützlich für die Segmentierung von Inferenzanfragen nach erwarteter Antwort.
  • user_query: Optional[str] - Dies ist die Benutzeranfrage. Für Konversationsanwendungen ist dies die letzte Nachricht des Benutzers.
  • tags: Optional[list] - Dies ist eine Liste von Tags. Dies ist nützlich für die Segmentierung von Inferenzanfragen nach Tags.
  • user_feedback: Optional[str] - Das Feedback des Endbenutzers.
  • model_options: Optional[dict] - Dies ist ein Wörterbuch mit Modelloptionen. Dies ist nützlich, um Einblicke zu erhalten, wie sich das Modellverhalten auf Ihre Endbenutzer auswirkt.
  • custom_attributes: Optional[dict] - Dies ist ein Wörterbuch mit benutzerdefinierten Attributen. Dies ist nützlich für zusätzliche Informationen über die Inferenz.

Verwendung einer selbst gehosteten Bereitstellung von Athina

Wenn Sie eine selbst gehostete Bereitstellung von Athina verwenden, müssen Sie die Umgebungsvariable ATHINA_BASE_URL setzen, um auf Ihre selbst gehostete Bereitstellung zu verweisen.

...
os.environ["ATHINA_BASE_URL"]= "https://:9000"
...

Unterstützung & Austausch mit dem Athina-Team