|
2 | 2 | from typing import Any, AsyncIterator, Dict, Iterator, List, Optional, Tuple, Union
|
3 | 3 |
|
4 | 4 | import httpx
|
5 |
| - |
6 | 5 | from pydantic import BaseModel
|
7 | 6 |
|
8 | 7 | from agno.exceptions import ModelProviderError
|
@@ -201,15 +200,15 @@ def request_kwargs(self) -> Dict[str, Any]:
|
201 | 200 | base_params["text"] = {"format": {"type": "json_object"}}
|
202 | 201 |
|
203 | 202 | # Filter out None values
|
204 |
| - request_params = {k: v for k, v in base_params.items() if v is not None} |
| 203 | + request_params: Dict[str, Any] = {k: v for k, v in base_params.items() if v is not None} |
205 | 204 |
|
206 | 205 | if self.web_search:
|
207 |
| - request_params.setdefault("tools", []) |
| 206 | + request_params.setdefault("tools", []) # type: ignore |
208 | 207 | request_params["tools"].append({"type": "web_search_preview"})
|
209 | 208 |
|
210 | 209 | # Add tools
|
211 | 210 | if self._functions is not None and len(self._functions) > 0:
|
212 |
| - request_params.setdefault("tools", []) |
| 211 | + request_params.setdefault("tools", []) # type: ignore |
213 | 212 | for function in self._functions.values():
|
214 | 213 | function_dict = function.to_dict()
|
215 | 214 | for prop in function_dict["parameters"]["properties"].values():
|
@@ -452,7 +451,7 @@ async def ainvoke_stream(self, messages: List[Message]) -> AsyncIterator[Respons
|
452 | 451 | stream=True,
|
453 | 452 | **self.request_kwargs,
|
454 | 453 | )
|
455 |
| - async for chunk in async_stream: |
| 454 | + async for chunk in async_stream: # type: ignore |
456 | 455 | yield chunk
|
457 | 456 | except RateLimitError as e:
|
458 | 457 | logger.error(f"Rate limit error from OpenAI API: {e}")
|
@@ -519,7 +518,7 @@ def parse_provider_response(self, response: Response) -> ModelResponse:
|
519 | 518 |
|
520 | 519 | if response.error:
|
521 | 520 | raise ModelProviderError(
|
522 |
| - message=response.error.get("message", "Unknown model error"), |
| 521 | + message=response.error.message, |
523 | 522 | model_name=self.name,
|
524 | 523 | model_id=self.id,
|
525 | 524 | )
|
@@ -611,7 +610,7 @@ def _process_stream_response(
|
611 | 610 |
|
612 | 611 | elif stream_event.type == "response.output_item.done" and tool_use:
|
613 | 612 | model_response = ModelResponse()
|
614 |
| - model_response.tool_calls = tool_use |
| 613 | + model_response.tool_calls = [tool_use] |
615 | 614 | if assistant_message.tool_calls is None:
|
616 | 615 | assistant_message.tool_calls = []
|
617 | 616 | assistant_message.tool_calls.append(tool_use)
|
|
0 commit comments