cjber commited on
Commit
f9cb6a0
·
1 Parent(s): 07ef5a5

allow filenames to be passed through

Browse files
planning_ai/nodes/map_node.py CHANGED
@@ -9,20 +9,42 @@ from planning_ai.states import OverallState, SummaryState
9
 
10
 
11
  def generate_summary(state: SummaryState):
12
- response = map_chain.invoke({"context": state["content"]})
13
- return {"summaries": [response]}
 
 
 
 
 
 
 
 
 
 
14
 
15
 
16
  def map_summaries(state: OverallState):
17
  return [
18
- Send("generate_summary", {"content": content}) for content in state["contents"]
 
19
  ]
20
 
21
 
22
  def collect_summaries(state: OverallState):
23
  return {
24
  "collapsed_summaries": [
25
- Document(f"[{idx}]\n\n{summary}")
 
 
 
 
 
 
 
 
 
 
 
26
  for idx, summary in enumerate(state["summaries"], start=1)
27
  ]
28
  }
 
9
 
10
 
11
  def generate_summary(state: SummaryState):
12
+ response = map_chain.invoke(
13
+ {"context": state["content"], "filename": state["filename"]}
14
+ )
15
+ return {
16
+ "summaries": [
17
+ {
18
+ "response": response,
19
+ "original": state["content"],
20
+ "filename": state["filename"],
21
+ }
22
+ ]
23
+ }
24
 
25
 
26
  def map_summaries(state: OverallState):
27
  return [
28
+ Send("generate_summary", {"content": content, "filename": filename})
29
+ for content, filename in zip(state["contents"], state["filenames"])
30
  ]
31
 
32
 
33
  def collect_summaries(state: OverallState):
34
  return {
35
  "collapsed_summaries": [
36
+ Document(
37
+ page_content=summary["response"].summary,
38
+ metadata={
39
+ "stance": summary["response"].stance,
40
+ "themes": summary["response"].themes,
41
+ "places": summary["response"].places,
42
+ "rating": summary["response"].rating,
43
+ "original": summary["original"],
44
+ "filename": summary["filename"],
45
+ "index": idx,
46
+ },
47
+ )
48
  for idx, summary in enumerate(state["summaries"], start=1)
49
  ]
50
  }
planning_ai/states.py CHANGED
@@ -1,11 +1,12 @@
1
-
2
  import operator
3
  from typing import Annotated, List, TypedDict
4
 
5
  from langchain_core.documents import Document
6
 
 
7
  class OverallState(TypedDict):
8
  contents: List[str]
 
9
  summaries: Annotated[list, operator.add]
10
  collapsed_summaries: List[Document]
11
  final_summary: str
@@ -13,4 +14,4 @@ class OverallState(TypedDict):
13
 
14
  class SummaryState(TypedDict):
15
  content: str
16
-
 
 
1
  import operator
2
  from typing import Annotated, List, TypedDict
3
 
4
  from langchain_core.documents import Document
5
 
6
+
7
  class OverallState(TypedDict):
8
  contents: List[str]
9
+ filenames: List[str]
10
  summaries: Annotated[list, operator.add]
11
  collapsed_summaries: List[Document]
12
  final_summary: str
 
14
 
15
  class SummaryState(TypedDict):
16
  content: str
17
+ filename: str