{"id":18498402,"url":"https://github.com/phaniteja5789/orchestrated-multi-agent-system-for-automated-data-processing-and-visualization","last_synced_at":"2026-02-23T07:03:18.999Z","repository":{"id":253659546,"uuid":"844150720","full_name":"phaniteja5789/Orchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization","owner":"phaniteja5789","description":null,"archived":false,"fork":false,"pushed_at":"2024-08-18T15:40:07.000Z","size":101,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-18T16:39:07.497Z","etag":null,"topics":["langchain","langgraph","openai","postgresql","psycopg2","python","requests"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/phaniteja5789.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-18T14:38:20.000Z","updated_at":"2024-08-20T18:56:02.000Z","dependencies_parsed_at":"2024-08-20T22:17:11.358Z","dependency_job_id":null,"html_url":"https://github.com/phaniteja5789/Orchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization","commit_stats":null,"previous_names":["phaniteja5789/multiagentsystem_langgraph","phaniteja5789/orchestrated-multi-agent-system-for-automated-data-processing-and-visualization"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaniteja5789%2FOrchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaniteja5789%2FOrchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaniteja5789%2FOrchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/phaniteja5789%2FOrchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/phaniteja5789","download_url":"https://codeload.github.com/phaniteja5789/Orchestrated-Multi-Agent-System-for-Automated-Data-Processing-and-Visualization/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247949855,"owners_count":21023405,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["langchain","langgraph","openai","postgresql","psycopg2","python","requests"],"created_at":"2024-11-06T13:39:37.547Z","updated_at":"2025-10-25T11:42:10.619Z","avatar_url":"https://github.com/phaniteja5789.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MultiAgentSystem_LangGraph\n\nThis Repository contains the code for the functionality of Multi Agent System using LangGraph as a framework.\n\nI have created 3 Agents and a SuperVisor Agent\n\n  1.) Extractor\n  2.) Analyzer\n  3.) Visualizer\n\nSupervisor Agent connects to Extractor,Analyzer and Visualizer Agents, This Supervisor Agents is responsible which Agents to act next based on the State of the Workflow\n\nExtractor Agent ==\u003e This Agent is responsible for extracting the details from the URL.\n                    The details are extracted from this URL (https://randomuser.me/api)\n                    The extracted details will be present in JSON format. From the details, I am extracting necessary information like Name,Country,Gender etc.\n                    Once the necessary details has been extracted, I have created a Tool(RequestAndInsertionTool.py) which inserts the details into the Postgres Database \"Person\" Table.\n                    Once the details has been inserted into the Postgres Table using Psycopg2 module, the result code information will be sent to the Supervisor\n\nAnalyzer Agent ==\u003e This Agent is responsible for generating a SQL Query and Analyzing the query and execute the SQL Query\n                   It uses the existing SQLDatabase Toolkit from the Langchain in order to execute the Query\n                   I have created a workflow in QueryGenerator.py which has 2 Nodes (Query_Gen_Node, invoke_tool) and added the edges.\n                   The Query_Gen_Node ==\u003e This Node is used to generate the SQL Query\n                   Invoke_tool ==\u003e This tool will use tool_calls and execute the SQL Query generated and return the result.\n                   I have used a state called SQLState which tracks the messages between the nodes of the workflow of SQLAgent Workflow which is called as Analyzer Agent\n\nVisualizer Agent ==\u003e This Agent is resposible for generating a Matplotlib Graph based on the result\n                     It uses PythonREPL Tool, which is used to generate the code and generate the MatplotLib Chart\n\n\nSupervisor Agent ==\u003e A static System Prompt is used which has members (Extractor, Analyzer,Visualizer) and it also uses the NEXT in order to choose which Agent needs to be invoked based on the Input Text\n                     It uses the tool calling which has function \"Route\" which determines which Agent to invoke.\n                     Creation_Of_Supervisor_Chain ==\u003e which is used to create a chain which has System Prompt and a LLM which bind the tools and return the Chain.                     \n                     \n\n\nSourceCode.py ==\u003e This is the entry point for the execution of the multi agent\nIn SourceCode.py, I have created a workflow where it is responsible for creation of nodes and creation of agents\n\nIn Agent_Creation.py ==\u003e This class is responsible for creating the Agent, which takes the arguments as LLM,tools,system_prompt\n                        LLM ==\u003e It is responsible for using any LLM Model\n                        tools ==\u003e LLM will use the list of tools that Agent needs to use \n                        System_Prompt ==\u003e Each Agent is responsible for doing a Specific task with a set of tools and the LLM.\n\nIn Node_Creation.py ==\u003e This class is responsible for creating the Node which takes the arguments AgentState,Agent and the Name of the Agent\n                        AgentState ==\u003e This is used to keep track of the messages that the agents keep tracks\n                        Agent ==\u003e Agents that we created earlier, the Node_Creation.py is mainly used to invoke the Agent which implements the Runnable Interface\n                        Name ==\u003e Name of the Agent(Eg: Extractor,Analyzer and Visualizer etc)\n\nThe Entire workflow will be created in the SourceCode.py, with the Extractor,Analyzer and Visualizer Nodes which invokes based on the Supervisor Request\n\nSupervisor will use Tool Calling, in order to decide which Agent to execute next.\n\nBased on the Next, the request will be sent to the Node and the Node will invoke the Agent based on the Agent State Messages which is used to track the messages in between the Nodes present in the Workflow.\n\nThe Workflow is as below graph,\n\n\n![output](https://github.com/user-attachments/assets/d0d544c6-6d15-49b4-ae5f-7f2ffde2c66e)\n\nOnce the entire request has been processed, the Supervisor will send the messages as \"FINISH\" which stops the execution.\n\n\nFrameworks used ==\u003e LangChain, LangGraph\nLLMs used ==\u003e OpenAI\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphaniteja5789%2Forchestrated-multi-agent-system-for-automated-data-processing-and-visualization","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphaniteja5789%2Forchestrated-multi-agent-system-for-automated-data-processing-and-visualization","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphaniteja5789%2Forchestrated-multi-agent-system-for-automated-data-processing-and-visualization/lists"}