DB-GPT-Hub
DB-GPT-Hub 是一个专注于提升大语言模型在“文本转 SQL"(Text-to-SQL)领域性能的开源资源库。它汇集了多种预训练模型、专用数据集以及高效的微调技术,旨在解决自然语言查询转化为数据库语句时准确率不足的难题,让非技术人员也能通过简单的对话轻松获取数据。
该项目特别适合 AI 开发者、数据科学家以及相关领域的研究人员使用。无论是希望快速构建智能数据问答系统的工程师,还是致力于探索大模型在垂直领域应用的研究者,都能在此找到丰富的基线模型和实验参考。
DB-GPT-Hub 的技术亮点在于其全面的支持能力:不仅涵盖了主流的 Llama2 和 CodeLlama 等模型,还提供了 LoRA 和 QLoRA 等多种轻量级微调方案,显著降低了训练成本。此外,项目已扩展支持 Text2NLU(自然语言理解)和 Text2GQL(图查询语言生成),并公开了详细的执行准确率评测基准。通过复用这些经过验证的成果,用户可以大幅缩短研发周期,高效打造更懂业务数据的智能助手。
使用场景
某电商公司的数据分析师团队每天需处理大量来自运营部门的自然语言查询请求,将其转化为 SQL 语句以提取销售、库存等关键指标。
没有 DB-GPT-Hub 时
- 转化准确率极低:直接使用通用大模型(如未微调的 Llama2)处理复杂嵌套查询或多表连接时,生成的 SQL 执行准确率不足 15%,尤其在“困难”和“超难”场景下几乎不可用。
- 人工修正成本高:分析师必须逐行检查并手动修复模型生成的错误代码,将原本旨在提效的自动化流程变成了繁琐的“找茬”工作。
- 领域适配能力差:通用模型无法理解公司特有的数据库架构和业务术语(如特定的 SKU 编码规则),导致频繁出现字段映射错误。
- 微调门槛过高:团队缺乏专门的 Text-to-SQL 微调数据集和成熟的训练脚本,自行构建从数据清洗到模型优化的全流程耗时数周且效果难以保证。
使用 DB-GPT-Hub 后
- 执行准确率显著提升:利用 DB-GPT-Hub 提供的预训练模型(如 CodeLlama-13B-Instruct)及 LoRA 微调技术,在复杂查询场景下的执行准确率从 15% 跃升至 70% 以上。
- 实现近乎零人工干预:模型生成的 SQL 语句可直接投入生产环境运行,分析师仅需关注业务洞察,无需再为语法错误耗费精力。
- 深度契合业务场景:通过加载 DB-GPT-Hub 中的特定数据集进行微调,模型精准掌握了公司内部表结构,能准确识别业务黑话并生成对应查询。
- 快速落地专属模型:借助仓库中集成的成熟微调技巧和数据资源,团队仅用数天即可完成从基座模型到垂直领域专家的迭代,大幅缩短研发周期。
DB-GPT-Hub 通过提供高质量的模型、数据集及微调方案,将自然语言转 SQL 的准确率提升至生产可用级别,真正实现了数据查询的智能化闭环。
运行环境要求
- 未说明
需要 NVIDIA GPU (基于 QLoRA 量化训练),7B 模型需显存 6GB+,13B 模型需显存 13.4GB+
7B 模型需 CPU 内存 3.6GB+,13B 模型需 CPU 内存 5.9GB+

