diff --git a/prompt.txt b/prompt.txt new file mode 100644 index 0000000..3bedf8c --- /dev/null +++ b/prompt.txt @@ -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 项目结构 + diff --git a/src/pipeline/config.py b/src/pipeline/config.py index 97cf82c..210f4e5 100644 --- a/src/pipeline/config.py +++ b/src/pipeline/config.py @@ -1,7 +1,7 @@ from mimetypes import init from typing import TypedDict from dotenv import load_dotenv -from src.pipeline.core.utils import logger +from src.pipeline.utils import logger import os load_dotenv() diff --git a/src/pipeline/core/es.py b/src/pipeline/core/es.py index 06e4468..178fafe 100644 --- a/src/pipeline/core/es.py +++ b/src/pipeline/core/es.py @@ -1,7 +1,7 @@ import httpx from datetime import datetime, timezone from src.pipeline.config import config -from src.pipeline.core.utils import logger +from src.pipeline.utils import logger class AsyncES: diff --git a/src/pipeline/core/llm.py b/src/pipeline/core/llm.py index 0ef528d..60fbb83 100644 --- a/src/pipeline/core/llm.py +++ b/src/pipeline/core/llm.py @@ -1,7 +1,7 @@ import httpx import json from src.pipeline.config import config -from src.pipeline.core.utils import logger +from src.pipeline.utils import logger class AsyncLLm: diff --git a/src/pipeline/core/nodes.py b/src/pipeline/core/nodes.py index 33d4841..e4f778c 100644 --- a/src/pipeline/core/nodes.py +++ b/src/pipeline/core/nodes.py @@ -1,7 +1,7 @@ import uuid import re 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 es from itertools import chain diff --git a/src/pipeline/core/utils.py b/src/pipeline/utils.py similarity index 100% rename from src/pipeline/core/utils.py rename to src/pipeline/utils.py diff --git a/tests/pipeline/core/test_nodes.py b/tests/pipeline/core/test_nodes.py index 2ec945f..8499190 100644 --- a/tests/pipeline/core/test_nodes.py +++ b/tests/pipeline/core/test_nodes.py @@ -3,9 +3,10 @@ from platform import node import pytest import json from src.pipeline.core.pocket_flow import AsyncFlow -from src.pipeline.core.utils import logger -from src.pipeline.core import llm, es, nodes, utils +from src.pipeline.utils import logger +from src.pipeline.core import llm, es, nodes from src.pipeline.core.skills import load_skills +from src.pipeline import utils @pytest.fixture(scope="session") diff --git a/tests/pipeline/core/test_utils.py b/tests/pipeline/core/test_utils.py index c1c40d3..629a7fa 100644 --- a/tests/pipeline/core/test_utils.py +++ b/tests/pipeline/core/test_utils.py @@ -1,6 +1,6 @@ import pytest 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 @pytest.mark.asyncio