From cbb1950135fb5c16a2c3068469e28e2a063bf900 Mon Sep 17 00:00:00 2001 From: Wu Clan Date: Fri, 5 Dec 2025 17:25:59 +0800 Subject: [PATCH] Add ai plugin --- README.md | 8 ++------ __init__.py | 0 api/router.py | 8 ++++++++ api/v1/__init__.py | 0 api/v1/chat.py | 8 ++++++++ crud/__init__.py | 0 model/__init__.py | 0 plugin.toml | 8 ++++++++ requirements.txt | 1 + schema/__init__.py | 0 service/__init__.py | 0 sql/mysql/init.sql | 0 sql/mysql/init_snowflake.sql | 0 sql/postgrsql/init.sql | 0 sql/postgrsql/init_snowflake.sql | 0 15 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 __init__.py create mode 100644 api/router.py create mode 100644 api/v1/__init__.py create mode 100644 api/v1/chat.py create mode 100644 crud/__init__.py create mode 100644 model/__init__.py create mode 100644 requirements.txt create mode 100644 schema/__init__.py create mode 100644 service/__init__.py create mode 100644 sql/mysql/init.sql create mode 100644 sql/mysql/init_snowflake.sql create mode 100644 sql/postgrsql/init.sql create mode 100644 sql/postgrsql/init_snowflake.sql diff --git a/README.md b/README.md index 52c6662..dfccc62 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,3 @@ -请在此处填写插件使用说明和您的联系方式 +## AI -如果插件需要付费,请提供付费相关说明 - -如有配套前端插件,请添加前端插件仓库链接说明 - -插件开发文档:[fba plugin dev](https://fastapi-practices.github.io/fastapi_best_architecture_docs/plugin/dev.html) +此插件提供了 AI 能力 diff --git a/__init__.py b/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/router.py b/api/router.py new file mode 100644 index 0000000..d7ad691 --- /dev/null +++ b/api/router.py @@ -0,0 +1,8 @@ +from fastapi import APIRouter + +from backend.core.conf import settings +from backend.plugin.ai.api.v1.chat import router as chat_router + +v1 = APIRouter(prefix=settings.FASTAPI_API_V1_PATH) + +v1.include_router(chat_router, prefix='/chat', tags=['AI 文本生成']) diff --git a/api/v1/__init__.py b/api/v1/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/api/v1/chat.py b/api/v1/chat.py new file mode 100644 index 0000000..128b456 --- /dev/null +++ b/api/v1/chat.py @@ -0,0 +1,8 @@ +from fastapi import APIRouter +from starlette.responses import StreamingResponse + +router = APIRouter() + + +@router.post('/completions', summary='文本生成(对话)') +async def completions() -> StreamingResponse: ... diff --git a/crud/__init__.py b/crud/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/model/__init__.py b/model/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/plugin.toml b/plugin.toml index e69de29..3b41936 100644 --- a/plugin.toml +++ b/plugin.toml @@ -0,0 +1,8 @@ +[plugin] +summary = 'AI 工具' +version = '0.0.1' +description = '为系统提供 AI 赋能' +author = 'wu-clan' + +[app] +router = ['v1'] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a06c42d --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pydantic-ai-slim[openai,google,anthropic,groq,mcp]>=1.22.0 diff --git a/schema/__init__.py b/schema/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/service/__init__.py b/service/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/sql/mysql/init.sql b/sql/mysql/init.sql new file mode 100644 index 0000000..e69de29 diff --git a/sql/mysql/init_snowflake.sql b/sql/mysql/init_snowflake.sql new file mode 100644 index 0000000..e69de29 diff --git a/sql/postgrsql/init.sql b/sql/postgrsql/init.sql new file mode 100644 index 0000000..e69de29 diff --git a/sql/postgrsql/init_snowflake.sql b/sql/postgrsql/init_snowflake.sql new file mode 100644 index 0000000..e69de29