{
  "name": "KnowledgeIndexing",
  "node_trigger_mode": "AnyPredecessor",
  "input_type": {
    "title": "document.Source",
    "description": "github.com/cloudwego/eino/components/document"
  },
  "output_type": {
    "title": "[]string"
  },
  "gen_local_state": {
    "output_type": {}
  },
  "id": "A0HIpo",
  "component": "Graph",
  "nodes": [
    {
      "id": "start",
      "key": "start",
      "name": "Start",
      "type": "start",
      "layoutData": {
        "position": {
          "x": 80,
          "y": 86
        }
      }
    },
    {
      "id": "end",
      "key": "end",
      "name": "End",
      "type": "end",
      "layoutData": {
        "position": {
          "x": 1365,
          "y": 0
        }
      }
    },
    {
      "id": "VC7vv4",
      "key": "FileLoader",
      "name": "",
      "type": "Loader",
      "component_schema": {
        "name": "file",
        "component": "Loader",
        "component_source": "official",
        "identifier": "github.com/cloudwego/eino-ext/components/document/loader/file",
        "input_type": {
          "title": "document.Source",
          "description": ""
        },
        "output_type": {
          "title": "[]*schema.Document",
          "description": ""
        },
        "config": {
          "description": "github.com/cloudwego/eino-ext/blob/main/components/document/loader/file/file_loader.go",
          "schema": {
            "type": "object",
            "description": "",
            "properties": {
              "UseNameAsID": {
                "type": "boolean",
                "description": "",
                "goDefinition": {
                  "libraryRef": {
                    "version": "",
                    "module": "",
                    "pkgPath": ""
                  },
                  "typeName": "bool",
                  "kind": "bool",
                  "isPtr": false
                }
              }
            },
            "propertyOrder": [
              "UseNameAsID"
            ],
            "goDefinition": {
              "libraryRef": {
                "version": "",
                "module": "",
                "pkgPath": ""
              },
              "typeName": "file.FileLoaderConfig",
              "kind": "struct",
              "isPtr": false
            }
          },
          "config_input": "{}"
        },
        "is_io_type_mutable": false,
        "version": "1.0.0"
      },
      "node_option": {},
      "layoutData": {
        "position": {
          "x": 367,
          "y": 42
        }
      }
    },
    {
      "id": "wyJ5GC",
      "key": "MarkdownSplitter",
      "name": "",
      "type": "DocumentTransformer",
      "component_schema": {
        "name": "markdown",
        "component": "DocumentTransformer",
        "component_source": "official",
        "identifier": "github.com/cloudwego/eino-ext/components/document/transformer/splitter/markdown",
        "input_type": {
          "title": "[]*schema.Document",
          "description": ""
        },
        "output_type": {
          "title": "[]*schema.Document",
          "description": ""
        },
        "config": {
          "description": "github.com/cloudwego/eino-ext/blob/main/components/document/transformer/splitter/markdown/header.go",
          "schema": {
            "type": "object",
            "description": "",
            "properties": {
              "Headers": {
                "type": "object",
                "description": "",
                "additionalProperties": {
                  "type": "string",
                  "description": "",
                  "goDefinition": {
                    "libraryRef": {
                      "version": "",
                      "module": "",
                      "pkgPath": ""
                    },
                    "typeName": "string",
                    "kind": "string",
                    "isPtr": false
                  }
                },
                "goDefinition": {
                  "libraryRef": {
                    "version": "",
                    "module": "",
                    "pkgPath": ""
                  },
                  "typeName": "map[string]string",
                  "kind": "map",
                  "isPtr": false
                }
              },
              "TrimHeaders": {
                "type": "boolean",
                "description": "",
                "goDefinition": {
                  "libraryRef": {
                    "version": "",
                    "module": "",
                    "pkgPath": ""
                  },
                  "typeName": "bool",
                  "kind": "bool",
                  "isPtr": false
                }
              }
            },
            "propertyOrder": [
              "Headers",
              "TrimHeaders"
            ],
            "goDefinition": {
              "libraryRef": {
                "version": "",
                "module": "",
                "pkgPath": ""
              },
              "typeName": "markdown.HeaderConfig",
              "kind": "struct",
              "isPtr": false
            }
          },
          "config_input": "{}"
        },
        "is_io_type_mutable": false,
        "version": "1.0.0"
      },
      "node_option": {},
      "layoutData": {
        "position": {
          "x": 697,
          "y": 41
        }
      }
    },
    {
      "id": "rcJ7mn",
      "key": "RedisIndexer",
      "name": "",
      "type": "Indexer",
      "component_schema": {
        "name": "redis",
        "component": "Indexer",
        "component_source": "official",
        "identifier": "github.com/cloudwego/eino-ext/components/indexer/redis",
        "input_type": {
          "title": "[]*schema.Document",
          "description": ""
        },
        "output_type": {
          "title": "[]string",
          "description": ""
        },
        "slots": [
          {
            "component": "Embedding",
            "field_loc_path": "Embedding",
            "multiple": false,
            "required": false,
            "component_items": [
              {
                "name": "ark",
                "component": "Embedding",
                "component_source": "official",
                "identifier": "github.com/cloudwego/eino-ext/components/embedding/ark",
                "input_type": {
                  "title": "[]string",
                  "description": ""
                },
                "output_type": {
                  "title": "[][]float64",
                  "description": ""
                },
                "config": {
                  "description": "github.com/cloudwego/eino-ext/blob/main/components/embedding/ark/embedding.go",
                  "schema": {
                    "type": "object",
                    "description": "",
                    "properties": {
                      "APIKey": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "AccessKey": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "BaseURL": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "Model": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "Region": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "RetryTimes": {
                        "type": "number",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "int",
                          "kind": "int",
                          "isPtr": true
                        }
                      },
                      "SecretKey": {
                        "type": "string",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "",
                            "pkgPath": ""
                          },
                          "typeName": "string",
                          "kind": "string",
                          "isPtr": false
                        }
                      },
                      "Timeout": {
                        "type": "number",
                        "description": "",
                        "goDefinition": {
                          "libraryRef": {
                            "version": "",
                            "module": "time",
                            "pkgPath": "time"
                          },
                          "typeName": "time.Duration",
                          "kind": "int64",
                          "isPtr": true
                        }
                      }
                    },
                    "propertyOrder": [
                      "BaseURL",
                      "Region",
                      "Timeout",
                      "RetryTimes",
                      "APIKey",
                      "AccessKey",
                      "SecretKey",
                      "Model"
                    ],
                    "goDefinition": {
                      "libraryRef": {
                        "version": "",
                        "module": "",
                        "pkgPath": ""
                      },
                      "typeName": "ark.EmbeddingConfig",
                      "kind": "struct",
                      "isPtr": false
                    }
                  },
                  "config_input": ""
                },
                "is_io_type_mutable": false,
                "version": "1.0.0",
                "id": "fxAVaQ",
                "layoutData": {
                  "isSlotNode": true,
                  "position": {
                    "x": 1384,
                    "y": 133
                  }
                }
              }
            ],
            "go_definition": {
              "libraryRef": {
                "version": "v0.3.6",
                "module": "github.com/cloudwego/eino",
                "pkgPath": "github.com/cloudwego/eino/components/embedding"
              },
              "typeName": "embedding.Embedder",
              "kind": "interface",
              "isPtr": false
            }
          }
        ],
        "config": {
          "description": "github.com/cloudwego/eino-ext/blob/main/components/indexer/redis/indexer.go",
          "schema": {
            "type": "object",
            "description": "",
            "properties": {
              "BatchSize": {
                "type": "number",
                "description": "",
                "goDefinition": {
                  "libraryRef": {
                    "version": "",
                    "module": "",
                    "pkgPath": ""
                  },
                  "typeName": "int",
                  "kind": "int",
                  "isPtr": false
                }
              },
              "KeyPrefix": {
                "type": "string",
                "description": "",
                "goDefinition": {
                  "libraryRef": {
                    "version": "",
                    "module": "",
                    "pkgPath": ""
                  },
                  "typeName": "string",
                  "kind": "string",
                  "isPtr": false
                }
              }
            },
            "propertyOrder": [
              "KeyPrefix",
              "BatchSize"
            ],
            "goDefinition": {
              "libraryRef": {
                "version": "",
                "module": "",
                "pkgPath": ""
              },
              "typeName": "redis.IndexerConfig",
              "kind": "struct",
              "isPtr": false
            }
          },
          "config_input": "{}"
        },
        "is_io_type_mutable": false,
        "version": "1.0.0"
      },
      "node_option": {},
      "layoutData": {
        "position": {
          "x": 1047,
          "y": 25
        }
      }
    }
  ],
  "edges": [
    {
      "id": "",
      "name": "",
      "sourceWorkflowNodeId": "start",
      "targetWorkflowNodeId": "VC7vv4",
      "source_node_key": "start",
      "target_node_key": "FileLoader"
    },
    {
      "id": "",
      "name": "",
      "sourceWorkflowNodeId": "rcJ7mn",
      "targetWorkflowNodeId": "end",
      "source_node_key": "RedisIndexer",
      "target_node_key": "end"
    },
    {
      "id": "",
      "name": "",
      "sourceWorkflowNodeId": "VC7vv4",
      "targetWorkflowNodeId": "wyJ5GC",
      "source_node_key": "FileLoader",
      "target_node_key": "MarkdownSplitter"
    },
    {
      "id": "",
      "name": "",
      "sourceWorkflowNodeId": "wyJ5GC",
      "targetWorkflowNodeId": "rcJ7mn",
      "source_node_key": "MarkdownSplitter",
      "target_node_key": "RedisIndexer"
    }
  ],
  "branches": [],
  "nodeCounter": {
    "default": 3,
    "Loader": 3,
    "DocumentTransformer": 2,
    "Lambda": 2,
    "Indexer": 2
  }
}