diff --git a/src/magentic/chat_model/retry_chat_model.py b/src/magentic/chat_model/retry_chat_model.py index 5cc6c4df..8d008c3d 100644 --- a/src/magentic/chat_model/retry_chat_model.py +++ b/src/magentic/chat_model/retry_chat_model.py @@ -2,8 +2,6 @@ from functools import singledispatchmethod from typing import Any, TypeVar, overload -import logfire_api as logfire - from magentic.chat_model.base import ( ChatModel, ToolSchemaParseError, @@ -13,6 +11,7 @@ Message, ToolResultMessage, ) +from magentic.logger import logfire R = TypeVar("R") diff --git a/src/magentic/chatprompt.py b/src/magentic/chatprompt.py index 71347548..edc5dfd7 100644 --- a/src/magentic/chatprompt.py +++ b/src/magentic/chatprompt.py @@ -13,12 +13,11 @@ overload, ) -import logfire_api as logfire - from magentic.backend import get_chat_model from magentic.chat_model.base import ChatModel from magentic.chat_model.message import Message from magentic.chat_model.retry_chat_model import RetryChatModel +from magentic.logger import logfire from magentic.typing import split_union_type P = ParamSpec("P") diff --git a/src/magentic/function_call.py b/src/magentic/function_call.py index 5dbc351d..b8cc9859 100644 --- a/src/magentic/function_call.py +++ b/src/magentic/function_call.py @@ -16,8 +16,7 @@ ) from uuid import uuid4 -import logfire_api as logfire - +from magentic.logger import logfire from magentic.streaming import CachedAsyncIterable, CachedIterable T = TypeVar("T") diff --git a/src/magentic/logger.py b/src/magentic/logger.py index 3f00b118..7b15f412 100644 --- a/src/magentic/logger.py +++ b/src/magentic/logger.py @@ -1,6 +1,10 @@ import logging +import logfire_api + logger = logging.getLogger("magentic") # Set default log level to WARNING so INFO logs must be explicitly enabled if logger.level == logging.NOTSET: logger.setLevel(logging.WARNING) + +logfire = logfire_api.Logfire(otel_scope="magentic") # TODO: Pass version here too diff --git a/src/magentic/prompt_chain.py b/src/magentic/prompt_chain.py index 8307503c..6b2ef561 100644 --- a/src/magentic/prompt_chain.py +++ b/src/magentic/prompt_chain.py @@ -8,11 +8,10 @@ cast, ) -import logfire_api as logfire - from magentic.chat import Chat from magentic.chat_model.base import ChatModel from magentic.function_call import FunctionCall +from magentic.logger import logfire from magentic.prompt_function import AsyncPromptFunction, PromptFunction P = ParamSpec("P") diff --git a/src/magentic/prompt_function.py b/src/magentic/prompt_function.py index daa0eba8..0e8b6604 100644 --- a/src/magentic/prompt_function.py +++ b/src/magentic/prompt_function.py @@ -14,12 +14,11 @@ overload, ) -import logfire_api as logfire - from magentic.backend import get_chat_model from magentic.chat_model.base import ChatModel from magentic.chat_model.message import UserMessage from magentic.chat_model.retry_chat_model import RetryChatModel +from magentic.logger import logfire from magentic.typing import split_union_type P = ParamSpec("P")