feat: integrate govdoc module into leaudit platform
This commit is contained in:
@@ -11,7 +11,22 @@ import re
|
||||
import time
|
||||
from typing import Any
|
||||
|
||||
from openai import AsyncOpenAI, OpenAI, APIError, APIConnectionError, RateLimitError
|
||||
try:
|
||||
from openai import AsyncOpenAI, OpenAI, APIError, APIConnectionError, RateLimitError
|
||||
_OPENAI_IMPORT_ERROR: Exception | None = None
|
||||
except ModuleNotFoundError as exc: # pragma: no cover - optional dependency
|
||||
AsyncOpenAI = None # type: ignore[assignment]
|
||||
OpenAI = None # type: ignore[assignment]
|
||||
_OPENAI_IMPORT_ERROR = exc
|
||||
|
||||
class APIError(Exception):
|
||||
status_code: int | None = None
|
||||
|
||||
class APIConnectionError(Exception):
|
||||
pass
|
||||
|
||||
class RateLimitError(Exception):
|
||||
pass
|
||||
|
||||
from fastapi_admin.config import (
|
||||
LLM_API_KEY,
|
||||
@@ -125,7 +140,13 @@ class LlmClient:
|
||||
):
|
||||
key = api_key or LLM_API_KEY
|
||||
self._misconfigured_error: LlmConfigError | None = None
|
||||
if not key:
|
||||
if OpenAI is None or AsyncOpenAI is None:
|
||||
self._client = None
|
||||
self._aclient = None
|
||||
self._misconfigured_error = LlmConfigError(
|
||||
"python package 'openai' is not installed; govdoc LLM features are unavailable."
|
||||
)
|
||||
elif not key:
|
||||
self._client = None
|
||||
self._aclient = None
|
||||
self._misconfigured_error = LlmConfigError(
|
||||
|
||||
Reference in New Issue
Block a user