ติดตามขั้นตอนของ Agent และตรวจสอบ Action
คุณกำลังสร้าง smolagents assistant ให้โค้ชบาสเกตบอลที่ต้องการความช่วยเหลือในการวิเคราะห์รายงาน PDF ซึ่งประกอบด้วยสถิตินักกีฬา ข้อมูลสเกาต์ และกลยุทธ์การแข่งขัน
โค้ชพึ่งพา agent นี้ในการตอบคำถามเช่น: "เราควรใช้กลยุทธ์ป้องกันแบบไหนรับมือกับตัวสำรองของทีมคู่แข่ง?"
แต่โค้ชไม่ได้ต้องการแค่คำตอบ — ยังต้องการมองเห็นว่า agent ทำอะไรอยู่เบื้องหลังด้วย
ในแบบฝึกหัดนี้ คุณจะเขียน action callback ที่ทำงานทุกครั้งที่ agent ดำเนินขั้นตอน เช่น การเรียกใช้ tool หรือการใช้โมเดล โดย callback นี้จะ:
- แสดงจำนวนขั้นตอนที่ผ่านไป
- และเมื่อ agent ทำงานเสร็จสิ้น จะแสดงจำนวน token ที่ใช้ไปทั้งหมด
สิ่งนี้จะช่วยให้โค้ช (และคุณ!) ติดตามความคืบหน้าของ agent และรู้ว่ามันใช้ความพยายามมากแค่ไหนในการหาคำตอบ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
AI Agents ด้วย Hugging Face smolagents
คำแนะนำการฝึกหัด
- กำหนด signature ของฟังก์ชันให้ครบโดยเพิ่มพารามิเตอร์
agent_step - ตรวจสอบว่าขั้นตอนปัจจุบันได้ผลลัพธ์สุดท้ายหรือไม่ โดยใช้แอตทริบิวต์
.is_final_answerของagent_step - หากเป็นคำตอบสุดท้าย ให้ดึงจำนวน token ทั้งหมดจาก
total_tokensแล้วแสดงผลออกมา
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define an action callback that accepts the agent step and the agent
def action_callback(____, agent):
step_num = agent_step.step_number
print(f"Step {step_num}: Analyzing basketball data!")
# Check if the agent step includes token usage
if agent_step.____:
total_tokens = agent_step.token_usage.total_tokens
# Print how many tokens were used
print(f"Analysis complete! Total tokens used: {____}")