Skip to content

Commit c1c2609

Browse files
feat: support model extra config (#104)
1 parent 1c0dcbd commit c1c2609

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

veadk/agent.py

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,8 +74,8 @@ class Agent(LlmAgent):
7474
model_api_key: str = Field(default_factory=lambda: getenv("MODEL_AGENT_API_KEY"))
7575
"""The api key of the model for agent running."""
7676

77-
model_extra_headers: dict = Field(default_factory=dict)
78-
"""The extra headers to include in the model requests."""
77+
model_extra_config: dict = Field(default_factory=dict)
78+
"""The extra config to include in the model requests."""
7979

8080
tools: list[ToolUnion] = []
8181
"""The tools provided to agent."""
@@ -101,17 +101,21 @@ class Agent(LlmAgent):
101101
def model_post_init(self, __context: Any) -> None:
102102
super().model_post_init(None) # for sub_agents init
103103

104-
self.model_extra_headers |= DEFAULT_MODEL_EXTRA_HEADERS
104+
# add model request source (veadk) in extra headers
105+
if self.model_extra_config and "extra_headers" in self.model_extra_config:
106+
self.model_extra_config["extra_headers"] |= DEFAULT_MODEL_EXTRA_HEADERS
107+
else:
108+
self.model_extra_config["extra_headers"] = DEFAULT_MODEL_EXTRA_HEADERS
105109

106110
if not self.model:
107111
self.model = LiteLlm(
108112
model=f"{self.model_provider}/{self.model_name}",
109113
api_key=self.model_api_key,
110114
api_base=self.model_api_base,
111-
extra_headers=self.model_extra_headers,
115+
**self.model_extra_config,
112116
)
113117
logger.debug(
114-
f"LiteLLM client created with extra headers: {self.model_extra_headers}"
118+
f"LiteLLM client created with config: {self.model_extra_config}"
115119
)
116120
else:
117121
logger.warning(
@@ -133,7 +137,7 @@ def model_post_init(self, __context: Any) -> None:
133137

134138
logger.info(f"{self.__class__.__name__} `{self.name}` init done.")
135139
logger.debug(
136-
f"Agent: {self.model_dump(include={'name', 'model_name', 'model_api_base', 'tools', 'serve_url'})}"
140+
f"Agent: {self.model_dump(include={'name', 'model_name', 'model_api_base', 'tools'})}"
137141
)
138142

139143
async def _run(

veadk/tracing/telemetry/attributes/extractors/tool_attributes_extractors.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ def tool_gen_ai_operation_name(params: ToolAttributesParams) -> ExtractorRespons
2626

2727
def tool_gen_ai_tool_message(params: ToolAttributesParams) -> ExtractorResponse:
2828
tool_input = {
29-
"id": "123",
3029
"role": "tool",
3130
"content": json.dumps(
3231
{

0 commit comments

Comments
 (0)