|
23 | 23 | logging.getLogger("openai").setLevel(logging.ERROR) |
24 | 24 | logging.getLogger("httpx").setLevel(logging.ERROR) |
25 | 25 | logger = logging.getLogger(__name__) |
| 26 | +import json |
26 | 27 |
|
27 | 28 | AzureADTokenProvider = Callable[[], str] |
28 | 29 |
|
@@ -148,6 +149,15 @@ def __call__(self, prompt: str = "", image_url: str = None, **kwargs): |
148 | 149 | rsp = response.choices[0].message.content |
149 | 150 | tool_calls = response.choices[0].message.tool_calls |
150 | 151 | usages.append(response.usage) |
| 152 | + if self.model in ["corpus_tianchang_qwen2_5_72b_instruct"]: |
| 153 | + # 特殊模型格式处理 |
| 154 | + message_content = response.choices[0].message.content |
| 155 | + data_dict = json.loads(message_content) |
| 156 | + rsp = data_dict["choices"][0]["message"]["content"] |
| 157 | + tool_calls = data_dict["choices"][0]["message"]["tool_calls"] |
| 158 | + else: |
| 159 | + rsp = response.choices[0].message.content |
| 160 | + tool_calls = response.choices[0].message.tool_calls |
151 | 161 | else: |
152 | 162 | rsp = "" |
153 | 163 | tool_calls = None # TODO: Handle tool calls in stream mode |
@@ -234,6 +244,15 @@ async def acall(self, prompt: str = "", image_url: str = None, **kwargs): |
234 | 244 | rsp = response.choices[0].message.content |
235 | 245 | tool_calls = response.choices[0].message.tool_calls |
236 | 246 | usages.append(response.usage) |
| 247 | + if self.model in ["corpus_tianchang_qwen2_5_72b_instruct"]: |
| 248 | + # 特殊模型格式处理 |
| 249 | + message_content = response.choices[0].message.content |
| 250 | + data_dict = json.loads(message_content) |
| 251 | + rsp = data_dict["choices"][0]["message"]["content"] |
| 252 | + tool_calls = data_dict["choices"][0]["message"]["tool_calls"] |
| 253 | + else: |
| 254 | + rsp = response.choices[0].message.content |
| 255 | + tool_calls = response.choices[0].message.tool_calls |
237 | 256 | else: |
238 | 257 | rsp = "" |
239 | 258 | tool_calls = None |
|
0 commit comments