perf: claude 的接口异常处理

This commit is contained in:
RockChinQ
2024-03-17 23:22:26 -04:00
parent 327b2509f6
commit a723c8ce37
2 changed files with 18 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
from __future__ import annotations
import typing
import traceback
import anthropic
@@ -62,9 +63,20 @@ class AnthropicMessages(api.LLMAPIRequester):
args["messages"] = req_messages
resp = await self.client.messages.create(**args)
try:
yield llm_entities.Message(
content=resp.content[0].text,
role=resp.role
)
resp = await self.client.messages.create(**args)
yield llm_entities.Message(
content=resp.content[0].text,
role=resp.role
)
except anthropic.AuthenticationError as e:
raise errors.RequesterError(f'api-key 无效: {e.message}')
except anthropic.BadRequestError as e:
raise errors.RequesterError(str(e.message))
except anthropic.NotFoundError as e:
if 'model: ' in str(e):
raise errors.RequesterError(f'模型无效: {e.message}')
else:
raise errors.RequesterError(f'请求地址无效: {e.message}')

View File

@@ -2,4 +2,4 @@ class RequesterError(Exception):
"""Base class for all Requester errors."""
def __init__(self, message: str):
super().__init__("模型请求失败: "+message)
super().__init__("模型请求失败: "+message)