diff --git a/parea/client.py b/parea/client.py index cb530b56..7bb757b3 100644 --- a/parea/client.py +++ b/parea/client.py @@ -23,7 +23,7 @@ def __attrs_post_init__(self): parea_logger.set_client(self._client) def completion(self, data: Completion) -> CompletionResponse: - data.inference_id = get_current_trace_id() + data.inference_id = get_current_trace_id() or None r = self._client.request( "POST", COMPLETION_ENDPOINT, diff --git a/parea/schemas/models.py b/parea/schemas/models.py index 2dc857bf..b9b9d7c1 100644 --- a/parea/schemas/models.py +++ b/parea/schemas/models.py @@ -72,6 +72,7 @@ class CompletionResponse: start_timestamp: str end_timestamp: str error: Optional[str] = None + trace_id: Optional[str] = None @define diff --git a/parea/utils/trace_utils.py b/parea/utils/trace_utils.py index 2cac80d9..381a80a7 100644 --- a/parea/utils/trace_utils.py +++ b/parea/utils/trace_utils.py @@ -35,7 +35,10 @@ def merge(old, new): def get_current_trace_id() -> str: - return trace_context.get()[-1] + stack = trace_context.get() + if stack: + return stack[-1] + return "" def trace_insert(data: dict[str, Any]): diff --git a/pyproject.toml b/pyproject.toml index 9d890fc0..2973730d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "parea-ai" packages = [{ include = "parea" }] -version = "0.2.3" +version = "0.2.4" description = "Parea python sdk" readme = "README.md" authors = ["joel-parea-ai "]