From d89b7fdeec61a72bc171fb713847ceb6a7979362 Mon Sep 17 00:00:00 2001 From: xerrors Date: Fri, 30 Aug 2024 11:54:21 +0800 Subject: [PATCH] syc --- README.md | 14 ++++- requirements.txt | 18 +++++++ src/core/database.py | 83 +++++++++++++++--------------- src/requirements.txt | 6 --- web/src/views/DataBaseInfoView.vue | 9 ++-- 5 files changed, 78 insertions(+), 52 deletions(-) create mode 100644 requirements.txt delete mode 100644 src/requirements.txt diff --git a/README.md b/README.md index a391ec99..f05c7a24 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,19 @@ ### 准备 1. 提供 API 服务商的 API_KEY,并放置在 `src/.env` 文件中,参考 `src/.env.template`。默认使用的是智谱AI。 -2. 配置 python 环境 `pip install -r src/requirements.txt` +2. 配置 python 环境 `pip install -r requirements.txt` + +**如果不启用知识库,可以jin** + +``` +FlagEmbedding==1.2.10 +Flask==3.0.3 +Flask_Cors==4.0.1 +openai==1.35.10 +python-dotenv==1.0.1 +PyYAML==6.0.1 +zhipuai +``` ### 启动命令行模式 diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..0cbf80b3 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,18 @@ +dashscope==1.20.5 +FlagEmbedding==1.2.11 +Flask==3.0.3 +Flask_Cors==4.0.1 +llama_index==0.11.1 +neo4j==5.23.1 +openai==1.42.0 +paddleocr==2.8.1 +pymilvus==2.4.5 +python-dotenv==1.0.1 +PyYAML==6.0.2 +qianfan==0.4.6 +torch==2.4.0 +tqdm==4.66.5 +zhipuai==2.1.4.20230814 +PyMuPDF +llama-index-readers-file +peft \ No newline at end of file diff --git a/src/core/database.py b/src/core/database.py index 05b7b432..443896de 100644 --- a/src/core/database.py +++ b/src/core/database.py @@ -8,46 +8,6 @@ from src.models.embedding import get_embedding_model logger = setup_logger("DataBaseManager") -class DataBaseLite: - def __init__(self, name, description, db_type, dimension=None, **kwargs) -> None: - self.name = name - self.description = description - self.db_type = db_type - self.dimension = dimension - self.db_id = kwargs.get("db_id", hashstr(name)) - self.metaname = kwargs.get("metaname", f"{db_type[:1]}{hashstr(name)}") - self.metadata = kwargs.get("metaname", {}) - self.files = kwargs.get("files", []) - self.embed_model = kwargs.get("embed_model", None) - - def id2file(self, file_id): - for f in self.files: - if f["file_id"] == file_id: - return f - return None - - def update(self, metadata): - self.metadata = metadata - - def to_dict(self): - return { - "name": self.name, - "description": self.description, - "db_type": self.db_type, - "db_id": self.db_id, - "embed_model": self.embed_model, - "metaname": self.metaname, - "metadata": self.metadata, - "files": self.files, - "dimension": self.dimension - } - - def to_json(self): - return json.dumps(self.to_dict(), ensure_ascii=False) - - def __str__(self): - return self.to_json() - class DataBaseManager: def __init__(self, config=None) -> None: @@ -252,4 +212,45 @@ class DataBaseManager: for db in self.data["databases"]: if db.db_id == db_id: return db - return None \ No newline at end of file + return None + + +class DataBaseLite: + def __init__(self, name, description, db_type, dimension=None, **kwargs) -> None: + self.name = name + self.description = description + self.db_type = db_type + self.dimension = dimension + self.db_id = kwargs.get("db_id", hashstr(name)) + self.metaname = kwargs.get("metaname", f"{db_type[:1]}{hashstr(name)}") + self.metadata = kwargs.get("metaname", {}) + self.files = kwargs.get("files", []) + self.embed_model = kwargs.get("embed_model", None) + + def id2file(self, file_id): + for f in self.files: + if f["file_id"] == file_id: + return f + return None + + def update(self, metadata): + self.metadata = metadata + + def to_dict(self): + return { + "name": self.name, + "description": self.description, + "db_type": self.db_type, + "db_id": self.db_id, + "embed_model": self.embed_model, + "metaname": self.metaname, + "metadata": self.metadata, + "files": self.files, + "dimension": self.dimension + } + + def to_json(self): + return json.dumps(self.to_dict(), ensure_ascii=False) + + def __str__(self): + return self.to_json() \ No newline at end of file diff --git a/src/requirements.txt b/src/requirements.txt deleted file mode 100644 index 29577253..00000000 --- a/src/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -FlagEmbedding==1.2.10 -Flask==3.0.3 -Flask_Cors==4.0.1 -openai==1.35.10 -python-dotenv==1.0.1 -PyYAML==6.0.1 diff --git a/web/src/views/DataBaseInfoView.vue b/web/src/views/DataBaseInfoView.vue index 87eb46cf..1f6e6658 100644 --- a/web/src/views/DataBaseInfoView.vue +++ b/web/src/views/DataBaseInfoView.vue @@ -7,7 +7,7 @@
-
+

{{ database.name }}

{{ database.metadata?.row_count }}行 · {{ database.files?.length || 0 }}文件

@@ -15,7 +15,7 @@

{{ database.description }}

- Embed: {{ database.embed_model }} + {{ database.embed_model }}
@@ -476,8 +476,7 @@ onMounted(() => { display: flex; justify-content: space-between; margin-bottom: 20px; - padding-top: 10px; - padding-bottom: 10px; + padding: 10px; background-color: var(--main-light-5); border-bottom: 1px solid #E0EAFF; @@ -485,6 +484,8 @@ onMounted(() => { height: auto; font-size: 16px; color: var(--c-text-light-1); + padding-left: 8px; + padding-right: 8px; } } }