feat: basic function for management of people

- recognize people info by input text or image
- create a people and save into relational database and vector database and object storage
- delete a people by people id
- get peoples with pagination and fitlers by gender, age and height
- get peoples with topN and searching by nature language
This commit is contained in:
2025-10-09 22:07:03 +08:00
parent 7cea2eb8a5
commit 52d1bc5cf4
19 changed files with 1327 additions and 0 deletions

33
src/main.py Normal file
View File

@@ -0,0 +1,33 @@
# -*- coding: utf-8 -*-
# created by mmmy on 2025-09-27
import logging
import os
import argparse
from venv import logger
import uvicorn
from app.api import api
from utils import obs, ocr, vsdb
from utils.config import get_instance as get_config, init as init_config
from utils.logger import init as init_logger
from storage import people_store
# 主函数
def main():
main_path = os.path.dirname(os.path.abspath(__file__))
parser = argparse.ArgumentParser(description='IF.u 服务')
parser.add_argument('--config', type=str, default=os.path.join(main_path, '../configuration/test_conf.ini'), help='配置文件路径')
args = parser.parse_args()
init_logger(log_level=logging.DEBUG)
logger.info(f"args.config: {args.config}")
init_config(args.config)
config = get_config()
print(config.sections())
obs.init()
ocr.init()
vsdb.init()
people_store.init()
port = config.getint('web_service', 'server_port', fallback=8099)
uvicorn.run(api, host="127.0.0.1", port=port)
if __name__ == "__main__":
main()