add gpt-4-0125-preview pricing; capture OpenAIError (#52)

This commit is contained in:
Shuchang Zheng 2024-03-12 00:44:37 -07:00 committed by GitHub
parent 7de072aa11
commit ad6de7faf0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 10 additions and 2 deletions

View file

@ -5,8 +5,10 @@ from pydantic import BaseModel
openai_model_to_price_lambdas = { openai_model_to_price_lambdas = {
"gpt-4-vision-preview": (0.01, 0.03), "gpt-4-vision-preview": (0.01, 0.03),
"gpt-4-1106-preview": (0.01, 0.03), "gpt-4-1106-preview": (0.01, 0.03),
"gpt-4-0125-preview": (0.01, 0.03),
"gpt-3.5-turbo": (0.001, 0.002), "gpt-3.5-turbo": (0.001, 0.002),
"gpt-3.5-turbo-1106": (0.001, 0.002), "gpt-3.5-turbo-1106": (0.001, 0.002),
"gpt-3.5-turbo-0125": (0.0005, 0.0015),
} }

View file

@ -171,6 +171,13 @@ class OpenAIClientManager:
screenshots=screenshots, screenshots=screenshots,
prompt=prompt, prompt=prompt,
) )
except openai.OpenAIError as e:
LOG.error("OpenAI error", exc_info=True)
raise e
except Exception as e:
LOG.error("Unknown error for chat completion", error_message=str(e), error_type=type(e))
raise e
# TODO: https://platform.openai.com/docs/guides/rate-limits/rate-limits-in-headers # TODO: https://platform.openai.com/docs/guides/rate-limits/rate-limits-in-headers
# use other headers, x-ratelimit-limit-requests, x-ratelimit-limit-tokens, x-ratelimit-remaining-tokens # use other headers, x-ratelimit-limit-requests, x-ratelimit-limit-tokens, x-ratelimit-remaining-tokens
# x-ratelimit-reset-requests, x-ratelimit-reset-tokens to write a more accurate algorithm for managing api keys # x-ratelimit-reset-requests, x-ratelimit-reset-tokens to write a more accurate algorithm for managing api keys

View file

@ -5,7 +5,6 @@ from typing import Any, Union
from jose import jwt from jose import jwt
from skyvern.config import settings
from skyvern.forge.sdk.settings_manager import SettingsManager from skyvern.forge.sdk.settings_manager import SettingsManager
@ -23,7 +22,7 @@ def create_access_token(
encoded_jwt = jwt.encode( encoded_jwt = jwt.encode(
to_encode, to_encode,
SettingsManager.get_settings().SECRET_KEY, SettingsManager.get_settings().SECRET_KEY,
algorithm=settings.SIGNATURE_ALGORITHM, algorithm=SettingsManager.get_settings().SIGNATURE_ALGORITHM,
) )
return encoded_jwt return encoded_jwt