नृविज्ञान¶
परिचय¶
लॉगफायर एंथ्रोपिक को कॉल का पता लगाने के लिए कोड की एक अतिरिक्त पंक्ति के उपयोग का समर्थन करता है।
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)
-
यदि आपके पास क्लाइंट साइड उदाहरण तक पहुंच नहीं है, तो आप एक कक्षा पास कर सकते हैं (उदाहरण के लिए
logfire.instrument_anthropic(anthropic.Anthropic)), या बस किसी भी पैरामीटर को पारित नहीं करते हैं (यानीlogfire.instrument_anthropic()) पता लगाने के लिए两者。人类学और人类学。AsyncAnthropicकक्षा।
_
अधिक जानकारी के लिए, कृपया देखें [instrument_anthropic() एपीआई संदर्भ] [लॉगफायर। Logfire.instrument_anthropic]। _
इसके साथ, आप प्राप्त कर सकते हैं:
-
एंथ्रोपिक को कॉल के आसपास की अवधि, जो अवधि को रिकॉर्ड करती है और किसी भी अपवाद को पकड़ती है जो हो सकता है
-
एजेंटों के साथ बातचीत का मानव-पठनीय प्रदर्शन
-
उपयोग किए गए टोकन की संख्या सहित प्रतिक्रिया का विवरण
कवर किए गए तरीके¶
निम्नलिखित मानवशास्त्रीय विधियों को कवर किया गया है:
client.messages.createclient.messages.stream(客户端.messages.stream)client.beta.tools.messages.create
सभी तरीके कवर किए गए हैं人为的方法。人类学 और 人类学。异步人。
स्ट्रीमिंग प्रतिक्रिया¶
स्ट्रीमिंग प्रतिक्रिया का पता लगाते समय, लॉगफायर दो स्पैन बनाता है - एक प्रारंभिक अनुरोध के आसपास और एक स्ट्रीमिंग प्रतिक्रिया के आसपास।
यहां, हम रिच का भी उपयोग करते हैं 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())
लॉगफायर में, यह इस तरह दिखता है:
本文总阅读量次