petrov826 commited on
Commit
47577e6
·
verified ·
1 Parent(s): d075d6e

use smolagents's step_callbacks instead of litellm's callback

Browse files
Files changed (1) hide show
  1. app.py +2 -9
app.py CHANGED
@@ -23,19 +23,11 @@ DEFAULT_API_URL = "https://agents-course-unit4-scoring.hf.space"
23
 
24
  rate_limiter = RateLimiter()
25
 
26
- class LiteLLMModelWithRateLimit(LiteLLMModel):
27
- """API呼び出し前にレート制限をチェックするLiteLLMModelのラッパー"""
28
- def run(self, **kwargs) -> dict:
29
- # APIを呼び出す直前に待機処理を挟む
30
- rate_limiter.wait_if_needed()
31
- # 元のrunメソッドを呼び出してAPIアクセスを実行
32
- return super().run(**kwargs)
33
-
34
  # --- Basic Agent Definition ---
35
  # ----- THIS IS WERE YOU CAN BUILD WHAT YOU WANT ------
36
  class BasicAgent:
37
  def __init__(self):
38
- model = LiteLLMModelWithRateLimit(
39
  model_id="gemini/gemini-2.5-flash",
40
  api_key=os.getenv("GOOGLE_API_KEY")
41
  )
@@ -48,6 +40,7 @@ class BasicAgent:
48
  YoutubeTranscriptTool()
49
  ],
50
  model=model,
 
51
  )
52
  print("BasicAgent initialized.")
53
 
 
23
 
24
  rate_limiter = RateLimiter()
25
 
 
 
 
 
 
 
 
 
26
  # --- Basic Agent Definition ---
27
  # ----- THIS IS WERE YOU CAN BUILD WHAT YOU WANT ------
28
  class BasicAgent:
29
  def __init__(self):
30
+ model = LiteLLMModel(
31
  model_id="gemini/gemini-2.5-flash",
32
  api_key=os.getenv("GOOGLE_API_KEY")
33
  )
 
40
  YoutubeTranscriptTool()
41
  ],
42
  model=model,
43
+ step_callbacks=[rate_limiter.increment_and_sleep_if_needed]
44
  )
45
  print("BasicAgent initialized.")
46