3131 DEFALUT_MODEL_AGENT_PROVIDER ,
3232 DEFAULT_MODEL_AGENT_API_BASE ,
3333 DEFAULT_MODEL_AGENT_NAME ,
34+ DEFAULT_MODEL_EXTRA_HEADERS ,
3435)
3536from veadk .evaluation import EvalSetRecorder
3637from veadk .knowledgebase import KnowledgeBase
4041from veadk .tracing .base_tracer import BaseTracer
4142from veadk .utils .logger import get_logger
4243from veadk .utils .patches import patch_asyncio
44+ from veadk .version import VERSION
4345
4446patch_asyncio ()
4547logger = get_logger (__name__ )
@@ -72,6 +74,9 @@ class Agent(LlmAgent):
7274 model_api_key : str = Field (default_factory = lambda : getenv ("MODEL_AGENT_API_KEY" ))
7375 """The api key of the model for agent running."""
7476
77+ model_extra_headers : dict = Field (default_factory = dict )
78+ """The extra headers to include in the model requests."""
79+
7580 tools : list [ToolUnion ] = []
7681 """The tools provided to agent."""
7782
@@ -95,11 +100,23 @@ class Agent(LlmAgent):
95100
96101 def model_post_init (self , __context : Any ) -> None :
97102 super ().model_post_init (None ) # for sub_agents init
98- self .model = LiteLlm (
99- model = f"{ self .model_provider } /{ self .model_name } " ,
100- api_key = self .model_api_key ,
101- api_base = self .model_api_base ,
102- )
103+
104+ self .model_extra_headers |= DEFAULT_MODEL_EXTRA_HEADERS
105+
106+ if not self .model :
107+ self .model = LiteLlm (
108+ model = f"{ self .model_provider } /{ self .model_name } " ,
109+ api_key = self .model_api_key ,
110+ api_base = self .model_api_base ,
111+ extra_headers = self .model_extra_headers ,
112+ )
113+ logger .debug (
114+ f"LiteLLM client created with extra headers: { self .model_extra_headers } "
115+ )
116+ else :
117+ logger .warning (
118+ "You are trying to use your own LiteLLM client, some default request headers may be missing."
119+ )
103120
104121 if self .knowledgebase :
105122 from veadk .tools import load_knowledgebase_tool
@@ -112,9 +129,7 @@ def model_post_init(self, __context: Any) -> None:
112129
113130 self .tools .append (load_memory )
114131
115- if self .tracers :
116- for tracer in self .tracers :
117- tracer .do_hooks (self )
132+ logger .info (f"VeADK version: { VERSION } " )
118133
119134 logger .info (f"{ self .__class__ .__name__ } `{ self .name } ` init done." )
120135 logger .debug (
@@ -215,9 +230,6 @@ async def run(
215230 session_service = session_service ,
216231 memory_service = self .long_term_memory ,
217232 )
218- if getattr (self , "tracers" , None ):
219- for tracer in self .tracers :
220- tracer .set_app_name (app_name )
221233
222234 logger .info (f"Begin to process prompt { prompt } " )
223235 # run
0 commit comments