BISHENG: an open LLM devops platform for enterprise workflows, RAG and agents
BISHENG is an open LLM devops platform for next generation Enterprise AI applications. Powerful and comprehensive features include: GenAI workflow, RAG, Agent, Unified model management, Evaluation, SFT, Dataset Management, Enterprise-level System Management, Observability and more.
At a glance
- What is it?
- BISHENG (dataelement/bisheng) is a Python, Apache-2.0 licensed LLM application platform aimed at enterprise scenarios. It ships a workflow engine with human-in-the-loop steps, RAG, agents, model management and document parsing, and installs through Docker Compose on port 3001.
- Who is it for?
- BISHENG suits teams that need a self-hosted LLM application platform with a workflow engine that supports human intervention mid-run, plus RAG and document parsing in the same install. It is the wrong choice for a single-purpose chatbot on a small VM, since the documented minimum is 4 virtual cores and 16 GB RAM, with 18 cores and 48 GB recommended once Elasticsearch, Milvus and Onlyoffice are included.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 2 days ago.
- What is it written in?
- Mainly Python, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 28, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What BISHENG solves for enterprise LLM teams
BISHENG is an open LLM application devops platform, and the README states it focuses on enterprise scenarios. The project targets teams that have to ship more than one LLM feature: document review, fixed-layout report generation, multi-agent collaboration, policy update comparison, support ticket assistance, meeting minutes generation, resume screening, call record analysis and unstructured data governance are all named as intended workloads. That list is the clearest statement of scope. This is not a chat UI with a model picker. It is a platform where application orchestration, retrieval, model management, evaluation, SFT, dataset management and system administration are expected to live together.
The problem it addresses is the gap between a demo and something an IT department will run. A prototype chains a prompt to a vector store and stops there. Production adds permissions, traffic control per user group, SSO or LDAP, monitoring and statistics, and a way for a reviewer to correct the system while it is running. BISHENG bundles those concerns rather than leaving each team to assemble them. The README also points to a community repository of application cases and best practices, which suggests the project expects adoption to be driven by copying existing enterprise patterns rather than starting from a blank canvas.
Who it is for follows from that. Platform engineers and integration teams inside larger organisations, especially those that need private deployment. The document parsing models can be deployed privately, which matters when documents cannot leave the network. Teams building a single internal FAQ bot will find the surface area larger than the problem.
The workflow engine, AGL agents and the rest of the architecture
The most distinctive part is the BISHENG Workflow. The README describes it as an independent and comprehensive application orchestration framework that executes various tasks inside one framework, and it contrasts this with similar products that it says rely on bot invocation or split chatflow and workflow modules. The claim worth examining is human in the loop: users can intervene and give feedback during execution, including in multi-turn conversations, where the README says comparable products only run a workflow from start to finish.
The control flow primitives are loops, parallelism, batch processing and conditional logic, and they compose. The README says these are expressed visually as a flowchart, so drawing a loop forms a loop, aligning elements creates parallelism, and selecting multiple items enables batch processing. That is a real design decision with a cost: it makes the authoring surface feel like a diagram editor rather than a form, which is faster for people who think in flows and slower for people who want a list of steps.
Lingsight is the second mechanism. It is described as a general-purpose agent with expert-level taste, built on the AGL (Agent Guidance Language) framework, which the README says embeds domain experts' preferences, experience and business logic into the AI. AGL lives in a separate repository, dataelement/AgentGuidanceLanguage, so the agent layer is not entirely contained in this codebase. Around these sit RAG, unified model management, evaluation, SFT, dataset management, observability and enterprise system management. The repository layout is consistent with that breadth: src/, docker/, docs/, features/, scripts/ and tools/ at the top level, with .drone.yml and a .github/ directory for CI.
The README's acknowledgement section names langchain, langflow, unstructured and LLaMA-Factory as projects this repository benefits from, which places the retrieval and fine-tuning pieces in well-known territory. The parts that are not borrowed are the orchestration model and the document parsing models, which the README says were trained on data accumulated over five years and cover printed text, handwritten text, rare characters, tables, layout analysis and seals.
Installing BISHENG with Docker Compose and registering the first admin
The README gives prerequisites before installation: CPU of at least 4 virtual cores, RAM of at least 16 GB, Docker 19.03.9 or newer, and Docker Compose 1.25.1 or newer. It then recommends 18 virtual cores and 48 GB, explaining that Elasticsearch, Milvus and Onlyoffice are installed by default alongside BISHENG. Treat the recommended figure as the realistic one, because the three third-party components are not optional in the default compose file.
The first step is to get the code and enter the docker directory, which is where the compose file lives. The README gives both a git route and a zip route for machines without the git command.
git clone https://github.com/dataelement/bisheng.git
# Enter the installation directory
cd bisheng/docker
# If the system does not have the git command, you can download the BISHENG code as a zip file.
wget https://github.com/dataelement/bisheng/archive/refs/heads/main.zip
# Unzip and enter the installation directory
unzip main.zip && cd bisheng-main/dockerWith the code in place, start the stack. The README uses a named compose project, bisheng, and detached mode.
docker compose -f docker-compose.yml -p bisheng up -dAfter the startup completes, the README says to open http://IP:3001 in a browser, where the login page appears and you proceed with user registration. The first registered user becomes the system admin by default, so register before handing the URL to anyone else. For anything beyond this path, the README points to a separate self-hosting page in the project wiki rather than documenting it in the repository.
Where BISHENG is the wrong tool
The install footprint is the first limitation and it is documented rather than implied. A default deployment pulls in Elasticsearch, Milvus and Onlyoffice, and the README's recommended specification of 18 virtual cores and 48 GB reflects that. If the goal is a retrieval-augmented chatbot for a handful of users, this is a large amount of infrastructure to operate for the result.
The release tags deserve attention. The most recent tag is v3.0.0-beta1-fix from 2026-09-03, preceded by v3.0.0-beta1 on 2026-08-27. Both are beta. The latest release carrying a fix label outside the beta line is v2.6.0-fix2 from 2026-08-11. A team that cannot run beta software in production has to decide between the older stable line and the newer beta, and the README does not discuss that choice or offer a migration path between them. The last push to the repository was on 2026-09-09, so the project is moving, but movement is not the same as a stable upgrade story.
The documentation is another constraint. The README sends readers to an external wiki for the workflow, self-hosting and other topics, so the repository itself is thin on operational detail. The README does not document rollback, backup or how to upgrade an existing installation, and the update.sh script at the top level is not explained in the README. Anyone planning a production rollout should read the wiki pages before committing, not after.
Finally, scope. BISHENG is a platform, and platforms impose their model on you. If your application is a single prompt against a single model, the workflow engine, the enterprise administration layer and the document parsing stack are weight you will carry without using.
How BISHENG differs from Dify and RAGFlow
The comparison people search for is BISHENG versus Dify, and the README answers part of it directly. It states that similar products rely on bot invocation or separate chatflow and workflow modules for different tasks, while BISHENG executes various tasks within a single framework. It makes the same contrast on human in the loop, saying comparable products can only execute workflows from start to finish without intervention. Those two points are the project's own framing and they are checkable by reading Dify's documentation alongside this one.
RAGFlow is the other name that comes up, and the difference is in emphasis rather than category. RAGFlow is oriented around retrieval and document understanding. BISHENG includes RAG and a document parsing stack, but the README presents the workflow engine and the Lingsight agent as the headline features, with parsing as one of six listed capabilities. The README also says the parsing models can be deployed privately for free, which is a deployment property rather than a retrieval-quality claim.
A third reference point is LLaMA-Factory, which the README credits. LLaMA-Factory handles fine-tuning and dataset work. BISHENG lists SFT and dataset management among its features, so there is overlap, but the platform around it is the differentiator. Choosing between them is a question of whether fine-tuning is the centre of your work or one step inside a larger application.
Maintenance, licensing and what an upgrade actually costs
The repository is not archived and the last push was on 2026-09-09, so it is being worked on. The release cadence visible in the tags is roughly monthly across the last three releases, with the newest being a beta fix. That pattern suggests active development on the v3 line while v2.6 receives fix releases. It does not tell you anything about the stability of either line, and the README does not either.
The licence is Apache-2.0, which is a permissive licence that generally allows commercial use, modification and redistribution with the usual attribution and notice requirements. This article is not legal advice, and the practical question for an enterprise is not the licence text but the third-party components: Elasticsearch, Milvus and Onlyoffice each carry their own licences and their own terms, and the README does not enumerate them. A compliance review should cover those separately.
Upgrade cost is the least documented area. There is an update.sh script at the top level of the repository, which suggests an intended upgrade path, but the README does not describe what it does, whether it preserves data, or how to revert. The self-hosting wiki page is where the README directs readers for installation and deployment issues, so that page is the place to look before upgrading an instance that holds real documents. Budget for reading it rather than assuming the compose file is self-explanatory.
Editorial conclusion
BISHENG suits teams that need a self-hosted LLM application platform with a workflow engine that supports human intervention mid-run, plus RAG and document parsing in the same install. It is the wrong choice for a single-purpose chatbot on a small VM, since the documented minimum is 4 virtual cores and 16 GB RAM, with 18 cores and 48 GB recommended once Elasticsearch, Milvus and Onlyoffice are included. Before adopting it, confirm which release you are pulling, since the newest tag is v3.0.0-beta1-fix from 2026-09-03 while v2.6.0-fix2 is the latest non-beta fix release, and check the self-hosting page for upgrade and rollback guidance, which the README does not cover.
Frequently asked questions
How does BISHENG compare with Dify?
The README states that similar products rely on bot invocation or separate chatflow and workflow modules for different tasks, while BISHENG executes various tasks within a single framework, and that comparable products can only run workflows from start to finish while BISHENG allows human intervention during execution. It does not provide a feature-by-feature comparison, so the claim should be checked against Dify's own documentation.
What are the minimum hardware requirements to install BISHENG?
The README lists CPU of at least 4 virtual cores, RAM of at least 16 GB, Docker 19.03.9 or newer and Docker Compose 1.25.1 or newer. It recommends 18 virtual cores and 48 GB because Elasticsearch, Milvus and Onlyoffice are installed by default alongside BISHENG.
How do I install and start BISHENG?
Clone the repository, enter the docker directory, then run docker compose -f docker-compose.yml -p bisheng up -d. After startup, open http://IP:3001 in a browser, register, and the first registered user becomes the system admin.
Which BISHENG release should I use for production?
The most recent tags are v3.0.0-beta1-fix from 2026-09-03 and v3.0.0-beta1 from 2026-08-27, both beta, while v2.6.0-fix2 from 2026-08-11 is the latest non-beta fix release. The README does not document an upgrade or migration path between the lines, so that decision has to come from the self-hosting documentation.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/dataelement-bisheng)