{"id":21495235,"url":"https://github.com/zhiguoxu/flowx","last_synced_at":"2025-07-15T19:31:51.639Z","repository":{"id":245461973,"uuid":"818273557","full_name":"zhiguoxu/flowx","owner":"zhiguoxu","description":"A lightweight framework for building LLM applications, with similar interface as LangChain, but more concise internal implementation.","archived":false,"fork":false,"pushed_at":"2024-11-22T12:25:13.000Z","size":1603,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-11-22T13:25:49.250Z","etag":null,"topics":["agents","ai","framework","langchain","llamaindex","llm"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zhiguoxu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-06-21T13:28:34.000Z","updated_at":"2024-11-22T12:28:11.000Z","dependencies_parsed_at":"2024-11-22T13:34:10.005Z","dependency_job_id":null,"html_url":"https://github.com/zhiguoxu/flowx","commit_stats":null,"previous_names":["zhiguoxu/auto_flow","zhiguoxu/llmflow"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhiguoxu%2Fflowx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhiguoxu%2Fflowx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhiguoxu%2Fflowx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zhiguoxu%2Fflowx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zhiguoxu","download_url":"https://codeload.github.com/zhiguoxu/flowx/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":226064569,"owners_count":17568035,"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":["agents","ai","framework","langchain","llamaindex","llm"],"created_at":"2024-11-23T16:10:04.379Z","updated_at":"2024-11-23T16:10:05.216Z","avatar_url":"https://github.com/zhiguoxu.png","language":"Python","readme":"English | [简体中文](README_zh-CN.md) | [日本語](README_ja-JP.md)\n\n\n# FlowX\n\n\n\n## What's FlowX?\n\n**FlowX** is a lightweight framework for building LLM applications. It offers an API interface similar to LangChain's\nLCEL, but with a more straightforward and simple internal implementation. Users familiar with LangChain can quickly get\nstarted with FlowX and extend or modify it as needed.\n\nFor example, FlowX implements the core functionality of LangChain's AgentExecutor\nwithin 400 lines of [code](https://github.com/zhiguoxu/FlowX/blob/main/core/agents/agent.py). This is\nparticularly beneficial for users who want to understand the underlying implementation of agents and make further\noptimizations.\n\nFlowX is also very easy to use, as demonstrated by the following example of an Agent:\n\n```python\nfrom auto_flow.core.tool import tool\nfrom auto_flow.core.llm.openai.openai_llm import OpenAILLM\nfrom auto_flow.core.agents.agent import Agent\n\nllm = OpenAILLM(model=\"gpt-4o\")\n\n\n@tool\ndef multiply(left: int, right: int) -\u003e int:\n    \"\"\"multiply\"\"\"\n    return left * right\n\n\nagent = Agent(llm=llm, tools=[multiply])\nagent.invoke(\"what is 1024*2024?\")\n```\n\n## Why do we need FlowX?\n\n\nAlthough LangChain provides a powerful framework for building LLM applications, its complex design also brings several\nissues with deeper use.\n\nLangChain's extensive use of abstraction results in highly complex code, making it difficult to understand and maintain.\nWhile it initially simplifies the development process, as the complexity of requirements increases, these abstractions\ngradually become obstacles to productivity. Additionally, these abstractions increase the learning and debugging burden,\nforcing development teams to spend significant time dealing with internal framework code rather than focusing on\napplication functionality.\n\nEspecially in today's rapidly evolving AI and LLM landscape, where new concepts and methods emerge weekly, a framework\nthat is easy to understand and iterate on quickly is crucial!\n\nTo address these issues, FlowX adopts a more concise design with more refined code implementation, balancing\nabstraction and simplicity by the use of necessary abstractions without being overly complex. Ultimately, FlowX\nprovides the same functionality and similar interfaces as LangChain but with significantly reduced code and fewer\nabstract concepts. This makes it easy to understand and modify FlowX, allowing for quick experimentation or customized\ndevelopment.\n\nThe project is still under development, with more features to be added. Your valuable feedback is welcome!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhiguoxu%2Fflowx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzhiguoxu%2Fflowx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzhiguoxu%2Fflowx/lists"}