File tree Expand file tree Collapse file tree 5 files changed +68
-49
lines changed Expand file tree Collapse file tree 5 files changed +68
-49
lines changed Original file line number Diff line number Diff line change
1
+ """Centralized place for lazy LDP imports."""
2
+
3
+ __all__ = [
4
+ "HAS_LDP_INSTALLED" ,
5
+ "Agent" ,
6
+ "Callback" ,
7
+ "ComputeTrajectoryMetricsMixin" ,
8
+ "HTTPAgentClient" ,
9
+ "Memory" ,
10
+ "MemoryAgent" ,
11
+ "ReActAgent" ,
12
+ "RolloutManager" ,
13
+ "SimpleAgent" ,
14
+ "SimpleAgentState" ,
15
+ "UIndexMemoryModel" ,
16
+ "_Memories" ,
17
+ "discounted_returns" ,
18
+ "set_training_mode" ,
19
+ ]
20
+
21
+ from pydantic import TypeAdapter
22
+
23
+ try :
24
+ from ldp .agent import (
25
+ Agent ,
26
+ HTTPAgentClient ,
27
+ MemoryAgent ,
28
+ ReActAgent ,
29
+ SimpleAgent ,
30
+ SimpleAgentState ,
31
+ )
32
+ from ldp .alg import Callback , ComputeTrajectoryMetricsMixin , RolloutManager
33
+ from ldp .graph .memory import Memory , UIndexMemoryModel
34
+ from ldp .graph .op_utils import set_training_mode
35
+ from ldp .utils import discounted_returns
36
+
37
+ _Memories = TypeAdapter (dict [int , Memory ] | list [Memory ]) # type: ignore[var-annotated]
38
+
39
+ HAS_LDP_INSTALLED = True
40
+ except ImportError :
41
+ HAS_LDP_INSTALLED = False
42
+
43
+ class ComputeTrajectoryMetricsMixin : # type: ignore[no-redef]
44
+ """Placeholder parent class for when ldp isn't installed."""
45
+
46
+ class Callback : # type: ignore[no-redef]
47
+ """Placeholder parent class for when ldp isn't installed."""
48
+
49
+ RolloutManager = None # type: ignore[assignment,misc]
50
+ discounted_returns = None # type: ignore[assignment]
Original file line number Diff line number Diff line change 20
20
stop_after_attempt ,
21
21
)
22
22
23
- try :
24
- from ldp .alg import Callback , RolloutManager
25
- except ImportError :
26
-
27
- class Callback : # type: ignore[no-redef]
28
- """Placeholder parent class for when ldp isn't installed."""
29
-
30
- RolloutManager = None # type: ignore[assignment,misc]
31
-
23
+ from paperqa ._ldp_shims import Callback , RolloutManager
32
24
from paperqa .docs import Docs
33
25
from paperqa .settings import AgentSettings
34
26
from paperqa .types import PQASession
Original file line number Diff line number Diff line change 24
24
ToolResponseMessage ,
25
25
)
26
26
from aviary .env import ENV_REGISTRY
27
-
28
- from paperqa .types import DocDetails
29
-
30
- from .search import SearchIndex , maybe_get_manifest
31
-
32
- try :
33
- from ldp .alg import ComputeTrajectoryMetricsMixin
34
- except ImportError :
35
-
36
- class ComputeTrajectoryMetricsMixin : # type: ignore[no-redef]
37
- """Placeholder for when ldp isn't installed."""
38
-
39
-
40
27
from llmclient import EmbeddingModel , LiteLLMModel , LLMModel
41
28
29
+ from paperqa ._ldp_shims import ComputeTrajectoryMetricsMixin
42
30
from paperqa .docs import Docs
43
31
from paperqa .litqa import (
44
32
DEFAULT_EVAL_MODEL_NAME ,
@@ -47,10 +35,11 @@ class ComputeTrajectoryMetricsMixin: # type: ignore[no-redef]
47
35
LitQAEvaluation ,
48
36
read_litqa_v2_from_hub ,
49
37
)
50
- from paperqa .types import PQASession
38
+ from paperqa .types import DocDetails , PQASession
51
39
52
40
from .env import POPULATE_FROM_SETTINGS , PaperQAEnvironment
53
41
from .models import QueryRequest
42
+ from .search import SearchIndex , maybe_get_manifest
54
43
from .tools import Complete
55
44
56
45
if TYPE_CHECKING :
Original file line number Diff line number Diff line change 10
10
from enum import StrEnum
11
11
from typing import TYPE_CHECKING , Literal , Self
12
12
13
- try :
14
- from ldp .utils import discounted_returns
15
- except ImportError :
16
- discounted_returns = None # type: ignore[assignment]
17
-
18
13
from aviary .core import Message
19
14
from llmclient import LiteLLMModel , LLMModel
20
15
16
+ from paperqa ._ldp_shims import discounted_returns
21
17
from paperqa .prompts import EVAL_PROMPT_TEMPLATE , QA_PROMPT_TEMPLATE
22
18
from paperqa .settings import make_default_litellm_model_list_settings
23
19
from paperqa .types import PQASession
Original file line number Diff line number Diff line change 10
10
11
11
import anyio
12
12
from aviary .core import ToolSelector
13
+ from llmclient import EmbeddingModel , LiteLLMModel , embedding_model_factory
13
14
from pydantic import (
14
15
BaseModel ,
15
16
ConfigDict ,
16
17
Field ,
17
- TypeAdapter ,
18
18
computed_field ,
19
19
field_validator ,
20
20
model_validator ,
21
21
)
22
22
from pydantic_settings import BaseSettings , CliSettingsSource , SettingsConfigDict
23
23
24
- try :
25
- from ldp .agent import (
26
- Agent ,
27
- HTTPAgentClient ,
28
- MemoryAgent ,
29
- ReActAgent ,
30
- SimpleAgent ,
31
- SimpleAgentState ,
32
- )
33
- from ldp .graph .memory import Memory , UIndexMemoryModel
34
- from ldp .graph .op_utils import set_training_mode
35
-
36
- _Memories = TypeAdapter (dict [int , Memory ] | list [Memory ]) # type: ignore[var-annotated]
37
-
38
- HAS_LDP_INSTALLED = True
39
- except ImportError :
40
- HAS_LDP_INSTALLED = False
41
-
42
- from llmclient import EmbeddingModel , LiteLLMModel , embedding_model_factory
43
-
24
+ from paperqa ._ldp_shims import (
25
+ HAS_LDP_INSTALLED ,
26
+ Agent ,
27
+ HTTPAgentClient ,
28
+ MemoryAgent ,
29
+ ReActAgent ,
30
+ SimpleAgent ,
31
+ SimpleAgentState ,
32
+ UIndexMemoryModel ,
33
+ _Memories ,
34
+ set_training_mode ,
35
+ )
44
36
from paperqa .prompts import (
45
37
CONTEXT_INNER_PROMPT ,
46
38
CONTEXT_OUTER_PROMPT ,
You can’t perform that action at this time.
0 commit comments