Skip to content

Commit 69c9c68

Browse files
authored
Fixes import error & adds delete_session_node option to Neo4jMessageHistory (#282)
* Moves LLMMessage to avoid a cicular import with LLM classes * Updated more imports * Updates docs * Updated more imports * Updated Neo4jMessageHistory to allow for optional session node deletion * Updated LLMMessage deprecation warning
1 parent c944dca commit 69c9c68

18 files changed

+93
-41
lines changed

docs/source/types.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ LLMResponse
3131
LLMMessage
3232
===========
3333

34-
.. autoclass:: neo4j_graphrag.llm.types.LLMMessage
34+
.. autoclass:: neo4j_graphrag.types.LLMMessage
3535

3636

3737
RagResultModel

examples/customize/llms/custom_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
from typing import Any, List, Optional, Union
44

55
from neo4j_graphrag.llm import LLMInterface, LLMResponse
6-
from neo4j_graphrag.llm.types import LLMMessage
76
from neo4j_graphrag.message_history import MessageHistory
7+
from neo4j_graphrag.types import LLMMessage
88

99

1010
class CustomLLM(LLMInterface):

src/neo4j_graphrag/generation/graphrag.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,9 @@
2727
from neo4j_graphrag.generation.prompts import RagTemplate
2828
from neo4j_graphrag.generation.types import RagInitModel, RagResultModel, RagSearchModel
2929
from neo4j_graphrag.llm import LLMInterface
30-
from neo4j_graphrag.llm.types import LLMMessage
3130
from neo4j_graphrag.message_history import MessageHistory
3231
from neo4j_graphrag.retrievers.base import Retriever
33-
from neo4j_graphrag.types import RetrieverResult
32+
from neo4j_graphrag.types import LLMMessage, RetrieverResult
3433

3534
logger = logging.getLogger(__name__)
3635

src/neo4j_graphrag/llm/anthropic_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,12 @@
2121
from neo4j_graphrag.llm.base import LLMInterface
2222
from neo4j_graphrag.llm.types import (
2323
BaseMessage,
24-
LLMMessage,
2524
LLMResponse,
2625
MessageList,
2726
UserMessage,
2827
)
2928
from neo4j_graphrag.message_history import MessageHistory
29+
from neo4j_graphrag.types import LLMMessage
3030

3131
if TYPE_CHECKING:
3232
from anthropic.types.message_param import MessageParam

src/neo4j_graphrag/llm/base.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,9 @@
1818
from typing import Any, List, Optional, Union
1919

2020
from neo4j_graphrag.message_history import MessageHistory
21+
from neo4j_graphrag.types import LLMMessage
2122

22-
from .types import (
23-
LLMMessage,
24-
LLMResponse,
25-
)
23+
from .types import LLMResponse
2624

2725

2826
class LLMInterface(ABC):

src/neo4j_graphrag/llm/cohere_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,13 +22,13 @@
2222
from neo4j_graphrag.llm.base import LLMInterface
2323
from neo4j_graphrag.llm.types import (
2424
BaseMessage,
25-
LLMMessage,
2625
LLMResponse,
2726
MessageList,
2827
SystemMessage,
2928
UserMessage,
3029
)
3130
from neo4j_graphrag.message_history import MessageHistory
31+
from neo4j_graphrag.types import LLMMessage
3232

3333
if TYPE_CHECKING:
3434
from cohere import ChatMessages

src/neo4j_graphrag/llm/mistralai_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323
from neo4j_graphrag.llm.base import LLMInterface
2424
from neo4j_graphrag.llm.types import (
2525
BaseMessage,
26-
LLMMessage,
2726
LLMResponse,
2827
MessageList,
2928
SystemMessage,
3029
UserMessage,
3130
)
3231
from neo4j_graphrag.message_history import MessageHistory
32+
from neo4j_graphrag.types import LLMMessage
3333

3434
try:
3535
from mistralai import Messages, Mistral

src/neo4j_graphrag/llm/ollama_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
from neo4j_graphrag.exceptions import LLMGenerationError
2222
from neo4j_graphrag.message_history import MessageHistory
23+
from neo4j_graphrag.types import LLMMessage
2324

2425
from .base import LLMInterface
2526
from .types import (
2627
BaseMessage,
27-
LLMMessage,
2828
LLMResponse,
2929
MessageList,
3030
SystemMessage,

src/neo4j_graphrag/llm/openai_llm.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
from pydantic import ValidationError
2121

2222
from neo4j_graphrag.message_history import MessageHistory
23+
from neo4j_graphrag.types import LLMMessage
2324

2425
from ..exceptions import LLMGenerationError
2526
from .base import LLMInterface
2627
from .types import (
2728
BaseMessage,
28-
LLMMessage,
2929
LLMResponse,
3030
MessageList,
3131
SystemMessage,

src/neo4j_graphrag/llm/types.py

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,23 @@
1-
from typing import Literal, TypedDict
1+
import warnings
2+
from typing import Any, Literal
23

34
from pydantic import BaseModel
45

6+
from neo4j_graphrag.types import LLMMessage as _LLMMessage
57

6-
class LLMResponse(BaseModel):
7-
content: str
88

9+
def __getattr__(name: str) -> Any:
10+
if name == "LLMMessage":
11+
warnings.warn(
12+
"LLMMessage has been moved to neo4j_graphrag.types. Please update your imports.",
13+
DeprecationWarning,
14+
stacklevel=2,
15+
)
16+
return _LLMMessage
17+
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
918

10-
class LLMMessage(TypedDict):
11-
role: Literal["system", "user", "assistant"]
19+
20+
class LLMResponse(BaseModel):
1221
content: str
1322

1423

0 commit comments

Comments
 (0)