Skip to content

Commit fed520b

Browse files
committed
Support Custom Note Max Length
1 parent dc09b2b commit fed520b

File tree

6 files changed

+23
-9
lines changed

6 files changed

+23
-9
lines changed

README.md

+6
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,12 @@ Sequence Diagram
7979
callback_handler = diagram.sequence_diagram_callback()
8080
```
8181

82+
Support Custom Note Max Length(default 1000)
83+
84+
```python
85+
callback_handler = diagram.activity_diagram_callback(note_max_length=2000)
86+
```
87+
8288
## Exporting PlantUML to PNG
8389

8490
You can download [plantuml.1.2023.10.jar](https://github.com/plantuml/plantuml/releases/download/v1.2023.10/plantuml-1.2023.10.jar)

langchain_plantuml/activity_diagram_beta/plantuml_activity_diagram_beta_callback_handler.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,17 @@ class PlantUMLActivityDiagramCallbackHandler(BasePlantUMLCallbackHandler):
3333
_runs_metrics: dict = {}
3434

3535
def __init__(
36-
self, color: Optional[str] = None, skin_param: List[str] = DEFAULT_SKIN_PARAM
36+
self,
37+
color: Optional[str] = None,
38+
skin_param: List[str] = DEFAULT_SKIN_PARAM,
39+
note_max_length: int = 1000,
3740
) -> None:
3841
super().__init__()
3942
for param in skin_param:
4043
self.uml_content.append(param)
4144
self.uml_content.append("start")
4245
self.color = color
46+
self.note_max_length = note_max_length
4347

4448
def on_llm_start(
4549
self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any

langchain_plantuml/activity_diagram_beta/plantuml_sequence_diagram_callback_handler.py

+5-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,10 @@ class PlantUMLSequenceDiagramCallbackHandler(BasePlantUMLCallbackHandler):
3434
_runs_metrics: dict = {}
3535

3636
def __init__(
37-
self, color: Optional[str] = None, skin_param: List[str] = DEFAULT_SKIN_PARAM
37+
self,
38+
color: Optional[str] = None,
39+
skin_param: List[str] = DEFAULT_SKIN_PARAM,
40+
note_max_length: int = 1000,
3841
) -> None:
3942
super().__init__()
4043
for param in skin_param:
@@ -43,6 +46,7 @@ def __init__(
4346
self.participants = {}
4447
self.participant_name_indexes = []
4548
self.color = color
49+
self.note_max_length = note_max_length
4650

4751
def on_llm_start(
4852
self, serialized: Dict[str, Any], prompts: List[str], **kwargs: Any

langchain_plantuml/diagram.py

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@
2020
PlantUMLSequenceDiagramCallbackHandler
2121

2222

23-
def activity_diagram_callback() -> BaseCallbackHandler:
24-
return PlantUMLActivityDiagramCallbackHandler()
23+
def activity_diagram_callback(note_max_length: int = 1000) -> BaseCallbackHandler:
24+
return PlantUMLActivityDiagramCallbackHandler(note_max_length=note_max_length)
2525

2626

27-
def sequence_diagram_callback() -> BaseCallbackHandler:
28-
return PlantUMLSequenceDiagramCallbackHandler()
27+
def sequence_diagram_callback(note_max_length: int = 1000) -> BaseCallbackHandler:
28+
return PlantUMLSequenceDiagramCallbackHandler(note_max_length=note_max_length)

pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ build-backend = "flit_core.buildapi"
1818

1919
[project]
2020
name = "langchain-plantuml"
21-
version = "0.0.3"
21+
version = "0.0.4"
2222
description = "Subscribe to events using a callback and store them in PlantUML format. You can easily subscribe to events and keep them in a form that is easy to visualize and analyze."
2323
authors = [{ name = "Lei Zhang", email = "[email protected]" }]
2424
license = {file = "LICENSE"}

tests/activity_diagram_beta/test_scene_agent.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ def setUpClass(cls):
2828
cls._agent = SceneAgent()
2929

3030
def test(self):
31-
activity_diagram_callback = diagram.activity_diagram_callback()
32-
sequence_diagram_callback = diagram.sequence_diagram_callback()
31+
activity_diagram_callback = diagram.activity_diagram_callback(note_max_length=2000)
32+
sequence_diagram_callback = diagram.sequence_diagram_callback(note_max_length=2000)
3333
question = "What did biden say about ketanji brown jackson in the state of the union address?"
3434
try:
3535
self._agent.run(question=question, callbacks=[activity_diagram_callback, sequence_diagram_callback])

0 commit comments

Comments
 (0)