From b1c2488162f3903dea735043e9a556a7a2dada26 Mon Sep 17 00:00:00 2001 From: killua <1223086337@qq.com> Date: Fri, 20 Jun 2025 10:41:59 +0800 Subject: [PATCH] init --- .gitignore | 0 README.md | 2 - main.py | 11 ++++++ requirements.txt | 0 scripts/deploy.sh | 0 scripts/run.sh | 0 src/api/__init__.py | 0 src/api/v1/__init__.py | 0 src/api/v1/endpoints/chat.py | 37 +++++++++++++++++++ src/api/v1/endpoints/rtc.py | 13 +++++++ src/api/v1/endpoints/user.py | 0 src/api/v1/router.py | 8 ++++ src/infrastructure/__init__.py | 0 src/infrastructure/auth.py | 0 src/infrastructure/codec.py | 0 src/infrastructure/config_utils.py | 0 src/infrastructure/control_frame.py | 0 src/infrastructure/db/__init__.py | 0 src/infrastructure/db/models.py | 0 src/infrastructure/db/service.py | 0 src/infrastructure/logger/__init__.py | 0 .../logger/dev_logging_config.yaml | 0 src/infrastructure/logger/logger.py | 0 .../logger/prod_logging_config..yaml | 0 src/infrastructure/oss.py | 0 src/infrastructure/rabbitmq.py | 0 src/infrastructure/redis.py | 0 src/infrastructure/snowflake.py | 0 src/services/content/__init__.py | 0 src/services/content/content_service.py | 0 src/services/function/__init__.py | 0 src/services/function/function_service.py | 0 src/services/game_engine/__init__.py | 0 src/services/game_engine/game_service.py | 0 src/services/llm/__init__.py | 0 src/services/llm/llm_service.py | 1 + src/services/llm/prompt/__init__.py | 0 src/services/llm/prompt/game_prompt.py | 0 .../memory/implement/memory_impl_1.py | 12 ++++++ src/services/memory/memory_service.py | 13 +++++++ .../planner/implement/planner_impl1.py | 9 +++++ src/services/planner/planner_service.py | 10 +++++ 42 files changed, 114 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 main.py create mode 100644 requirements.txt create mode 100644 scripts/deploy.sh create mode 100644 scripts/run.sh create mode 100644 src/api/__init__.py create mode 100644 src/api/v1/__init__.py create mode 100644 src/api/v1/endpoints/chat.py create mode 100644 src/api/v1/endpoints/rtc.py create mode 100644 src/api/v1/endpoints/user.py create mode 100644 src/api/v1/router.py create mode 100644 src/infrastructure/__init__.py create mode 100644 src/infrastructure/auth.py create mode 100644 src/infrastructure/codec.py create mode 100644 src/infrastructure/config_utils.py create mode 100644 src/infrastructure/control_frame.py create mode 100644 src/infrastructure/db/__init__.py create mode 100644 src/infrastructure/db/models.py create mode 100644 src/infrastructure/db/service.py create mode 100644 src/infrastructure/logger/__init__.py create mode 100644 src/infrastructure/logger/dev_logging_config.yaml create mode 100644 src/infrastructure/logger/logger.py create mode 100644 src/infrastructure/logger/prod_logging_config..yaml create mode 100644 src/infrastructure/oss.py create mode 100644 src/infrastructure/rabbitmq.py create mode 100644 src/infrastructure/redis.py create mode 100644 src/infrastructure/snowflake.py create mode 100644 src/services/content/__init__.py create mode 100644 src/services/content/content_service.py create mode 100644 src/services/function/__init__.py create mode 100644 src/services/function/function_service.py create mode 100644 src/services/game_engine/__init__.py create mode 100644 src/services/game_engine/game_service.py create mode 100644 src/services/llm/__init__.py create mode 100644 src/services/llm/llm_service.py create mode 100644 src/services/llm/prompt/__init__.py create mode 100644 src/services/llm/prompt/game_prompt.py create mode 100644 src/services/memory/implement/memory_impl_1.py create mode 100644 src/services/memory/memory_service.py create mode 100644 src/services/planner/implement/planner_impl1.py create mode 100644 src/services/planner/planner_service.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md index fa2db1b..e69de29 100644 --- a/README.md +++ b/README.md @@ -1,2 +0,0 @@ -# ai_chat_architecture - diff --git a/main.py b/main.py new file mode 100644 index 0000000..d38244f --- /dev/null +++ b/main.py @@ -0,0 +1,11 @@ +# 主程序入口 +from src.api.v1.router import v1_router +from fastapi import FastAPI +import uvicorn + +app = FastAPI() +app.include_router(v1_router) + +if __name__ == '__main__': + uvicorn.run(app, host='0.0.0.0', port=8000) + diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..e69de29 diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 0000000..e69de29 diff --git a/scripts/run.sh b/scripts/run.sh new file mode 100644 index 0000000..e69de29 diff --git a/src/api/__init__.py b/src/api/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/api/v1/__init__.py b/src/api/v1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/api/v1/endpoints/chat.py b/src/api/v1/endpoints/chat.py new file mode 100644 index 0000000..dc9232f --- /dev/null +++ b/src/api/v1/endpoints/chat.py @@ -0,0 +1,37 @@ +from fastapi import APIRouter +from src.services.memory.implement.memory_impl_1 import MemoryImpl1 +from src.services.planner.implement.planner_impl1 import PlannerImpl1 + +chat_router = APIRouter(prefix='/chat') + +@chat_router.get("/chat1") +async def chat1(user_msg: str): + # 记忆模块 + memory_service = MemoryImpl1() + memory_service.search_memory_info(user_msg) + memory_service.update_memory_info(user_msg) + + # 决策模块 + planner_service = PlannerImpl1() + plan_result =planner_service.plan(user_msg) + + if plan_result['action'] == "answer": + "调用llm_service" + pass + elif plan_result['action'] == "content": + "调用content_service" + pass + elif plan_result['action'] == "function": + "调用function_service" + pass + elif plan_result['action'] == "game": + "调用game_service" + pass + + # 进一步返回结果 + return {} + + +@chat_router.get("/chat2") +async def chat2(): + pass \ No newline at end of file diff --git a/src/api/v1/endpoints/rtc.py b/src/api/v1/endpoints/rtc.py new file mode 100644 index 0000000..0dd8e2e --- /dev/null +++ b/src/api/v1/endpoints/rtc.py @@ -0,0 +1,13 @@ +from fastapi import APIRouter + + +chat_router = APIRouter(prefix='/rtc') + + +@chat_router.get("/rtc1") +async def rtc1(): + pass + +@chat_router.get("/rtc2") +async def rtc2(): + pass \ No newline at end of file diff --git a/src/api/v1/endpoints/user.py b/src/api/v1/endpoints/user.py new file mode 100644 index 0000000..e69de29 diff --git a/src/api/v1/router.py b/src/api/v1/router.py new file mode 100644 index 0000000..b6be30e --- /dev/null +++ b/src/api/v1/router.py @@ -0,0 +1,8 @@ +from fastapi import APIRouter +from src.api.v1.endpoints.chat import chat_router +from src.api.v1.endpoints.rtc import rtc_router + +v1_router = APIRouter(prefix='/api/v1') + +v1_router.include_router(chat_router, prefix='/chat') +v1_router.include_router(rtc_router, prefix='/rtc') \ No newline at end of file diff --git a/src/infrastructure/__init__.py b/src/infrastructure/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/auth.py b/src/infrastructure/auth.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/codec.py b/src/infrastructure/codec.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/config_utils.py b/src/infrastructure/config_utils.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/control_frame.py b/src/infrastructure/control_frame.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/db/__init__.py b/src/infrastructure/db/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/db/models.py b/src/infrastructure/db/models.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/db/service.py b/src/infrastructure/db/service.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/logger/__init__.py b/src/infrastructure/logger/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/logger/dev_logging_config.yaml b/src/infrastructure/logger/dev_logging_config.yaml new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/logger/logger.py b/src/infrastructure/logger/logger.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/logger/prod_logging_config..yaml b/src/infrastructure/logger/prod_logging_config..yaml new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/oss.py b/src/infrastructure/oss.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/rabbitmq.py b/src/infrastructure/rabbitmq.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/redis.py b/src/infrastructure/redis.py new file mode 100644 index 0000000..e69de29 diff --git a/src/infrastructure/snowflake.py b/src/infrastructure/snowflake.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/content/__init__.py b/src/services/content/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/content/content_service.py b/src/services/content/content_service.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/function/__init__.py b/src/services/function/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/function/function_service.py b/src/services/function/function_service.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/game_engine/__init__.py b/src/services/game_engine/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/game_engine/game_service.py b/src/services/game_engine/game_service.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/llm/__init__.py b/src/services/llm/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/llm/llm_service.py b/src/services/llm/llm_service.py new file mode 100644 index 0000000..3698b6a --- /dev/null +++ b/src/services/llm/llm_service.py @@ -0,0 +1 @@ +## llm api \ No newline at end of file diff --git a/src/services/llm/prompt/__init__.py b/src/services/llm/prompt/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/llm/prompt/game_prompt.py b/src/services/llm/prompt/game_prompt.py new file mode 100644 index 0000000..e69de29 diff --git a/src/services/memory/implement/memory_impl_1.py b/src/services/memory/implement/memory_impl_1.py new file mode 100644 index 0000000..30e144a --- /dev/null +++ b/src/services/memory/implement/memory_impl_1.py @@ -0,0 +1,12 @@ +from src.services.memory.memory_service import MemoryService + + +class MemoryImpl1(MemoryService): + def __init__(self): + super().__init__() + + def search_memory_info(self, user_msg): + pass + + def update_memory_info(self, user_msg): + pass \ No newline at end of file diff --git a/src/services/memory/memory_service.py b/src/services/memory/memory_service.py new file mode 100644 index 0000000..10df7b3 --- /dev/null +++ b/src/services/memory/memory_service.py @@ -0,0 +1,13 @@ +from abc import ABC, abstractmethod + +class MemoryService1(ABC): + def __init__(self): + pass + + def search_memory_info(self, user_msg): + """抽象方法,用于根据用户消息搜索记忆信息""" + pass + + def update_memory_info(self, user_msg): + """抽象方法,用于更新记忆信息""" + pass \ No newline at end of file diff --git a/src/services/planner/implement/planner_impl1.py b/src/services/planner/implement/planner_impl1.py new file mode 100644 index 0000000..25ff1a0 --- /dev/null +++ b/src/services/planner/implement/planner_impl1.py @@ -0,0 +1,9 @@ +from src.services.planner.planner_service import PlannerService + +class PlannerImpl1(PlannerService): + def __init__(self): + super().__init__() + + def plan(self, user_msg): + "实现具体的规划逻辑" + pass \ No newline at end of file diff --git a/src/services/planner/planner_service.py b/src/services/planner/planner_service.py new file mode 100644 index 0000000..77e2d7b --- /dev/null +++ b/src/services/planner/planner_service.py @@ -0,0 +1,10 @@ +from abc import ABC, abstractmethod + +class PlannerService(ABC): + def __init__(self): + pass + + @abstractmethod + def plan(self, user_msg): + "用于规划出用户的下一步行动" + pass \ No newline at end of file