langchain_core.runnables.graph
.Graph¶
- class langchain_core.runnables.graph.Graph(nodes: ~typing.Dict[str, ~langchain_core.runnables.graph.Node] = <factory>, edges: ~typing.List[~langchain_core.runnables.graph.Edge] = <factory>)[source]¶
节点和边的图。
Attributes
nodes
edges
Methods
__init__
([nodes, edges])add_edge
(source, target[, data, conditional])向图中添加一条边并返回它。
add_node
(data[, id])向图中添加一个节点并返回它。
draw_mermaid
(*[, with_styles, curve_style, ...])draw_mermaid_png
(*[, curve_style, ...])draw_png
()extend
(graph, *[, prefix])将另一个图中的所有节点和边添加进来。 注意这不会检查重复项,也不会连接这两个图。
找到不是任何边的目标节点。 如果没有这样的节点,或者有多个,则返回None。 在绘制图形时,该节点将是起点。
找到不是任何边的源节点的单个节点。 如果没有这样的节点,或者有多个节点,则返回None。 在绘制图形时,该节点将是目的地。
next_id
()remove_node
(node)从图中删除一个节点以及与其相连的所有边。
to_json
(*[, with_schemas])将图形转换为可以序列化为JSON的格式。
如果存在且只有一个出边,则移除第一个节点,即移除它不会使图中没有“第一个”节点。
如果存在且只有一个入边,则删除最后一个节点,即删除它不会使图中没有“最后”节点。
- __init__(nodes: ~typing.Dict[str, ~langchain_core.runnables.graph.Node] = <factory>, edges: ~typing.List[~langchain_core.runnables.graph.Edge] = <factory>) None ¶
- add_edge(source: Node, target: Node, data: Optional[str] = None, conditional: bool = False) Edge [source]¶
向图中添加一条边并返回它。
- add_node(data: Union[Type[BaseModel], RunnableType], id: Optional[str] = None) Node [source]¶
向图中添加一个节点并返回它。
- draw_mermaid(*, with_styles: bool = True, curve_style: CurveStyle = CurveStyle.LINEAR, node_colors: NodeColors = NodeColors(start='#ffdfba', end='#baffc9', other='#fad7de'), wrap_label_n_words: int = 9) str [source]¶
- Parameters
with_styles (bool) –
curve_style (CurveStyle) –
node_colors (NodeColors) –
wrap_label_n_words (int) –
- Return type
str
- draw_mermaid_png(*, curve_style: CurveStyle = CurveStyle.LINEAR, node_colors: NodeColors = NodeColors(start='#ffdfba', end='#baffc9', other='#fad7de'), wrap_label_n_words: int = 9, output_file_path: Optional[str] = None, draw_method: MermaidDrawMethod = MermaidDrawMethod.API, background_color: str = 'white', padding: int = 10) bytes [source]¶
- Parameters
curve_style (CurveStyle) –
node_colors (NodeColors) –
wrap_label_n_words (int) –
output_file_path (Optional[str]) –
draw_method (MermaidDrawMethod) –
background_color (str) –
padding (int) –
- Return type
bytes
- draw_png(output_file_path: str, fontname: Optional[str] = None, labels: Optional[LabelsDict] = None) None [source]¶
- draw_png(output_file_path: None, fontname: Optional[str] = None, labels: Optional[LabelsDict] = None) bytes
- extend(graph: Graph, *, prefix: str = '') Tuple[Optional[Node], Optional[Node]] [source]¶
将另一个图中的所有节点和边添加进来。 注意这不会检查重复项,也不会连接这两个图。
- first_node() Optional[Node] [source]¶
找到不是任何边的目标节点。 如果没有这样的节点,或者有多个,则返回None。 在绘制图形时,该节点将是起点。
- Return type
Optional[Node]
- last_node() Optional[Node] [source]¶
找到不是任何边的源节点的单个节点。 如果没有这样的节点,或者有多个节点,则返回None。 在绘制图形时,该节点将是目的地。
- Return type
Optional[Node]
- remove_node(node: Node) None [source]¶
从图中删除一个节点以及与其相连的所有边。
- Parameters
node (Node) –
- Return type
None