Allow you to monitor GPT4All-API with Sentry (#1271)

This commit is contained in:
Andriy Mulyar 2023-07-25 12:47:41 -04:00 committed by GitHub
parent 545c23b4bd
commit 14f4b522d5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 0 deletions

View File

@ -7,6 +7,7 @@ class Settings(BaseSettings):
gpt4all_path: str = '/models' gpt4all_path: str = '/models'
inference_mode: str = "cpu" inference_mode: str = "cpu"
hf_inference_server_host: str = "http://gpt4all_gpu:80/generate" hf_inference_server_host: str = "http://gpt4all_gpu:80/generate"
sentry_dns: str = None
temp: float = 0.18 temp: float = 0.18
top_p: float = 1.0 top_p: float = 1.0

View File

@ -47,11 +47,23 @@ async def startup():
logger.info(f"GPT4All API is ready to infer from {settings.model} on CPU.") logger.info(f"GPT4All API is ready to infer from {settings.model} on CPU.")
@app.on_event("shutdown") @app.on_event("shutdown")
async def shutdown(): async def shutdown():
logger.info("Shutting down API") logger.info("Shutting down API")
if settings.sentry_dns is not None:
import sentry_sdk
def traces_sampler(sampling_context):
if 'health' in sampling_context['transaction_context']['name']:
return False
sentry_sdk.init(
dsn=settings.sentry_dns, traces_sample_rate=0.1, traces_sampler=traces_sampler, send_default_pii=False
)
# This is needed to get logs to show up in the app # This is needed to get logs to show up in the app
if "gunicorn" in os.environ.get("SERVER_SOFTWARE", ""): if "gunicorn" in os.environ.get("SERVER_SOFTWARE", ""):
gunicorn_error_logger = logging.getLogger("gunicorn.error") gunicorn_error_logger = logging.getLogger("gunicorn.error")