antropologi¶
memperkenalkan¶
Logfire mendukung penggunaan baris kode tambahan untuk mendeteksi panggilan ke 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)
-
Jika Anda tidak memiliki akses ke instance sisi klien, Anda dapat melewati kelas (misalnya,
logfire.instrument_anthropic(anthropic.Anthropic)), atau tidak memberikan argumen sama sekali (yaitu,logfire.instrument_anthropic()) untuk mendeteksi kelas两者。人类学dan人类学。AsyncAnthropic.
_
Untuk informasi lebih lanjut, lihat [Referensi API instrument_anthropic()] [logfire. Logfire.instrument _ anthropic]. _
Dengan itu, Anda dapat memperoleh:
-
Rentang seputar panggilan ke Anthropic, yang mencatat durasi dan menangkap pengecualian yang mungkin terjadi
-
Tampilan percakapan yang dapat dibaca manusia dengan agen
-
Rincian tanggapan, termasuk jumlah token yang digunakan
Metode tertutup¶
Metode antropologis berikut meliputi:
client.messages.createclient.messages.stream(客户端.messages.stream)client.beta.tools.messages.create
Semua metode mencakup 人为的方法。人类学 dan 人类学。异步人。
respons streaming¶
Saat mendeteksi respons streaming, Logfire membuat dua bentang - satu di sekitar permintaan awal dan satu di sekitar respons streaming.
Di sini kami juga menggunakan tipe Live dan Markdown untuk membuat respons secara real time di titik akhir.
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())
Di Logfire, tampilannya seperti ini:
本文总阅读量次