feat: 调整结构
This commit is contained in:
parent
debd807416
commit
5cb4b51c6c
|
|
@ -0,0 +1,22 @@
|
||||||
|
我现在要实现一个AI应用后台服务,主要功能包括 RAG、Agent 、Guard 等功能模块。主要思想是通过 pocket-flow 把服务核心功能逻辑拆解通过 flow 组合对应的功能模块。
|
||||||
|
|
||||||
|
# 角色
|
||||||
|
|
||||||
|
你是一个资深的 python 领域工程师
|
||||||
|
|
||||||
|
# 技术
|
||||||
|
|
||||||
|
1. api 服务使用 fastapi 框架
|
||||||
|
2. orm 使用 tortoise-orm
|
||||||
|
3. 测试框架使用 pytest-asyncio
|
||||||
|
4. 预留前端代码部署文件夹,后续通过 nginx 容器启动前端服务
|
||||||
|
5. celery 处理 redis 中的任务队列
|
||||||
|
6. 使用 cython 对最终交付代码进行打包 (生成 docker image)
|
||||||
|
|
||||||
|
# 其他要求
|
||||||
|
|
||||||
|
1. 重新整理当前项目结构 ai_pipeline
|
||||||
|
2. 给出最符合现代敏捷开发的项目结构
|
||||||
|
3. 给出部署相关配置文件,使用 docker
|
||||||
|
4. 使用 src 项目结构
|
||||||
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from mimetypes import init
|
from mimetypes import init
|
||||||
from typing import TypedDict
|
from typing import TypedDict
|
||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
from src.pipeline.core.utils import logger
|
from src.pipeline.utils import logger
|
||||||
import os
|
import os
|
||||||
|
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import httpx
|
import httpx
|
||||||
from datetime import datetime, timezone
|
from datetime import datetime, timezone
|
||||||
from src.pipeline.config import config
|
from src.pipeline.config import config
|
||||||
from src.pipeline.core.utils import logger
|
from src.pipeline.utils import logger
|
||||||
|
|
||||||
|
|
||||||
class AsyncES:
|
class AsyncES:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import httpx
|
import httpx
|
||||||
import json
|
import json
|
||||||
from src.pipeline.config import config
|
from src.pipeline.config import config
|
||||||
from src.pipeline.core.utils import logger
|
from src.pipeline.utils import logger
|
||||||
|
|
||||||
|
|
||||||
class AsyncLLm:
|
class AsyncLLm:
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
import uuid
|
import uuid
|
||||||
import re
|
import re
|
||||||
from src.pipeline.core.pocket_flow import AsyncBatchNode, AsyncNode
|
from src.pipeline.core.pocket_flow import AsyncBatchNode, AsyncNode
|
||||||
from src.pipeline.core.utils import fixed_size_chunk, load_document, logger, baidu_search_async, parse_llm_json
|
from src.pipeline.utils import fixed_size_chunk, load_document, logger, baidu_search_async, parse_llm_json
|
||||||
from src.pipeline.core import llm
|
from src.pipeline.core import llm
|
||||||
from src.pipeline.core import es
|
from src.pipeline.core import es
|
||||||
from itertools import chain
|
from itertools import chain
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,10 @@ from platform import node
|
||||||
import pytest
|
import pytest
|
||||||
import json
|
import json
|
||||||
from src.pipeline.core.pocket_flow import AsyncFlow
|
from src.pipeline.core.pocket_flow import AsyncFlow
|
||||||
from src.pipeline.core.utils import logger
|
from src.pipeline.utils import logger
|
||||||
from src.pipeline.core import llm, es, nodes, utils
|
from src.pipeline.core import llm, es, nodes
|
||||||
from src.pipeline.core.skills import load_skills
|
from src.pipeline.core.skills import load_skills
|
||||||
|
from src.pipeline import utils
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture(scope="session")
|
@pytest.fixture(scope="session")
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
import pytest
|
import pytest
|
||||||
import json
|
import json
|
||||||
from src.pipeline.core.utils import logger, baidu_search_async
|
from src.pipeline.utils import logger, baidu_search_async
|
||||||
from src.pipeline.core.skills import load_skills
|
from src.pipeline.core.skills import load_skills
|
||||||
|
|
||||||
@pytest.mark.asyncio
|
@pytest.mark.asyncio
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue