syc
This commit is contained in:
parent
65a8b06313
commit
d89b7fdeec
14
README.md
14
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
|
||||
```
|
||||
|
||||
|
||||
### 启动命令行模式
|
||||
|
||||
18
requirements.txt
Normal file
18
requirements.txt
Normal file
@ -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
|
||||
@ -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
|
||||
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()
|
||||
@ -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
|
||||
@ -7,7 +7,7 @@
|
||||
<a-button type="text" danger class="del-db" @click="deleteDatabse"><DeleteOutlined /></a-button>
|
||||
</div>
|
||||
<div class="top">
|
||||
<div class="icon"><ReadFilled /></div>
|
||||
<!-- <div class="icon"><ReadFilled /></div> -->
|
||||
<div class="info">
|
||||
<h3>{{ database.name }}</h3>
|
||||
<p><span>{{ database.metadata?.row_count }}行 · {{ database.files?.length || 0 }}文件</span></p>
|
||||
@ -15,7 +15,7 @@
|
||||
</div>
|
||||
<p class="description">{{ database.description }}</p>
|
||||
<div class="tags">
|
||||
<a-tag color="blue" v-if="database.embed_model">Embed: {{ database.embed_model }}</a-tag>
|
||||
<a-tag color="blue" v-if="database.embed_model">{{ database.embed_model }}</a-tag>
|
||||
</div>
|
||||
<a-divider/>
|
||||
<div class="pagebtns">
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user