From a723c8ce378888920b84033534ea9c2bb3037681 Mon Sep 17 00:00:00 2001 From: RockChinQ <1010553892@qq.com> Date: Sun, 17 Mar 2024 23:22:26 -0400 Subject: [PATCH] =?UTF-8?q?perf:=20claude=20=E7=9A=84=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/provider/modelmgr/apis/anthropicmsgs.py | 22 ++++++++++++++++----- pkg/provider/modelmgr/errors.py | 2 +- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/pkg/provider/modelmgr/apis/anthropicmsgs.py b/pkg/provider/modelmgr/apis/anthropicmsgs.py index 6fd1a055..71423e0a 100644 --- a/pkg/provider/modelmgr/apis/anthropicmsgs.py +++ b/pkg/provider/modelmgr/apis/anthropicmsgs.py @@ -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 - ) \ No newline at end of file + 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}') \ No newline at end of file diff --git a/pkg/provider/modelmgr/errors.py b/pkg/provider/modelmgr/errors.py index 4feddeab..d466cf11 100644 --- a/pkg/provider/modelmgr/errors.py +++ b/pkg/provider/modelmgr/errors.py @@ -2,4 +2,4 @@ class RequesterError(Exception): """Base class for all Requester errors.""" def __init__(self, message: str): - super().__init__("模型请求失败: "+message) \ No newline at end of file + super().__init__("模型请求失败: "+message)