lynxkite / examples /LynxScribe /ChatAPI /Demo.lynxkite.json
darabos's picture
ChatAPI and TaskSolver serving from LynxKite.
57f808e
{
"edges": [
{
"id": "MCP: Search web 1 output Agent 1 tools",
"source": "MCP: Search web 1",
"sourceHandle": "output",
"target": "Agent 1",
"targetHandle": "tools"
},
{
"id": "Agent 1 output Agent 2 tools",
"source": "Agent 1",
"sourceHandle": "output",
"target": "Agent 2",
"targetHandle": "tools"
},
{
"id": "Database 1 output MCP: Query database with SQL 2 db",
"source": "Database 1",
"sourceHandle": "output",
"target": "MCP: Query database with SQL 2",
"targetHandle": "db"
},
{
"id": "MCP: Query database with SQL 2 output Agent 1 tools",
"source": "MCP: Query database with SQL 2",
"sourceHandle": "output",
"target": "Agent 1",
"targetHandle": "tools"
},
{
"id": "Agent 3 output Agent 2 tools",
"source": "Agent 3",
"sourceHandle": "output",
"target": "Agent 2",
"targetHandle": "tools"
},
{
"id": "MCP: Calculator 1 output Agent 1 tools",
"source": "MCP: Calculator 1",
"sourceHandle": "output",
"target": "Agent 1",
"targetHandle": "tools"
},
{
"id": "Agent 2 output Chat frontend 1 agent",
"source": "Agent 2",
"sourceHandle": "output",
"target": "Chat frontend 1",
"targetHandle": "agent"
},
{
"id": "Ladder graph 1 output PageRank 1 G",
"source": "Ladder graph 1",
"sourceHandle": "output",
"target": "PageRank 1",
"targetHandle": "G"
},
{
"id": "PageRank 1 output Database 1 data_pipeline",
"source": "PageRank 1",
"sourceHandle": "output",
"target": "Database 1",
"targetHandle": "data_pipeline"
},
{
"id": "Karate club graph 1 output Common neighbor centrality 1 G",
"source": "Karate club graph 1",
"sourceHandle": "output",
"target": "Common neighbor centrality 1",
"targetHandle": "G"
},
{
"id": "Common neighbor centrality 1 output Database 1 data_pipeline",
"source": "Common neighbor centrality 1",
"sourceHandle": "output",
"target": "Database 1",
"targetHandle": "data_pipeline"
},
{
"id": "Import file 1 output SQL 1 bundle",
"source": "Import file 1",
"sourceHandle": "output",
"target": "SQL 1",
"targetHandle": "bundle"
},
{
"id": "SQL 1 output SQL 2 bundle",
"source": "SQL 1",
"sourceHandle": "output",
"target": "SQL 2",
"targetHandle": "bundle"
},
{
"id": "SQL 2 output Database 1 data_pipeline",
"source": "SQL 2",
"sourceHandle": "output",
"target": "Database 1",
"targetHandle": "data_pipeline"
},
{
"id": "MCP: Run ComfyUI workflow 1 output Agent 3 tools",
"source": "MCP: Run ComfyUI workflow 1",
"sourceHandle": "output",
"target": "Agent 3",
"targetHandle": "tools"
}
],
"env": "LynxKite Graph Analytics",
"nodes": [
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"Data Science"
],
"color": "orange",
"doc": null,
"id": "Data Science > Database",
"inputs": [
{
"name": "data_pipeline",
"position": "left",
"type": {
"type": "list[lynxkite_graph_analytics.core.Bundle]"
}
}
],
"name": "Database",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [],
"type": "basic"
},
"op_id": "Data Science > Database",
"params": {},
"status": "done",
"title": "Database"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "Database 1",
"position": {
"x": -175.8708861292469,
"y": 465.47762360072204
},
"type": "basic",
"width": 200.0
},
{
"data": {
"__execution_delay": 0.0,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [
"LynxScribe"
],
"color": "green",
"doc": null,
"id": "LynxScribe > MCP: Search web",
"inputs": [],
"name": "MCP: Search web",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": "Google",
"name": "engine",
"type": {
"enum": [
"Google",
"Bing",
"DuckDuckGo"
]
}
}
],
"type": "basic"
},
"op_id": "LynxScribe > MCP: Search web",
"params": {
"engine": "Google"
},
"status": "done",
"title": "MCP: Search web"
},
"dragHandle": ".drag-handle",
"height": 156.0,
"id": "MCP: Search web 1",
"position": {
"x": 183.63527583294598,
"y": 221.47335161357154
},
"type": "basic",
"width": 204.0
},
{
"data": {
"__execution_delay": 0.0,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"LynxScribe"
],
"color": "blue",
"doc": null,
"id": "LynxScribe > Agent",
"inputs": [
{
"name": "tools",
"position": "bottom",
"type": {
"type": "list[str]"
}
}
],
"name": "Agent",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": "",
"name": "purpose",
"type": {
"type": "<class 'str'>"
}
},
{
"default": "This agent help with various tasks.",
"name": "description",
"type": {
"format": "textarea"
}
},
{
"default": "You are a helpful assistant.",
"name": "system_prompt",
"type": {
"format": "textarea"
}
}
],
"type": "basic"
},
"op_id": "LynxScribe > Agent",
"params": {
"description": "This agent can help with data science\nand analytics questions.",
"purpose": "Data assistant",
"system_prompt": "Using the tools at your disposal answer\nall questions in JSON format."
},
"status": "done",
"title": "Agent"
},
"dragHandle": ".drag-handle",
"height": 351.0,
"id": "Agent 1",
"position": {
"x": -55.2832056082014,
"y": -263.46066732045733
},
"type": "basic",
"width": 337.0
},
{
"data": {
"__execution_delay": 0.0,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"LynxScribe"
],
"color": "blue",
"doc": null,
"id": "LynxScribe > Agent",
"inputs": [
{
"name": "tools",
"position": "bottom",
"type": {
"type": "list[str]"
}
}
],
"name": "Agent",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": "",
"name": "purpose",
"type": {
"type": "<class 'str'>"
}
},
{
"default": "This agent help with various tasks.",
"name": "description",
"type": {
"format": "textarea"
}
},
{
"default": "You are a helpful assistant.",
"name": "system_prompt",
"type": {
"format": "textarea"
}
}
],
"type": "basic"
},
"op_id": "LynxScribe > Agent",
"params": {
"description": "",
"purpose": "Main conversation",
"system_prompt": "You are a helpful assistant. Use the agents at your disposal\nto help the user."
},
"status": "done",
"title": "Agent"
},
"dragHandle": ".drag-handle",
"height": 326.0,
"id": "Agent 2",
"position": {
"x": 226.41731551276598,
"y": -695.7509243963451
},
"type": "basic",
"width": 457.0
},
{
"data": {
"__execution_delay": 0.0,
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [
"NetworkX",
"Generators",
"Classic"
],
"color": "orange",
"doc": null,
"id": "NetworkX > Generators > Classic > Ladder graph",
"inputs": [],
"name": "Ladder graph",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"params": [
{
"default": null,
"name": "n",
"type": {
"type": "<class 'int'>"
}
}
],
"type": "basic"
},
"op_id": "NetworkX > Generators > Classic > Ladder graph",
"params": {
"n": "11"
},
"status": "done",
"title": "Ladder graph"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "Ladder graph 1",
"position": {
"x": -1297.4471345569843,
"y": 364.99969784589774
},
"type": "basic",
"width": 200.0
},
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"LynxScribe"
],
"color": "green",
"doc": null,
"id": "LynxScribe > MCP: Query database with SQL",
"inputs": [
{
"name": "db",
"position": "bottom",
"type": {
"type": "<class 'str'>"
}
}
],
"name": "MCP: Query database with SQL",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [],
"type": "basic"
},
"op_id": "LynxScribe > MCP: Query database with SQL",
"params": {},
"status": "done",
"title": "MCP: Query database with SQL"
},
"dragHandle": ".drag-handle",
"height": 152.0,
"id": "MCP: Query database with SQL 2",
"position": {
"x": -248.451978071668,
"y": 231.5655840074671
},
"type": "basic",
"width": 334.0
},
{
"data": {
"__execution_delay": 0.0,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"LynxScribe"
],
"color": "blue",
"doc": null,
"id": "LynxScribe > Agent",
"inputs": [
{
"name": "tools",
"position": "bottom",
"type": {
"type": "list[str]"
}
}
],
"name": "Agent",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": "",
"name": "purpose",
"type": {
"type": "<class 'str'>"
}
},
{
"default": "This agent help with various tasks.",
"name": "description",
"type": {
"format": "textarea"
}
},
{
"default": "You are a helpful assistant.",
"name": "system_prompt",
"type": {
"format": "textarea"
}
}
],
"type": "basic"
},
"op_id": "LynxScribe > Agent",
"params": {
"description": "This agent can help with\nimage generation tasks.",
"purpose": "Generate image",
"system_prompt": "Formulate a good image generation prompt\nand use the ComfyUI tool to generate\nan image according to the user's wishes."
},
"status": "done",
"title": "Agent"
},
"dragHandle": ".drag-handle",
"height": 392.0,
"id": "Agent 3",
"position": {
"x": 511.2723643375159,
"y": -276.6461006767206
},
"type": "basic",
"width": 368.0
},
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [
"LynxScribe"
],
"color": "green",
"doc": null,
"id": "LynxScribe > MCP: Calculator",
"inputs": [],
"name": "MCP: Calculator",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [],
"type": "basic"
},
"op_id": "LynxScribe > MCP: Calculator",
"params": {},
"status": "done",
"title": "MCP: Calculator"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "MCP: Calculator 1",
"position": {
"x": -527.6679408294542,
"y": 240.503939070944
},
"type": "basic",
"width": 200.0
},
{
"data": {
"collapsed": false,
"display": {
"dataframes": {
"service": {
"columns": [
"url"
],
"data": [
[
"/api/service/lynxkite_graph_analytics/LynxScribe MCP/Demo.lynxkite.json/Chat frontend 1"
]
]
}
}
},
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"LynxScribe"
],
"color": "gray",
"doc": null,
"id": "LynxScribe > Chat frontend",
"inputs": [
{
"name": "agent",
"position": "bottom",
"type": {
"type": "<class 'str'>"
}
}
],
"name": "Chat frontend",
"outputs": [],
"params": [],
"type": "service"
},
"op_id": "LynxScribe > Chat frontend",
"params": {},
"status": "done",
"title": "Chat frontend"
},
"dragHandle": ".drag-handle",
"height": 362.0,
"id": "Chat frontend 1",
"position": {
"x": 237.184571561771,
"y": -1107.6739000139528
},
"type": "service",
"width": 428.0
},
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"NetworkX",
"Algorithms",
"Link analysis",
"PageRank alg"
],
"color": "orange",
"doc": null,
"id": "NetworkX > Algorithms > Link analysis > PageRank alg > PageRank",
"inputs": [
{
"name": "G",
"position": "left",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"name": "PageRank",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"params": [
{
"default": "0.85",
"name": "alpha",
"type": {
"type": "float | None"
}
},
{
"default": "100",
"name": "max_iter",
"type": {
"type": "int | None"
}
},
{
"default": "1e-06",
"name": "tol",
"type": {
"type": "float | None"
}
},
{
"default": "weight",
"name": "weight",
"type": {
"type": "str | None"
}
}
],
"type": "basic"
},
"op_id": "NetworkX > Algorithms > Link analysis > PageRank alg > PageRank",
"params": {
"alpha": "0.85",
"max_iter": "100",
"tol": "1e-06",
"weight": "weight"
},
"status": "done",
"title": "PageRank"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "PageRank 1",
"position": {
"x": -878.5796659405156,
"y": 369.96445264090244
},
"type": "basic",
"width": 200.0
},
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [
"NetworkX",
"Generators",
"Social"
],
"color": "orange",
"doc": null,
"id": "NetworkX > Generators > Social > Karate club graph",
"inputs": [],
"name": "Karate club graph",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"params": [],
"type": "basic"
},
"op_id": "NetworkX > Generators > Social > Karate club graph",
"params": {},
"status": "done",
"title": "Karate club graph"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "Karate club graph 1",
"position": {
"x": -1304.6391517192224,
"y": 585.0242219568652
},
"type": "basic",
"width": 200.0
},
{
"data": {
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{}
],
"meta": {
"categories": [
"NetworkX",
"Algorithms",
"Link prediction"
],
"color": "orange",
"doc": null,
"id": "NetworkX > Algorithms > Link prediction > Common neighbor centrality",
"inputs": [
{
"name": "G",
"position": "left",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"name": "Common neighbor centrality",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "<class 'networkx.classes.graph.Graph'>"
}
}
],
"params": [],
"type": "basic"
},
"op_id": "NetworkX > Algorithms > Link prediction > Common neighbor centrality",
"params": {},
"status": "done",
"title": "Common neighbor centrality"
},
"dragHandle": ".drag-handle",
"height": 130.0,
"id": "Common neighbor centrality 1",
"position": {
"x": -990.2453153930347,
"y": 587.3192401780905
},
"type": "basic",
"width": 341.0
},
{
"data": {
"__execution_delay": 0.0,
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [],
"color": "orange",
"doc": [
{
"kind": "text",
"value": "Read the contents of the a file into a `Bundle`."
},
{
"kind": "parameters",
"value": [
{
"annotation": "str",
"description": "Path to the file to import.",
"name": "file_path"
},
{
"annotation": "str",
"description": "Name to use for identifying the table in the bundle.",
"name": "table_name"
},
{
"annotation": "FileFormat",
"description": "Format of the file. Has to be one of the values in the `FileFormat` enum.",
"name": "file_format"
}
]
},
{
"kind": "returns",
"value": [
{
"annotation": "<class 'lynxkite_graph_analytics.core.Bundle'>",
"description": "Bundle with a single table with the contents of the file.",
"name": "Bundle"
}
]
}
],
"id": "Import file",
"inputs": [],
"name": "Import file",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": null,
"name": "file_path",
"type": {
"type": "<class 'str'>"
}
},
{
"default": null,
"name": "table_name",
"type": {
"type": "<class 'str'>"
}
},
{
"default": "csv",
"name": "file_format",
"type": {
"enum": [
"csv",
"parquet",
"json",
"excel"
]
}
},
{
"default": "csv",
"groups": {
"csv": [
{
"default": "<from file>",
"name": "columns",
"type": {
"type": "<class 'str'>"
}
},
{
"default": "<auto>",
"name": "separator",
"type": {
"type": "<class 'str'>"
}
}
],
"excel": [
{
"default": "Sheet1",
"name": "sheet_name",
"type": {
"type": "<class 'str'>"
}
}
],
"json": [],
"parquet": []
},
"name": "file_format_group",
"selector": {
"default": "csv",
"name": "file_format",
"type": {
"enum": [
"csv",
"parquet",
"json",
"excel"
]
}
},
"type": "group"
}
],
"type": "basic"
},
"op_id": "Import file",
"params": {
"file_format": "csv",
"file_format_group": "csv",
"file_path": "uploads/molecules2.csv",
"table_name": "molecules"
},
"status": "done",
"title": "Import file"
},
"dragHandle": ".drag-handle",
"height": 393.0,
"id": "Import file 1",
"position": {
"x": -1411.4491034838866,
"y": 772.1675932822765
},
"type": "basic",
"width": 369.0
},
{
"data": {
"__execution_delay": 0.0,
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{
"dataframes": {
"molecules": {
"columns": [
"name",
"smiles"
],
"key": "molecules"
}
},
"other": {},
"relations": []
}
],
"meta": {
"categories": [],
"color": "orange",
"doc": [
{
"kind": "text",
"value": "Run a SQL query on the DataFrames in the bundle. Save the results as a new DataFrame."
}
],
"id": "SQL",
"inputs": [
{
"name": "bundle",
"position": "left",
"type": {
"type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
}
}
],
"name": "SQL",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": null,
"name": "query",
"type": {
"format": "textarea"
}
},
{
"default": "result",
"name": "save_as",
"type": {
"type": "<class 'str'>"
}
}
],
"type": "basic"
},
"op_id": "SQL",
"params": {
"query": "select *",
"save_as": "result"
},
"status": "done",
"title": "SQL"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "SQL 1",
"position": {
"x": -931.2061769202694,
"y": 766.0054007337461
},
"type": "basic",
"width": 200.0
},
{
"data": {
"__execution_delay": 0.0,
"collapsed": true,
"display": null,
"error": null,
"input_metadata": [
{
"dataframes": {
"molecules": {
"columns": [
"name",
"smiles"
],
"key": "molecules"
},
"result": {
"columns": [],
"key": "result"
}
},
"other": {},
"relations": []
}
],
"meta": {
"categories": [],
"color": "orange",
"doc": [
{
"kind": "text",
"value": "Run a SQL query on the DataFrames in the bundle. Save the results as a new DataFrame."
}
],
"id": "SQL",
"inputs": [
{
"name": "bundle",
"position": "left",
"type": {
"type": "<class 'lynxkite_graph_analytics.core.Bundle'>"
}
}
],
"name": "SQL",
"outputs": [
{
"name": "output",
"position": "right",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": null,
"name": "query",
"type": {
"format": "textarea"
}
},
{
"default": "result",
"name": "save_as",
"type": {
"type": "<class 'str'>"
}
}
],
"type": "basic"
},
"op_id": "SQL",
"params": {
"query": "select *",
"save_as": "result"
},
"status": "done",
"title": "SQL"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "SQL 2",
"position": {
"x": -633.7783633982368,
"y": 767.4541281209835
},
"type": "basic",
"width": 200.0
},
{
"data": {
"__execution_delay": 0.0,
"display": null,
"error": null,
"input_metadata": [],
"meta": {
"categories": [
"LynxScribe"
],
"color": "green",
"doc": null,
"id": "LynxScribe > MCP: Run ComfyUI workflow",
"inputs": [],
"name": "MCP: Run ComfyUI workflow",
"outputs": [
{
"name": "output",
"position": "top",
"type": {
"type": "None"
}
}
],
"params": [
{
"default": null,
"name": "workflow_name",
"type": {
"type": "<class 'str'>"
}
}
],
"type": "basic"
},
"op_id": "LynxScribe > MCP: Run ComfyUI workflow",
"params": {
"workflow_name": "SDXL"
},
"status": "done",
"title": "MCP: Run ComfyUI workflow"
},
"dragHandle": ".drag-handle",
"height": 200.0,
"id": "MCP: Run ComfyUI workflow 1",
"position": {
"x": 598.9560131686237,
"y": 218.52928063566645
},
"type": "basic",
"width": 200.0
}
],
"paused": false
}