Перейти к содержанию

Антропология

Презентация

Logfire поддерживает дополнительную строку кода для обнаружения вызовов Anthropic.

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. Если у вас нет доступа к экземпляру клиента, вы можете передать класс (например,logfire.instrument_anthropic(anthropic.Anthropic)) или просто не передавать параметры (например,logfire.instrument_anthropic()) для обнаружения классов 两者。人类学 и 人类学。AsyncAnthropic.


Для получения дополнительной информации см. раздел [Справочник по API instrument_anthropic()][logfire. instrument_anthropic].

С его помощью вы можете получить:

  • Круг вокруг вызова Anthropic, который записывает продолжительность и фиксирует любые исключения, которые могут произойти

  • Человеческое читаемое отображение диалога с столом

  • Сведения о ответе, включая количество использованных токенов

Logfire Anthropic
Anthropic span and conversation
Logfire Anthropic Arguments
Span arguments Including Response details

Охватываемые методологии

Охватывает следующие антропологические подходы:

Все методы охватывают 人为的方法。人类学 и 人类学。异步人。

Потоковое реагирование

При обнаружении потокового ответа Logfire создает два диапазона: один вокруг первоначального запроса, а другой-вокруг потокового ответа.

Здесь мы также используем типы Rich Live и Markdown для рендеринга ответов в режиме реального времени в терминале.: Танцоры:

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())

В Logfire это выглядит следующим образом:

Anthropic Streaming
Anthropic streaming Response

本文总阅读量次