快速开始
DB-GPT-Hub:基于大语言模型的文本转SQL解析
🔥🔥🔥 新闻
基线
Text2SQL 评估执行准确率(ex)指标,我们将此内容移至 src/dbgpt_hub_sql。
- 更新时间:2023年12月8日
- 指标:执行准确率(ex)
- 更多详情请参阅 docs/eval-llm-result.md
| 模型 | 方法 | 简单 | 中等 | 困难 | 额外 | 全部 | |||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| base | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||||||||||
| Llama2-7B-Chat | lora | 0.887 | 0.641 | 0.489 | 0.331 | 0.626 | |||||||||||||||||||||||||||||||||||
| qlora | 0.847 | 0.623 | 0.466 | 0.361 | 0.608 | ||||||||||||||||||||||||||||||||||||
| base | 0 | 0 | 0 | 0 | 0 | ||||||||||||||||||||||||||||||||||||
| Llama2-13B-Chat | lora | 0.907 | 0.729 | 0.552 | 0.343 | 0.68 | |||||||||||||||||||||||||||||||||||
| qlora | 0.911 | 0.7 | 0.552 | 0.319 | 0.664 | ||||||||||||||||||||||||||||||||||||
| base | 0.214 | 0.177 | 0.092 | 0.036 | 0.149 | ||||||||||||||||||||||||||||||||||||
| CodeLlama-7B-Instruct | lora | 0.923 | 0.756 | 0.586 | 0.349 | 0.702 | |||||||||||||||||||||||||||||||||||
| qlora | 0.911 | 0.751 | 0.598 | 0.331 | 0.696 | ||||||||||||||||||||||||||||||||||||
| base | 0.698 | 0.601 | 0.408 | 0.271 | 0.539 | ||||||||||||||||||||||||||||||||||||
| CodeLlama-13B-Instruct | lora | 0.94 | 0.789 | 0.684 | 0.404 | 0.746 | |||||||||||||||||||||||||||||||||||
| qlora | 0.94 | 0.774 | 0.626 | 0.392 | 0.727 | ||||||||||||||||||||||||||||||||||||
| base | 0.577 | 0.352 | 0.201 | 0.066 | 0.335 | ||||||||||||||||||||||||||||||||||||
| Baichuan2-7B-Chat | lora | 0.871 | 0.63 | 0.448 | 0.295 | 0.603 | |||||||||||||||||||||||||||||||||||
| qlora | 0.891 | 0.637 | 0.489 | 0.331 | 0.624 | ||||||||||||||||||||||||||||||||||||
| base | 0.581 | 0.413 | 0.264 | 0.187 | 0.392 | ||||||||||||||||||||||||||||||||||||
| Baichuan2-13B-Chat | lora | 0.903 | 0.702 | 0.569 | 0.392 | 0.678 | |||||||||||||||||||||||||||||||||||
| qlora | 0.895 | 0.675 | 0.58 | 0.343 | 0.659 | base | 0.395 | 0.256 | 0.138 | 0.042 | 0.235 | ||||||||||||||||||||||||||||||
| Qwen-7B-Chat | lora | 0.855 | 0.688 | 0.575 | 0.331 | 0.652 | qlora | 0.911 | 0.675 | 0.575 | 0.343 | 0.662 | base | 0.871 | 0.632 | 0.368 | 0.181 | 0.573 | Qwen-14B-Chat | lora | 0.895 | 0.702 | 0.552 | 0.331 | 0.663 | qlora | 0.919 | 0.744 | 0.598 | 0.367 | 0.701 | base | 0 | 0 | 0 | 0 | 0 | tr.||||
| ChatGLM3-6b | lora | 0.855 | 0.605 | 0.477 | 0.271 | 0.59 | tr.|||||||||||||||||||||||||||||||||||
| qlora | 0.843 | 0.603 | 0.506 | 0.211 | 0.581 | tr.
目录
1. 什么是DB-GPT-Hub
DB-GPT-Hub是一个实验性项目,利用大型语言模型(LLMs)实现Text-to-SQL解析。该项目涵盖了数据收集、数据预处理、模型选择与构建以及模型权重的微调等多个阶段。通过这些流程,我们的目标是提升Text-to-SQL的能力,同时降低模型训练成本,从而让更多开发者能够参与提高Text-to-SQL的准确性。最终,我们希望实现基于数据库的自动化问答能力,使用户能够使用自然语言描述来执行复杂的数据库查询。
截至目前,我们已成功整合了多个大型模型,并建立了一套完整的流程,包括数据处理、监督式微调(SFT)模型训练、预测输出和评估。为此项目开发的代码在项目内部具有良好的可重用性。
截至2023年10月10日,我们已利用该项目对开源的13B参数规模模型进行了微调,并引入了更多相关数据。在零样本提示下,使用Spider基准测试集,我们在一个大小为1.27G的数据库上实现了0.764的执行准确率。此外,针对Spider官方网站所指向的95M大小的数据库,执行准确率为0.825。
2. Text-to-SQL的微调
我们通过在大型语言模型上应用监督式微调(SFT)来提升Text-to-SQL的性能。
2.1. 数据集
本项目示例的主要数据集是Spider数据集:
其他可用的text2sql数据集包括:
WikiSQL: 一个大型语义解析数据集,包含80,654条自然语言陈述及24,241张表的SQL标注。WikiSQL中的每个查询仅限于同一张表,不包含排序、分组等复杂操作。WikiSQL的查询仅限于同一张表,不包括排序、分组、子查询等复杂操作。
CHASE:一个跨领域的多轮交互式中文text2sql数据集,包含5,459个多轮问题列表,共17,940组<query, SQL>二元对,涉及280个不同领域的数据库。
BIRD-SQL: 一个大规模的跨领域英文text-to-SQL基准测试集,特别关注大型数据库内容。该数据集包含12,751对text-to-SQL数据,以及37个职业领域的95个数据库,总大小为33.4 GB。BIRD-SQL数据集通过探索三个额外挑战——处理大型且杂乱的数据库值、外部知识推理以及优化SQL执行效率——弥合了text-to-SQL研究与实际应用之间的差距。
CoSQL: 用于构建跨领域对话式text-to-SQL系统的语料库。它是Spider和SParC任务的对话版。CoSQL由30k+轮对话和10k+条标注的SQL查询组成,来源于Wizard-of-Oz收集的3k次对话,涉及138个领域的200个复杂数据库。每段对话都模拟了一个真实的数据库查询场景,其中一位工作人员以用户的身份探索数据库,而一位SQL专家则使用SQL来获取答案、澄清模糊问题或提供其他帮助。
2.2. 模型
DB-GPT-Hub目前支持以下基础模型:
- CodeLlama
- Baichuan2
- LLaMa/LLaMa2
- Falcon
- Qwen
- XVERSE
- ChatGLM2
- ChatGLM3
- internlm
- sqlcoder-7b(mistral)
- sqlcoder2-15b(starcoder)
模型基于量化学习冗余架构(QLoRA),采用4位量化进行微调。对此所需的最低硬件要求如下:
| 模型参数 | GPU内存 | CPU内存 | 磁盘 |
|---|---|---|---|
| 7b | 6GB | 3.6GB | 36.4GB |
| 13b | 13.4GB | 5.9GB | 60.2GB |
所有相关参数均设置为最小值,批次大小为1,最大长度为512。根据经验,为了获得更好的性能,建议将相关长度值设置为1024或2048。
3. 使用方法
3.1. 环境准备
git clone https://github.com/eosphoros-ai/DB-GPT-Hub.git
cd DB-GPT-Hub
conda create -n dbgpt_hub python=3.10
conda activate dbgpt_hub
cd src/dbgpt_hub_sql
pip install -e .
3.2 快速入门
首先,使用以下命令安装dbgpt-hub:
pip install dbgpt-hub
然后,设置参数并运行整个流程。
from dbgpt_hub_sql.data_process import preprocess_sft_data
from dbgpt_hub_sql.train import start_sft
from dbgpt_hub_sql.predict import start_predict
from dbgpt_hub_sql.eval import start_evaluate
# 配置输入数据集
data_folder = "dbgpt_hub_sql/data"
data_info = [
{
"data_source": "spider",
"train_file": ["train_spider.json", "train_others.json"],
"dev_file": ["dev.json"],
"tables_file": "tables.json",
"db_id_name": "db_id",
"is_multiple_turn": False,
"train_output": "spider_train.json",
"dev_output": "spider_dev.json",
}
]
# 配置训练参数
train_args = {
"model_name_or_path": "codellama/CodeLlama-13b-Instruct-hf",
"do_train": True,
"dataset": "example_text2sql_train",
"max_source_length": 2048,
"max_target_length": 512,
"finetuning_type": "lora",
"lora_target": "q_proj,v_proj",
"template": "llama2",
"lora_rank": 64,
"lora_alpha": 32,
"output_dir": "dbgpt_hub_sql/output/adapter/CodeLlama-13b-sql-lora",
"overwrite_cache": True,
"overwrite_output_dir": True,
"per_device_train_batch_size": 1,
"gradient_accumulation_steps": 16,
"lr_scheduler_type": "cosine_with_restarts",
"logging_steps": 50,
"save_steps": 2000,
"learning_rate": 2e-4,
"num_train_epochs": 8,
"plot_loss": True,
"bf16": True,
}
# 配置预测参数
predict_args = {
"model_name_or_path": "codellama/CodeLlama-13b-Instruct-hf",
"template": "llama2",
"finetuning_type": "lora",
"checkpoint_dir": "dbgpt_hub_sql/output/adapter/CodeLlama-13b-sql-lora",
"predict_file_path": "dbgpt_hub_sql/data/eval_data/dev_sql.json",
"predict_out_dir": "dbgpt_hub_sql/output/",
"predicted_out_filename": "pred_sql.sql",
}
# 配置评估参数
evaluate_args = {
"input": "./dbgpt_hub_sql/output/pred/pred_sql_dev_skeleton.sql",
"gold": "./dbgpt_hub_sql/data/eval_data/gold.txt",
"gold_natsql": "./dbgpt_hub_sql/data/eval_data/gold_natsql2sql.txt",
"db": "./dbgpt_hub_sql/data/spider/database",
"table": "./dbgpt_hub_sql/data/eval_data/tables.json",
"table_natsql": "./dbgpt_hub_sql/data/eval_data/tables_for_natsql2sql.json",
"etype": "exec",
"plug_value": True,
"keep_distict": False,
"progress_bar_for_each_datapoint": False,
"natsql": False,
}
# 运行完整的微调流程
preprocess_sft_data(
data_folder = data_folder,
data_info = data_info
)
start_sft(train_args)
start_predict(predict_args)
start_evaluate(evaluate_args)
3.3. 数据准备
DB-GPT-Hub 采用信息匹配生成方法进行数据准备,即结合数据表信息的 SQL + 资料库生成方法。该方法通过整合数据表信息,能够更好地理解数据表的结构与关系,适用于生成符合需求的 SQL 语句。
请从 Spider 数据集链接下载 Spider 数据集。默认情况下,下载并解压数据后,将其放置在 dbgpt_hub_sql/data 目录下,路径应为 dbgpt_hub_sql/data/spider。
对于数据预处理部分,只需 运行以下脚本:
## 生成训练和验证(评估)数据
sh dbgpt_hub_sql/scripts/gen_train_eval_data.sh
在 dbgpt_hub_sql/data/ 目录下,您将找到新生成的训练文件 example_text2sql_train.json 和测试文件 example_text2sql_dev.json,分别包含 8659 条和 1034 条记录。对于后续微调所使用的数据,请在 dbgpt_hub_sql/data/dataset_info.json 中将 file_name 参数值设置为训练集的文件名,例如 example_text2sql_train.json。
生成的 JSON 数据大致如下所示:
{
"db_id": "department_management",
"instruction": "我希望你扮演一个示例数据库前的 SQL 终端,你只需要向我返回 SQL 命令即可。以下是描述任务的指令,请编写一条适当完成请求的回复。\n\"\n##指令:\ndepartment_management 包含 department、head 和 management 等表。department 表有 Department_ID、Name、Creation、Ranking、Budget_in_Billions、Num_Employees 等列。Department_ID 是主键。\nhead 表有 head_ID、name、born_state、age 等列。head_ID 是主键。\nmanagement 表有 department_ID、head_ID、temporary_acting 等列。department_ID 是主键。\nmanagement 表中的 head_ID 是 head 表中 head_ID 的外键。\nmanagement 表中的 department_ID 是 department 表中 Department_ID 的外键。\n\n",
"input": "###输入:\n有多少部门的负责人年龄大于 56 岁?\n\n###回答:",
"output": "SELECT count(*) FROM head WHERE age > 56",
"history": []
},
项目的数据处理代码中已嵌入了 chase、cosql 和 sparc 的数据处理逻辑。按照上述链接下载数据集后,您只需在 dbgpt_hub_sql/configs/config.py 中取消注释 SQL_DATA_INFO 中对应的代码即可。
3.4. 模型微调
模型微调支持 LoRA 和 QLoRA 两种方法。我们可以通过以下命令来微调模型。默认情况下,通过参数 --quantization_bit,系统会使用 QLoRA 微调方法。如果要切换到 LoRA,则只需从脚本中移除相关参数即可。
运行命令:
sh dbgpt_hub_sql/scripts/train_sft.sh
微调完成后,模型权重默认会保存在 adapter 文件夹中,具体路径为 dbgpt_hub_sql/output/adapter。
如果你使用的是 多 GPU 训练并希望利用 DeepSpeed,则需要修改 train_sft.sh 脚本中的默认内容。修改前的代码如下:
CUDA_VISIBLE_DEVICES=0 python dbgpt_hub_sql/train/sft_train.py \
--quantization_bit 4 \
...
修改后应为:
deepspeed --num_gpus 2 dbgpt_hub_sql/train/sft_train.py \
--deepspeed dbgpt_hub_sql/configs/ds_config.json \
--quantization_bit 4 \
...
如果需要指定 GPU 卡号,可以这样写:
deepspeed --include localhost:0,1 dbgpt_hub_sql/train/sft_train.py \
--deepspeed dbgpt_hub_sql/configs/ds_config.json \
--quantization_bit 4 \
...
其他省略的部分(…)可以保持不变。如果需要更改默认的 DeepSpeed 配置,可以进入 dbgpt_hub_sql/configs 目录,根据需求修改 ds_config.json 文件,默认配置为 stage2。
在脚本中,不同模型在微调时对应的关键参数 lora_target 和 template 如下表所示:
| 模型名称 | lora_target | template |
|---|---|---|
| LLaMA-2 | q_proj,v_proj | llama2 |
| CodeLlama-2 | q_proj,v_proj | llama2 |
| Baichuan2 | W_pack | baichuan2 |
| Qwen | c_attn | chatml |
| sqlcoder-7b | q_proj,v_proj | mistral |
| sqlcoder2-15b | c_attn | default |
| InternLM | q_proj,v_proj | intern |
| XVERSE | q_proj,v_proj | xverse |
| ChatGLM2 | query_key_value | chatglm2 |
| LLaMA | q_proj,v_proj | - |
| BLOOM | query_key_value | - |
| BLOOMZ | query_key_value | - |
| Baichuan | W_pack | baichuan |
| Falcon | query_key_value | - |
在 train_sft.sh 脚本中,其他关键参数如下:
quantization_bit:表示是否进行量化,有效值为 [4 或 8]。model_name_or_path:大语言模型的路径。dataset:指定训练数据集的配置名称,对应于dbgpt_hub_sql/data/dataset_info.json中的外层键值,例如example_text2sql。max_source_length:输入模型的文本长度。如果计算资源允许,可以尽可能设置得大一些,比如 1024 或 2048。max_target_length:模型输出的 SQL 内容长度,一般设置为 512 就足够了。output_dir:SFT(监督微调)过程中 Peft 模块的输出路径,默认为dbgpt_hub_sql/output/adapter/。per_device_train_batch_size:批次大小。如果计算资源允许,可以适当增大,默认为 1。gradient_accumulation_steps:梯度累积更新之前的步数。save_steps:每多少步保存一次模型检查点,可默认设置为 100 步。num_train_epochs:数据集的训练轮数。
3.5. 模型预测
在项目目录下的 ./dbgpt_hub_sql/output/pred/ 文件夹中,这是模型预测结果的默认输出位置(如果不存在,请先创建该文件夹)。
sh ./dbgpt_hub_sql/scripts/predict_sft.sh
在脚本中,默认情况下,通过参数 --quantization_bit,系统会使用 QLoRA 进行预测。移除该参数后,则会切换到 LoRA 预测方法。
参数 predicted_input_filename 的值为你用于预测的测试数据集文件,而 --predicted_out_filename 则是模型预测结果的输出文件名。
3.6 模型权重
你可以在 Hugging Face 上找到对应的第二代模型权重:hg-eosphoros-ai。我们在十月份上传了 LoRA 权重,在 Spider 评估集上的执行准确率达到 0.789。
3.6.1 模型与微调权重合并
如果需要将训练好的基础模型权重和微调后的 Peft 模块权重合并,以导出一个完整的模型,可以执行以下模型导出脚本:
sh ./dbgpt_hub_sql/scripts/export_merge.sh
请务必根据你的项目情况,替换脚本中参数的路径值。
3.7 模型评估
为了评估模型在数据集上的性能,默认使用 Spider dev 数据集。运行以下命令:
python dbgpt_hub_sql/eval/evaluation.py --plug_value --input Your_model_pred_file
你可以在这里找到我们最新的评测结果及部分实验结果:docs/eval_llm_result.md
注意:默认代码所指向的数据库是从 Spider 官方网站 下载的 95MB 数据库。如果你需要使用 test-suite 中的 Spider 数据库(大小为 1.27GB),请先将数据库下载到自定义目录中,然后运行上述评估命令,并添加类似 --db Your_download_db_path 的参数和值。
4. 路线图
我们将整个流程分为三个阶段:
第一阶段:
- 搭建基础框架,实现涵盖数据处理、模型单次微调训练、预测输出及评估的端到端工作流,并支持多种大语言模型(LLMs)。截至2023年8月4日,整条流水线已成功搭建。
目前我们支持以下模型:
- CodeLlama
- 百川2
- LLaMa/LLaMa2
- Falcon
- 通义千问
- XVERSE
- ChatGLM2
- ChatGLM3
- internlm
- sqlcoder-7b(mistral)
- sqlcoder2-15b(starcoder)
第二阶段:
- 优化模型性能,并在
20231010前支持以多种方式对更多不同模型进行微调 - 优化提示词(prompts)
- 发布评估结果,并向同行开放优化后的模型。
- 优化模型性能,并在
第三阶段:
- 推理速度优化与提升
- 针对业务场景及中文效果的定向优化与提升
- 结合更多论文(如RESDSQL等)进行优化,并与我们社区的兄弟项目Awesome-Text2SQL协同进一步增强功能。
如果我们的工作能为您带来哪怕一点帮助,请为我们点亮一颗星。您的反馈和支持将激励我们持续推出更多相关成果并不断改进。感谢!
5. 贡献
我们诚挚邀请更多伙伴加入,积极参与项目的各个环节,例如数据集构建、模型微调、性能评估、论文推荐以及代码复现等。欢迎随时提出问题或发起拉取请求(PR),我们将积极回应并采纳您的贡献。
在提交代码之前,请确保使用以下命令按照black风格格式化代码:
black dbgpt_hub
如果您有更多时间,还可以执行更细致的类型检查和风格检查,可使用以下命令:
pyright dbgpt_hub
pylint dbgpt_hub
如有任何疑问或需要帮助,请随时联系我们。我们非常期待您的参与!
6. 致谢
我们的工作主要基于众多开源项目的贡献。特别感谢以下开源项目:
- Spider
- CoSQL
- Chase
- BIRD-SQL
- LLaMA
- BLOOM
- Falcon
- ChatGLM
- WizardLM
- text-to-sql-wizardcoder
- test-suite-sql-eval
- LLaMa-Efficient-Tuning
感谢所有贡献者,尤其是@JBoRu,他提出了issue,提醒我们增加一种很有前景的评估方法——测试套件。正如论文《SQL-PALM: IMPROVED LARGE LANGUAGE MODEL ADAPTATION FOR TEXT-TO-SQL》中所述:“我们考虑两种常用的评估指标:执行准确率(EX)和测试套件准确率(TS)。EX衡量SQL执行结果是否与真实答案(GT)一致;而TS则衡量SQL能否通过由数据库扩充生成的多个测试的全部EX验证。由于EX可能存在假阳性,我们认为TS是更为可靠的评估指标。”
7. 引用
如果您在研究或开发中使用了DB-GPT-Hub,请引用以下论文:
@misc{zhou2024dbgpthub,
title={DB-GPT-Hub: Towards Open Benchmarking Text-to-SQL Empowered by Large Language Models},
author={Fan Zhou and Siqiao Xue and Danrui Qi and Wenhui Shi and Wang Zhao and Ganglin Wei and Hongyang Zhang and Caigai Jiang and Gangwei Jiang and Zhixuan Chu and Faqiang Chen},
year={2024},
eprint={2406.11434},
archivePrefix={arXiv},
primaryClass={id='cs.DB' full_name='Databases' is_active=True alt_name=None in_archive='cs' is_general=False description='Covers database management, datamining, and data processing. Roughly includes material in ACM Subject Classes E.2, E.5, H.0, H.2, and J.1.'}
}
8. 许可证
MIT许可证(MIT)
9. 联系方式
我们以社区形式协作,若您对社区工作有任何想法,欢迎随时与我们联系。如果您有兴趣深入实验并优化DB-GPT-Hub子项目,可通过微信群联系‘wangzai’。我们热忱欢迎您共同参与,让项目变得更好!
版本历史
v0.3.02023/12/08v0.2.02023/09/25v0.0.22023/07/30v0.0.12023/07/13常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
gemini-cli
gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
