From cf452295bbdcd67728f7c91b89fd2e0055bde0c3 Mon Sep 17 00:00:00 2001
From: csunny
Date: Thu, 12 Oct 2023 16:08:18 +0800
Subject: [PATCH] docs: update roadmap & text2sql
---
README.md | 268 ++++++++++++++++---------------
README.zh.md | 173 +++++++++++++++++---
pilot/model/proxy/llms/tongyi.py | 4 +-
3 files changed, 292 insertions(+), 153 deletions(-)
diff --git a/README.md b/README.md
index 822f40f28..14ed92aba 100644
--- a/README.md
+++ b/README.md
@@ -84,32 +84,81 @@ Currently, we have released multiple key features, which are listed below to dem
- ChatDashboard
- Multi-Agents&Plugins
- Unified vector storage/indexing of knowledge base
- - Support for unstructured data such as PDF, TXT, Markdown, CSV, DOC, PPT, and WebURL
+ - Support for unstructured data
+ - PDF
+ - TXT
+ - Markdown
+ - CSV
+ - DOC
+ - PPT
+ - WebURL
- Multi LLMs Support, Supports multiple large language models, currently supporting
- - 🔥 InternLM(7b,20b)
- - 🔥 Baichuan2(7b,13b)
- - 🔥 Vicuna-v1.5(7b,13b)
- - 🔥 llama-2(7b,13b,70b)
- - WizardLM-v1.2(13b)
- - Vicuna (7b,13b)
- - ChatGLM-6b (int4,int8)
- - ChatGLM2-6b (int4,int8)
- - guanaco(7b,13b,33b)
- - Gorilla(7b,13b)
- - baichuan(7b,13b)
-
+ - [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)
+ - [baichuan2-7b/baichuan2-13b](https://huggingface.co/baichuan-inc)
+ - [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b)
+ - [Qwen/Qwen-7B-Chat/Qwen-14B-Chat](https://huggingface.co/Qwen/)
+ - [Vicuna](https://huggingface.co/Tribbiani/vicuna-13b)
+ - [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven)
+ - [camel-ai/CAMEL-13B-Combined-Data](https://huggingface.co/camel-ai/CAMEL-13B-Combined-Data)
+ - [databricks/dolly-v2-12b](https://huggingface.co/databricks/dolly-v2-12b)
+ - [FreedomIntelligence/phoenix-inst-chat-7b](https://huggingface.co/FreedomIntelligence/phoenix-inst-chat-7b)
+ - [h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b)
+ - [lcw99/polyglot-ko-12.8b-chang-instruct-chat](https://huggingface.co/lcw99/polyglot-ko-12.8b-chang-instruct-chat)
+ - [lmsys/fastchat-t5-3b-v1.0](https://huggingface.co/lmsys/fastchat-t5)
+ - [mosaicml/mpt-7b-chat](https://huggingface.co/mosaicml/mpt-7b-chat)
+ - [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT)
+ - [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy)
+ - [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b)
+ - [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg)
+ - [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5)
+ - [project-baize/baize-v2-7b](https://huggingface.co/project-baize/baize-v2-7b)
+ - [Salesforce/codet5p-6b](https://huggingface.co/Salesforce/codet5p-6b)
+ - [StabilityAI/stablelm-tuned-alpha-7b](https://huggingface.co/stabilityai/stablelm-tuned-alpha-7b)
+ - [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b)
+ - [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b)
+ - [tiiuae/falcon-40b](https://huggingface.co/tiiuae/falcon-40b)
+ - [timdettmers/guanaco-33b-merged](https://huggingface.co/timdettmers/guanaco-33b-merged)
+ - [togethercomputer/RedPajama-INCITE-7B-Chat](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Chat)
+ - [WizardLM/WizardLM-13B-V1.0](https://huggingface.co/WizardLM/WizardLM-13B-V1.0)
+ - [WizardLM/WizardCoder-15B-V1.0](https://huggingface.co/WizardLM/WizardCoder-15B-V1.0)
+ - [baichuan-inc/baichuan-7B](https://huggingface.co/baichuan-inc/baichuan-7B)
+ - [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta)
+ - [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat)
+ - [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B)
+ - [all models of OpenOrca](https://huggingface.co/Open-Orca)
+ - [Spicyboros](https://huggingface.co/jondurbin/spicyboros-7b-2.2?not-for-all-audiences=true) + [airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2)
+ - [VMware's OpenLLaMa OpenInstruct](https://huggingface.co/VMware/open-llama-7b-open-instruct)
- Support API Proxy LLMs
- [x] ChatGPT
- [x] Tongyi
- [x] Wenxin
- - [x] Spark
- - [x] MiniMax
- [x] ChatGLM
-## Introduction
-DB-GPT creates a vast model operating system using [FastChat](https://github.com/lm-sys/FastChat) and offers a large language model powered by vicuna. In addition, we provide private domain knowledge base question-answering capability. Furthermore, we also provide support for additional plugins, and our design natively supports the Auto-GPT plugin.Our vision is to make it easier and more convenient to build applications around databases and llm.
+- Support Datasources
+| DataSource | support | Notes |
+| ------------------------------------------------------------------------------ | ----------- | ------------------------------------------- |
+| [MySQL](https://www.mysql.com/) | Yes | |
+| [PostgresSQL](https://www.postgresql.org/) | Yes | |
+| [Spark](https://github.com/apache/spark) | Yes | |
+| [DuckDB](https://github.com/duckdb/duckdb) | Yes | |
+| [Sqlite](https://github.com/sqlite/sqlite) | Yes | |
+| [MSSQL](https://github.com/microsoft/mssql-jdbc) | Yes | |
+| [ClickHouse](https://github.com/ClickHouse/ClickHouse) | Yes | |
+| [Oracle](https://github.com/oracle) | No | TODO |
+| [Redis](https://github.com/redis/redis) | No | TODO |
+| [MongoDB](https://github.com/mongodb/mongo) | No | TODO |
+| [HBase](https://github.com/apache/hbase) | No | TODO |
+| [Doris](https://github.com/apache/doris) | No | TODO |
+| [DB2](https://github.com/IBM/Db2) | No | TODO |
+| [Couchbase](https://github.com/couchbase) | No | TODO |
+| [Elasticsearch](https://github.com/elastic/elasticsearch) | No | TODO |
+| [OceanBase](https://github.com/OceanBase) | No | TODO |
+| [TiDB](https://github.com/pingcap/tidb) | No | TODO |
+| [StarRocks](https://github.com/StarRocks/starrocks) | No | TODO |
+
+## Introduction
Is the architecture of the entire DB-GPT shown in the following figure:
@@ -117,16 +166,16 @@ Is the architecture of the entire DB-GPT shown in the following figure:
The core capabilities mainly consist of the following parts:
-1. Knowledge base capability: Supports private domain knowledge base question-answering capability.
-2. Large-scale model management capability: Provides a large model operating environment based on FastChat.
-3. Unified data vector storage and indexing: Provides a uniform way to store and index various data types.
-4. Connection module: Used to connect different modules and data sources to achieve data flow and interaction.
-5. Agent and plugins: Provides Agent and plugin mechanisms, allowing users to customize and enhance the system's behavior.
-6. Prompt generation and optimization: Automatically generates high-quality prompts and optimizes them to improve system response efficiency.
-7. Multi-platform product interface: Supports various client products, such as web, mobile applications, and desktop applications.
+1. Multi-Models: Support multi-LLMs, such as LLaMA/LLaMA2、CodeLLaMA、ChatGLM, QWen、Vicuna and proxy model ChatGPT、Baichuan、tongyi、wenxin etc
+2. Knowledge Based QA: You can perform high-quality intelligent Q&A based on local documents such as pdf, word, excel and other data.
+3. Embedding: Unified data vector storage and indexing, Embed data as vectors and store them in vector databases, providing content similarity search.
+4. Multi-Datasources: Used to connect different modules and data sources to achieve data flow and interaction.
+5. Multi-Agents: Provides Agent and plugin mechanisms, allowing users to customize and enhance the system's behavior.
+6. Privacy & Secure: You can be assured that there is no risk of data leakage, and your data is 100% private and secure.
+7. Text2SQL: We enhance the Text-to-SQL performance by applying Supervised Fine-Tuning (SFT) on large language models
### SubModule
-- [DB-GPT-Hub](https://github.com/eosphoros-ai/DB-GPT-Hub) Text-to-SQL parsing with LLMs
+- [DB-GPT-Hub](https://github.com/eosphoros-ai/DB-GPT-Hub) Text-to-SQL performance by applying Supervised Fine-Tuning (SFT) on large language models.
- [DB-GPT-Plugins](https://github.com/eosphoros-ai/DB-GPT-Plugins) DB-GPT Plugins, Can run autogpt plugin directly
- [DB-GPT-Web](https://github.com/eosphoros-ai/DB-GPT-Web) ChatUI for DB-GPT
@@ -155,122 +204,81 @@ The core capabilities mainly consist of the following parts:
### KBQA RAG optimization
-- [] KnownledgeGraph
+- [x] Multi Documents
+ - [x] PDF
+ - [x] Excel, csv
+ - [x] Word
+ - [x] Text
+ - [x] MarkDown
+ - [ ] Code
+ - [ ] Images
+
+- [x]RAG
+- [ ]KnownledgeGraph
### Multi Datasource Support
-| DataSource | support | Notes |
-| ------------------------------------------------------------------------------ | ----------- | ------------------------------------------- |
-| [MySQL](https://www.mysql.com/) | Yes | |
-| [PostgresSQL](https://www.postgresql.org/) | Yes | |
-| [Spark](https://github.com/apache/spark) | Yes | |
-| [DuckDB](https://github.com/duckdb/duckdb) | Yes | |
-| [Sqlite](https://github.com/sqlite/sqlite) | Yes | |
-| [MSSQL](https://github.com/microsoft/mssql-jdbc) | Yes | |
-| [ClickHouse](https://github.com/ClickHouse/ClickHouse) | Yes | |
-| [Oracle](https://github.com/oracle) | No | TODO |
-| [Redis](https://github.com/redis/redis) | No | TODO |
-| [MongoDB](https://github.com/mongodb/mongo) | No | TODO |
-| [HBase](https://github.com/apache/hbase) | No | TODO |
-| [Doris](https://github.com/apache/doris) | No | TODO |
-| [DB2](https://github.com/IBM/Db2) | No | TODO |
-| [Couchbase](https://github.com/couchbase) | No | TODO |
-| [Elasticsearch](https://github.com/elastic/elasticsearch) | No | TODO |
-| [OceanBase](https://github.com/OceanBase) | No | TODO |
-| [TiDB](https://github.com/pingcap/tidb) | No | TODO |
-| [StarRocks](https://github.com/StarRocks/starrocks) | No | TODO |
+
+- Multi Datasource Support
+ - [x]MySQL
+ - [x]PostgresSQL
+ - [x]Spark
+ - [x]DuckDB
+ - [x]Sqlite
+ - [x]MSSQL
+ - [x]ClickHouse
+ - [ ]Oracle
+ - [ ]Redis
+ - [ ]MongoDB
+ - [ ]HBase
+ - [ ]Doris
+ - [ ]DB2
+ - [ ]Couchbase
+ - [ ]Elasticsearch
+ - [ ]OceanBase
+ - [ ]TiDB
+ - [ ]StarRocks
### Multi-Models And vLLM
-- [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)
-- [baichuan2-7b/baichuan2-13b](https://huggingface.co/baichuan-inc)
-- [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b)
-- [Qwen/Qwen-7B-Chat/Qwen-14B-Chat](https://huggingface.co/Qwen/)
-- [Vicuna](https://huggingface.co/Tribbiani/vicuna-13b)
-- [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven)
-- [camel-ai/CAMEL-13B-Combined-Data](https://huggingface.co/camel-ai/CAMEL-13B-Combined-Data)
-- [databricks/dolly-v2-12b](https://huggingface.co/databricks/dolly-v2-12b)
-- [FreedomIntelligence/phoenix-inst-chat-7b](https://huggingface.co/FreedomIntelligence/phoenix-inst-chat-7b)
-- [h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b)
-- [lcw99/polyglot-ko-12.8b-chang-instruct-chat](https://huggingface.co/lcw99/polyglot-ko-12.8b-chang-instruct-chat)
-- [lmsys/fastchat-t5-3b-v1.0](https://huggingface.co/lmsys/fastchat-t5)
-- [mosaicml/mpt-7b-chat](https://huggingface.co/mosaicml/mpt-7b-chat)
-- [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT)
-- [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy)
-- [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b)
-- [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg)
-- [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5)
-- [project-baize/baize-v2-7b](https://huggingface.co/project-baize/baize-v2-7b)
-- [Salesforce/codet5p-6b](https://huggingface.co/Salesforce/codet5p-6b)
-- [StabilityAI/stablelm-tuned-alpha-7b](https://huggingface.co/stabilityai/stablelm-tuned-alpha-7b)
-- [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b)
-- [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b)
-- [tiiuae/falcon-40b](https://huggingface.co/tiiuae/falcon-40b)
-- [timdettmers/guanaco-33b-merged](https://huggingface.co/timdettmers/guanaco-33b-merged)
-- [togethercomputer/RedPajama-INCITE-7B-Chat](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Chat)
-- [WizardLM/WizardLM-13B-V1.0](https://huggingface.co/WizardLM/WizardLM-13B-V1.0)
-- [WizardLM/WizardCoder-15B-V1.0](https://huggingface.co/WizardLM/WizardCoder-15B-V1.0)
-- [baichuan-inc/baichuan-7B](https://huggingface.co/baichuan-inc/baichuan-7B)
-- [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta)
-- [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat)
-- [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B)
-- [all models of OpenOrca](https://huggingface.co/Open-Orca)
-- [Spicyboros](https://huggingface.co/jondurbin/spicyboros-7b-2.2?not-for-all-audiences=true) + [airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2)
-- [VMware's OpenLLaMa OpenInstruct](https://huggingface.co/VMware/open-llama-7b-open-instruct)
+- [x] [cluster deployment](https://db-gpt.readthedocs.io/en/latest/getting_started/install/cluster/vms/index.html)
+- [x] [fastchat support](https://github.com/lm-sys/FastChat)
+- [x] [vLLM support](https://db-gpt.readthedocs.io/en/latest/getting_started/install/llm/vllm/vllm.html)
### Agents market and Plugins
-- multi-agents framework
-- custom plugin development
-- plugin market
+- [x] multi-agents framework
+- [x] custom plugin development
+- [ ] plugin market
+
+### Cost and Observability
+- [x] [debugging](https://db-gpt.readthedocs.io/en/latest/getting_started/observability.html)
+- [ ] Observability
### Text2SQL Finetune
+- support llms
+ - [x]LLaMA
+ - [x]LLaMA-2
+ - [x]BLOOM
+ - [x]BLOOMZ
+ - [x]Falcon
+ - [x]Baichuan
+ - [x]Baichuan2
+ - [x]InternLM
+ - [x]Qwen
+ - [x]XVERSE
+ - [x]ChatGLM2
-| LLMs | Size | Module | Template |
-| -------------------------------------------------------- | --------------------------- | ----------------- |----------|
-| [LLaMA](https://github.com/facebookresearch/llama) | 7B/13B/33B/65B | q_proj,v_proj | - |
-| [LLaMA-2](https://huggingface.co/meta-llama) | 7B/13B/70B | q_proj,v_proj | llama2 |
-| [BLOOM](https://huggingface.co/bigscience/bloom) | 560M/1.1B/1.7B/3B/7.1B/176B | query_key_value | - |
-| [BLOOMZ](https://huggingface.co/bigscience/bloomz) | 560M/1.1B/1.7B/3B/7.1B/176B | query_key_value | - |
-| [Falcon](https://huggingface.co/tiiuae/falcon-7b) | 7B/40B | query_key_value | - |
-| [Baichuan](https://github.com/baichuan-inc/baichuan-13B) | 7B/13B | W_pack | baichuan |
-| [Baichuan2](https://github.com/baichuan-inc/Baichuan2) | 7B/13B | W_pack | baichuan2 |
-| [InternLM](https://github.com/InternLM/InternLM) | 7B | q_proj,v_proj | intern |
-| [Qwen](https://github.com/QwenLM/Qwen-7B) | 7B | c_attn | chatml |
-| [XVERSE](https://github.com/xverse-ai/XVERSE-13B) | 13B | q_proj,v_proj | xverse |
-| [ChatGLM2](https://github.com/THUDM/ChatGLM2-6B) | 6B | query_key_value | chatglm2 |
+- SFT Accuracy
+As of October 10, 2023, by fine-tuning an open-source model of 13 billion parameters using this project, the execution accuracy on the Spider evaluation dataset has surpassed that of GPT-4!
-Datasets
-| Datasets | License | Link |
-| ---------------------- | ------------ | -------------------------------------------------------------------------------------------------------------------- |
-| academic | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| advising | CC-BY-4.0 | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| atis | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| restaurants | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| scholar | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| imdb | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| yelp | Not Found | [https://github.com/jkkummerfeld/text2sql-data](https://github.com/jkkummerfeld/text2sql-data) |
-| criteria2sql | Apache-2.0 | [https://github.com/xiaojingyu92/Criteria2SQL](https://github.com/xiaojingyu92/Criteria2SQL) |
-| css | CC-BY-4.0 | [https://huggingface.co/datasets/zhanghanchong/css](https://huggingface.co/datasets/zhanghanchong/css) |
-| eICU | CC-BY-4.0 | [https://github.com/glee4810/EHRSQL](https://github.com/glee4810/EHRSQL) |
-| mimic_iii | CC-BY-4.0 | [https://github.com/glee4810/EHRSQL](https://github.com/glee4810/EHRSQL) |
-| geonucleardata | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| greatermanchestercrime | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| studentmathscore | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| thehistoryofbaseball | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| uswildfires | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| whatcdhiphop | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| worldsoccerdatabase | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| pesticide | CC-BY-SA-4.0 | [https://github.com/chiahsuan156/KaggleDBQA](https://github.com/chiahsuan156/KaggleDBQA) |
-| mimicsql_data | MIT | [https://github.com/wangpinggl/TREQS](https://github.com/wangpinggl/TREQS) |
-| nvbench | MIT | [https://github.com/TsinghuaDatabaseGroup/nvBench](https://github.com/TsinghuaDatabaseGroup/nvBench) |
-| sede | Apache-2.0 | [https://github.com/hirupert/sede](https://github.com/hirupert/sede) |
-| spider | CC-BY-SA-4.0 | [https://huggingface.co/datasets/spider](https://huggingface.co/datasets/spider) |
-| sql_create_context | CC-BY-4.0 | [https://huggingface.co/datasets/b-mc2/sql-create-context](https://huggingface.co/datasets/b-mc2/sql-create-context) |
-| squall | CC-BY-SA-4.0 | [https://github.com/tzshi/squall](https://github.com/tzshi/squall) |
-| wikisql | BSD 3-Clause | [https://github.com/salesforce/WikiSQL](https://github.com/salesforce/WikiSQL) |
-| BIRD | Not Found | https://bird-bench.github.io/ |
-| CHASE | MIT LICENSE | https://xjtu-intsoft.github.io/chase/ |
-| cosql | Not Found | https://yale-lily.github.io/cosql/ |
-
+| name | Execution Accuracy | reference |
+| ----------------------------------| ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
+| **GPT-4** | **0.762** | [numbersstation-eval-res](https://www.numbersstation.ai/post/nsql-llama-2-7b) |
+| ChatGPT | 0.728 | [numbersstation-eval-res](https://www.numbersstation.ai/post/nsql-llama-2-7b) |
+| **CodeLlama-13b-Instruct-hf_lora**| **0.789** | sft train by our this project,only used spider train dataset ,the same eval way in this project with lora SFT |
+| CodeLlama-13b-Instruct-hf_qlora | 0.774 | sft train by our this project,only used spider train dataset ,the same eval way in this project with qlora and nf4,bit4 SFT |
+| wizardcoder | 0.610 | [text-to-sql-wizardcoder](https://github.com/cuplv/text-to-sql-wizardcoder/tree/main) |
+| CodeLlama-13b-Instruct-hf | 0.556 | eval in this project default param |
+| llama2_13b_hf_lora_best | 0.744 | sft train by our this project,only used spider train dataset ,the same eval way in this project |
[More Information about Text2SQL finetune](https://github.com/eosphoros-ai/DB-GPT-Hub)
diff --git a/README.zh.md b/README.zh.md
index a8bc66435..6d4386a6c 100644
--- a/README.zh.md
+++ b/README.zh.md
@@ -117,22 +117,75 @@ DB-GPT 是一个开源的以数据库为基础的GPT实验项目,使用本地
- 插件模型
- 知识库统一向量存储/索引
- 非结构化数据支持包括PDF、MarkDown、CSV、WebURL
-- 多模型支持
+- 多模型支持与管理
- 支持多种大语言模型, 当前已支持如下模型:
- - 🔥 InternLM(7b,20b)
- - 🔥 Baichuan2(7b,13b)
- - 🔥 Vicuna-v1.5(7b,13b)
- - 🔥 llama-2(7b,13b,70b)
- - WizardLM-v1.2(13b)
- - Vicuna (7b,13b)
- - ChatGLM-6b (int4,int8)
- - ChatGLM2-6b (int4,int8)
- - guanaco(7b,13b,33b)
- - Gorilla(7b,13b)
- - baichuan(7b,13b)
+ - [meta-llama/Llama-2-7b-chat-hf](https://huggingface.co/meta-llama/Llama-2-7b-chat-hf)
+ - [baichuan2-7b/baichuan2-13b](https://huggingface.co/baichuan-inc)
+ - [internlm/internlm-chat-7b](https://huggingface.co/internlm/internlm-chat-7b)
+ - [Qwen/Qwen-7B-Chat/Qwen-14B-Chat](https://huggingface.co/Qwen/)
+ - [Vicuna](https://huggingface.co/Tribbiani/vicuna-13b)
+ - [BlinkDL/RWKV-4-Raven](https://huggingface.co/BlinkDL/rwkv-4-raven)
+ - [camel-ai/CAMEL-13B-Combined-Data](https://huggingface.co/camel-ai/CAMEL-13B-Combined-Data)
+ - [databricks/dolly-v2-12b](https://huggingface.co/databricks/dolly-v2-12b)
+ - [FreedomIntelligence/phoenix-inst-chat-7b](https://huggingface.co/FreedomIntelligence/phoenix-inst-chat-7b)
+ - [h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b](https://huggingface.co/h2oai/h2ogpt-gm-oasst1-en-2048-open-llama-7b)
+ - [lcw99/polyglot-ko-12.8b-chang-instruct-chat](https://huggingface.co/lcw99/polyglot-ko-12.8b-chang-instruct-chat)
+ - [lmsys/fastchat-t5-3b-v1.0](https://huggingface.co/lmsys/fastchat-t5)
+ - [mosaicml/mpt-7b-chat](https://huggingface.co/mosaicml/mpt-7b-chat)
+ - [Neutralzz/BiLLa-7B-SFT](https://huggingface.co/Neutralzz/BiLLa-7B-SFT)
+ - [nomic-ai/gpt4all-13b-snoozy](https://huggingface.co/nomic-ai/gpt4all-13b-snoozy)
+ - [NousResearch/Nous-Hermes-13b](https://huggingface.co/NousResearch/Nous-Hermes-13b)
+ - [openaccess-ai-collective/manticore-13b-chat-pyg](https://huggingface.co/openaccess-ai-collective/manticore-13b-chat-pyg)
+ - [OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5](https://huggingface.co/OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5)
+ - [project-baize/baize-v2-7b](https://huggingface.co/project-baize/baize-v2-7b)
+ - [Salesforce/codet5p-6b](https://huggingface.co/Salesforce/codet5p-6b)
+ - [StabilityAI/stablelm-tuned-alpha-7b](https://huggingface.co/stabilityai/stablelm-tuned-alpha-7b)
+ - [THUDM/chatglm-6b](https://huggingface.co/THUDM/chatglm-6b)
+ - [THUDM/chatglm2-6b](https://huggingface.co/THUDM/chatglm2-6b)
+ - [tiiuae/falcon-40b](https://huggingface.co/tiiuae/falcon-40b)
+ - [timdettmers/guanaco-33b-merged](https://huggingface.co/timdettmers/guanaco-33b-merged)
+ - [togethercomputer/RedPajama-INCITE-7B-Chat](https://huggingface.co/togethercomputer/RedPajama-INCITE-7B-Chat)
+ - [WizardLM/WizardLM-13B-V1.0](https://huggingface.co/WizardLM/WizardLM-13B-V1.0)
+ - [WizardLM/WizardCoder-15B-V1.0](https://huggingface.co/WizardLM/WizardCoder-15B-V1.0)
+ - [baichuan-inc/baichuan-7B](https://huggingface.co/baichuan-inc/baichuan-7B)
+ - [HuggingFaceH4/starchat-beta](https://huggingface.co/HuggingFaceH4/starchat-beta)
+ - [FlagAlpha/Llama2-Chinese-13b-Chat](https://huggingface.co/FlagAlpha/Llama2-Chinese-13b-Chat)
+ - [BAAI/AquilaChat-7B](https://huggingface.co/BAAI/AquilaChat-7B)
+ - [all models of OpenOrca](https://huggingface.co/Open-Orca)
+ - [Spicyboros](https://huggingface.co/jondurbin/spicyboros-7b-2.2?not-for-all-audiences=true) + [airoboros 2.2](https://huggingface.co/jondurbin/airoboros-l2-13b-2.2)
+ - [VMware's OpenLLaMa OpenInstruct](https://huggingface.co/VMware/open-llama-7b-open-instruct)
+
+- 支持在线代理模型
+ - [x] ChatGPT
+ - [x] Tongyi
+ - [x] Wenxin
+ - [x] ChatGLM
+
+
+- 支持数据源
+| DataSource | support | Notes |
+| ------------------------------------------------------------------------------ | ----------- | ------------------------------------------- |
+| [MySQL](https://www.mysql.com/) | Yes | |
+| [PostgresSQL](https://www.postgresql.org/) | Yes | |
+| [Spark](https://github.com/apache/spark) | Yes | |
+| [DuckDB](https://github.com/duckdb/duckdb) | Yes | |
+| [Sqlite](https://github.com/sqlite/sqlite) | Yes | |
+| [MSSQL](https://github.com/microsoft/mssql-jdbc) | Yes | |
+| [ClickHouse](https://github.com/ClickHouse/ClickHouse) | Yes | |
+| [Oracle](https://github.com/oracle) | No | TODO |
+| [Redis](https://github.com/redis/redis) | No | TODO |
+| [MongoDB](https://github.com/mongodb/mongo) | No | TODO |
+| [HBase](https://github.com/apache/hbase) | No | TODO |
+| [Doris](https://github.com/apache/doris) | No | TODO |
+| [DB2](https://github.com/IBM/Db2) | No | TODO |
+| [Couchbase](https://github.com/couchbase) | No | TODO |
+| [Elasticsearch](https://github.com/elastic/elasticsearch) | No | TODO |
+| [OceanBase](https://github.com/OceanBase) | No | TODO |
+| [TiDB](https://github.com/pingcap/tidb) | No | TODO |
+| [StarRocks](https://github.com/StarRocks/starrocks) | No | TODO |
## 架构方案
-DB-GPT基于 [FastChat](https://github.com/lm-sys/FastChat) 构建大模型运行环境,并提供 vicuna 作为基础的大语言模型。此外,我们通过LangChain提供私域知识库问答能力。同时我们支持插件模式, 在设计上原生支持Auto-GPT插件。我们的愿景是让围绕数据库和LLM构建应用程序更加简便和便捷。
+DB-GPT基于 [FastChat](https://github.com/lm-sys/FastChat) 构建大模型运行环境。此外,我们通过LangChain提供私域知识库问答能力。同时我们支持插件模式, 在设计上原生支持Auto-GPT插件。我们的愿景是让围绕数据库和LLM构建应用程序更加简便和便捷。
整个DB-GPT的架构,如下图所示
@@ -141,16 +194,16 @@ DB-GPT基于 [FastChat](https://github.com/lm-sys/FastChat) 构建大模型运
核心能力主要有以下几个部分。
-1. 知识库能力:支持私域知识库问答能力
-2. 大模型管理能力:基于FastChat提供一个大模型的运营环境。
-3. 统一的数据向量化存储与索引:提供一种统一的方式来存储和索引各种数据类型。
-4. 连接模块:用于连接不同的模块和数据源,实现数据的流转和交互。
-5. Agent与插件:提供Agent和插件机制,使得用户可以自定义并增强系统的行为。
-6. Prompt自动生成与优化:自动化生成高质量的Prompt,并进行优化,提高系统的响应效率。
-7. 多端产品界面:支持多种不同的客户端产品,例如Web、移动应用和桌面应用等。
+1. 多模型:支持多LLM,如LLaMA/LLaMA2、CodeLLaMA、ChatGLM、QWen、Vicuna以及代理模型ChatGPT、Baichuan、tongyi、wenxin等
+2. 私域知识库问答: 可以根据本地文档(如pdf、word、excel等数据)进行高质量的智能问答。
+3. 统一数据向量存储和索引: 将数据嵌入为向量并存储在向量数据库中,提供内容相似性搜索。
+4. 多数据源: 用于连接不同的模块和数据源,实现数据的流动和交互。
+5. Agent与插件: 提供Agent和插件机制,使得用户可以自定义并增强系统的行为。
+6. 隐私和安全: 您可以放心,没有数据泄露的风险,您的数据100%私密和安全。
+7. Text2SQL: 我们通过在大型语言模型监督微调(SFT)来增强文本到SQL的性能
### 子模块
-- [DB-GPT-Hub](https://github.com/csunny/DB-GPT-Hub) 使用 LLM 进行文本到 SQL 解析
+- [DB-GPT-Hub](https://github.com/csunny/DB-GPT-Hub) 通过微调来持续提升Text2SQL效果
- [DB-GPT-Plugins](https://github.com/csunny/DB-GPT-Plugins) DB-GPT 插件仓库, 兼容Auto-GPT
- [DB-GPT-Web](https://github.com/csunny/DB-GPT-Web) 多端交互前端界面
@@ -194,6 +247,84 @@ The MIT License (MIT)
+### 知识库RAG检索优化
+- [x] Multi Documents
+ - [x] PDF
+ - [x] Excel, csv
+ - [x] Word
+ - [x] Text
+ - [x] MarkDown
+ - [ ] Code
+ - [ ] Images
+- [x]RAG
+- [ ]KnownledgeGraph
+
+### 多数据源支持
+
+- 支持数据源
+ - [x]MySQL
+ - [x]PostgresSQL
+ - [x]Spark
+ - [x]DuckDB
+ - [x]Sqlite
+ - [x]MSSQL
+ - [x]ClickHouse
+ - [ ]Oracle
+ - [ ]Redis
+ - [ ]MongoDB
+ - [ ]HBase
+ - [ ]Doris
+ - [ ]DB2
+ - [ ]Couchbase
+ - [ ]Elasticsearch
+ - [ ]OceanBase
+ - [ ]TiDB
+ - [ ]StarRocks
+
+### 多模型管理与推理优化
+- [x] [集群部署](https://db-gpt.readthedocs.io/en/latest/getting_started/install/cluster/vms/index.html)
+- [x] [fastchat支持](https://github.com/lm-sys/FastChat)
+- [x] [vLLM 支持](https://db-gpt.readthedocs.io/en/latest/getting_started/install/llm/vllm/vllm.html)
+
+### Agents与插件市场
+- [x] 多Agents框架
+- [x] 自定义Agents
+- [ ] 插件市场
+
+### 成本与可观测性
+- [x] [debugging](https://db-gpt.readthedocs.io/en/latest/getting_started/observability.html)
+- [ ] 可观测性
+- [ ] 推理预算
+
+### Text2SQL微调
+- support llms
+ - [x]LLaMA
+ - [x]LLaMA-2
+ - [x]BLOOM
+ - [x]BLOOMZ
+ - [x]Falcon
+ - [x]Baichuan
+ - [x]Baichuan2
+ - [x]InternLM
+ - [x]Qwen
+ - [x]XVERSE
+ - [x]ChatGLM2
+
+- SFT模型准确率
+截止20231010,我们利用本项目基于开源的13B大小的模型微调后,在Spider的评估集上的执行准确率,已经超越GPT-4!
+
+| 模型名称 | 执行准确率 | 说明 |
+| ----------------------------------| ------------------ | ------------------------------------------------------------------------------------------------------------------------------ |
+| **GPT-4** | **0.762** | [numbersstation-eval-res](https://www.numbersstation.ai/post/nsql-llama-2-7b) |
+| ChatGPT | 0.728 | [numbersstation-eval-res](https://www.numbersstation.ai/post/nsql-llama-2-7b) |
+| **CodeLlama-13b-Instruct-hf_lora**| **0.789** | sft train by our this project,only used spider train dataset ,the same eval way in this project with lora SFT |
+| CodeLlama-13b-Instruct-hf_qlora | 0.774 | sft train by our this project,only used spider train dataset ,the same eval way in this project with qlora and nf4,bit4 SFT |
+| wizardcoder | 0.610 | [text-to-sql-wizardcoder](https://github.com/cuplv/text-to-sql-wizardcoder/tree/main) |
+| CodeLlama-13b-Instruct-hf | 0.556 | eval in this project default param |
+| llama2_13b_hf_lora_best | 0.744 | sft train by our this project,only used spider train dataset ,the same eval way in this project |
+
+[More Information about Text2SQL finetune](https://github.com/eosphoros-ai/DB-GPT-Hub)
+
## 联系我们
diff --git a/pilot/model/proxy/llms/tongyi.py b/pilot/model/proxy/llms/tongyi.py
index 34aacff15..2b1a56e6e 100644
--- a/pilot/model/proxy/llms/tongyi.py
+++ b/pilot/model/proxy/llms/tongyi.py
@@ -34,7 +34,7 @@ def tongyi_generate_stream(
elif message.role == ModelMessageRoleType.SYSTEM:
history.append({"role": "system", "content": message.content})
elif message.role == ModelMessageRoleType.AI:
- history.append({"role": "assistant", "content": message.content})
+ history.append({"role": "system", "content": message.content})
else:
pass
@@ -49,7 +49,7 @@ def tongyi_generate_stream(
history.remove(last_user_input)
history.append(last_user_input)
- print("history", history)
+ print(history)
gen = Generation()
res = gen.call(
proxyllm_backend,