Skip to content

Commit 02e3bc1

Browse files
committed
init: 初始化项目
0 parents  commit 02e3bc1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+5084
-0
lines changed

.gitignore

+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Byte-compiled / optimized / DLL files
2+
__pycache__/
3+
*.py[cod]
4+
*$py.class
5+
6+
# C extensions
7+
*.so
8+
9+
# Distribution / packaging
10+
.Python
11+
env/
12+
venv/
13+
ENV/
14+
env.bak/
15+
venv.bak/
16+
pip-wheel-metadata/
17+
*.egg-info/
18+
*.egg
19+
dist/
20+
build/
21+
22+
# Virtual environments
23+
# Common virtual environment folders
24+
.venv/
25+
.venv.bak/
26+
ENV/
27+
env/
28+
env.bak/
29+
venv/
30+
venv.bak/
31+
32+
# Flask specific
33+
instance/
34+
.webassets-cache
35+
36+
# Pytest
37+
.pytest_cache/
38+
.coverage
39+
.tox/
40+
nosetests.xml
41+
coverage.xml
42+
*.cover
43+
.hypothesis/
44+
45+
# Jupyter Notebook
46+
.ipynb_checkpoints
47+
48+
# Environments
49+
.env
50+
.env.*
51+
*.env
52+
53+
# PyCharm
54+
.idea/
55+
56+
# VS Code
57+
.vscode/
58+
59+
# Sublime Text
60+
*.sublime-project
61+
*.sublime-workspace
62+
63+
# MacOS
64+
.DS_Store
65+
66+
# Windows
67+
Thumbs.db
68+
ehthumbs.db
69+
Desktop.ini
70+
71+
# Other IDEs and editors
72+
*.swp
73+
*~
74+
75+
# Logs and databases
76+
*.log
77+
*.sqlite3
78+
79+
# Test output
80+
htmlcov/
81+
82+
# MyPy
83+
.mypy_cache/
84+
.dmypy.json
85+
dmypy.json
86+
87+
# Docker
88+
*.dockerignore
89+
docker-compose.yml
90+
Dockerfile
91+
__pycache__/
92+
93+
# pylint
94+
pylint-report.txt
95+
pylint-global.rc
96+
97+
# Coverage reports
98+
htmlcov/
99+
.coverage
100+
.coverage.*
101+
.cache
102+
.nox/

README.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
## Chat2SQLGraph
2+
3+
**Chat2SQLGraph** 是一个基于对话的智能数据分析和可视化工具。通过自然语言对话,用户可以生成 SQL 查询、执行数据检索,并自动将查询结果转化为可视化图表。该项目利用大语言模型(LLM)实现自然语言到 SQL 的翻译,并将 SQL 查询结果直观地展现在图表中,极大地方便了用户的数据分析过程。
4+
5+
### 主要功能:
6+
7+
- **自然语言转 SQL 查询**:通过与系统的对话,生成复杂的 SQL 查询语句。
8+
- **智能数据检索**:执行生成的 SQL 查询,获取数据库中的数据。
9+
- **自动数据可视化**:将 SQL 查询结果转化为图表,如柱状图、饼图、折线图等,帮助用户更好地理解数据。
10+
- **易于集成和扩展**:支持不同的数据库系统和图表库,适用于各种数据分析场景。
11+
12+
### 应用场景:
13+
14+
- 数据分析师快速生成和执行 SQL 查询并可视化结果。
15+
- 产品经理和业务分析师通过自然语言探索数据洞察。
16+
- 数据科学团队协作分析和共享可视化结果。
17+
18+
**Chat2SQLGraph** ,欢迎贡献和反馈!

backend/chat/__init__.py

Whitespace-only changes.

backend/chat/admin.py

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from django.contrib import admin
2+
3+
# Register your models here.

backend/chat/apps.py

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
from django.apps import AppConfig
2+
3+
4+
class ChatConfig(AppConfig):
5+
default_auto_field = "django.db.models.BigAutoField"
6+
name = "chat"
+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Generated by Django 5.1.1 on 2024-09-26 12:01
2+
3+
import django.db.models.deletion
4+
import uuid
5+
from django.db import migrations, models
6+
7+
8+
class Migration(migrations.Migration):
9+
10+
initial = True
11+
12+
dependencies = [
13+
("setting", "0005_alter_datasource_url"),
14+
("user", "0001_initial"),
15+
]
16+
17+
operations = [
18+
migrations.CreateModel(
19+
name="ChatInfo",
20+
fields=[
21+
(
22+
"id",
23+
models.UUIDField(
24+
default=uuid.uuid1,
25+
primary_key=True,
26+
serialize=False,
27+
verbose_name="会话 id",
28+
),
29+
),
30+
("user_demand", models.TextField(verbose_name="用户需求")),
31+
("chat_content", models.JSONField(verbose_name="会话内容")),
32+
(
33+
"created_at",
34+
models.DateTimeField(auto_now_add=True, verbose_name="创建时间"),
35+
),
36+
(
37+
"updated_at",
38+
models.DateTimeField(auto_now=True, verbose_name="更新时间"),
39+
),
40+
(
41+
"datasource_id",
42+
models.ForeignKey(
43+
db_column="datasource_id",
44+
on_delete=django.db.models.deletion.CASCADE,
45+
to="setting.datasource",
46+
verbose_name="数据源 id",
47+
),
48+
),
49+
(
50+
"user_id",
51+
models.ForeignKey(
52+
db_column="user_id",
53+
on_delete=django.db.models.deletion.CASCADE,
54+
to="user.user",
55+
verbose_name="用户 id",
56+
),
57+
),
58+
],
59+
options={
60+
"verbose_name": "会话信息",
61+
"verbose_name_plural": "会话信息",
62+
"db_table": "chat_info",
63+
},
64+
),
65+
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Generated by Django 5.1.1 on 2024-09-26 12:13
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
8+
dependencies = [
9+
("chat", "0001_initial"),
10+
]
11+
12+
operations = [
13+
migrations.AlterField(
14+
model_name="chatinfo",
15+
name="chat_content",
16+
field=models.JSONField(blank=True, null=True, verbose_name="会话内容"),
17+
),
18+
migrations.AlterField(
19+
model_name="chatinfo",
20+
name="user_demand",
21+
field=models.TextField(blank=True, null=True, verbose_name="用户需求"),
22+
),
23+
]

backend/chat/migrations/__init__.py

Whitespace-only changes.

backend/chat/models.py

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
from django.db import models
2+
from setting.models import Datasource
3+
import uuid
4+
from user.models import User
5+
6+
# Create your models here.
7+
8+
class ChatInfo(models.Model):
9+
id = models.UUIDField(verbose_name="会话 id",max_length=32,primary_key=True,default=uuid.uuid1)
10+
datasource_id = models.ForeignKey(Datasource,verbose_name="数据源 id",on_delete=models.CASCADE,db_column="datasource_id")
11+
user_id = models.ForeignKey(User,verbose_name="用户 id",on_delete=models.CASCADE,db_column="user_id")
12+
user_demand = models.TextField(blank = True, null = True, verbose_name = "用户需求")
13+
chat_content = models.JSONField (verbose_name="会话内容",blank = True, null = True)
14+
15+
created_at = models.DateTimeField(verbose_name="创建时间",auto_now_add=True)
16+
updated_at = models.DateTimeField(verbose_name="更新时间",auto_now=True)
17+
18+
class Meta:
19+
db_table = "chat_info"
20+
verbose_name = "会话信息"
21+
verbose_name_plural = "会话信息"

0 commit comments

Comments
 (0)