Zum Inhalt

Anthropologische

präsentiert

Logfire unterstützt die Verwendung einer zusätzlichen Codezeile, um Aufrufe an Anthropic zu erkennen.

import anthropic
import logfire

client = anthropic.Anthropic()

logfire.configure()
logfire.instrument_anthropic(client)  # (1)!

response = client.messages.create(
    max_tokens=1000,
    model='claude-3-haiku-20240307',
    system='You are a helpful assistant.',
    messages=[{'role': 'user', 'content': 'Please write me a limerick about Python logging.'}],
)
print(response.content[0].text)
  1. Wenn Sie keinen Zugriff auf die Clientinstanz haben, können Sie entweder eine Klasse übergeben (z.B.logfire.instrument_anthropic(anthropic.Anthropic)) oder einfach keine Parameter übergeben (z.B.logfire.instrument_anthropic()), um die Klassen 两者。人类学 und 人类学。AsyncAnthropic zu erkennen.

_
Weitere Informationen finden Sie unter [instrument_anthropic() API-Referenz][logfire. Logfire. instrument_anthropic].

Mit ihm können Sie bekommen:

  • Um die Spanne eines Aufrufs zum Anthropischen herum, der die Dauer aufzeichnet und etwaige Anomalien erfasst, die auftreten können

  • Vom Menschen lesbare Displays für Gespräche mit einem Sitzplatz

  • Details der Antworten, einschließlich der Anzahl der verwendeten Token

Das Logfire Anthropic
Anthropischer Span und Konversation
Logfire Anthropische Argumente
Span arguments including response details schreiben

Die abgedeckten Methoden

Folgende anthropologische Methoden werden abgedeckt:

Alle Methoden werden von 人为的方法。人类学 und 人类学。异步人。 abgedeckt

Flow antworten

Bei der Erkennung von Streaming-Antworten erstellt Logfire zwei Spulen-eine um die ursprüngliche Anfrage und eine um die Streaming-Antwort.

Hier verwenden wir Rich. Live und Markdown Typ Rendering Antwort in Echtzeit im Terminal: Tänzer:.

import anthropic
import logfire
from rich.console import Console
from rich.live import Live
from rich.markdown import Markdown

client = anthropic.AsyncAnthropic()
logfire.configure()
logfire.instrument_anthropic(client)


async def main():
    console = Console()
    with logfire.span('Asking Anthropic to write some code'):
        response = client.messages.stream(
            max_tokens=1000,
            model='claude-3-haiku-20240307',
            system='Reply in markdown one.',
            messages=[{'role': 'user', 'content': 'Write Python to show a tree of files 🤞.'}],
        )
        content = ''
        with Live('', refresh_per_second=15, console=console) as live:
            async with response as stream:
                async for chunk in stream:
                    if chunk.type == 'content_block_delta':
                        content += chunk.delta.text
                        live.update(Markdown(content))


if __name__ == '__main__':
    import asyncio

    asyncio.run(main())

In Logfire sieht es wie folgt aus:

Logfire Anthropic Streaming ist ein
Die Antwort auf menschliches Streaming

本文总阅读量次