











在向模型提交多模态消息,比如:音频、视频、图片时,我们不建议直接发送文件数据(base64)给模型,这会大量占用内存和会话记忆。更常见的方案是:

我们的服务端需要具备以下接口:
app/
├── main.py # FastAPI 入口,配置路由和静态文件
│
├── agents/
│ └── personal_chief.py # AI 代理核心逻辑
│
├── api/
│ └── v1/
│ ├── chat.py # 对话 API
│ │ ├── POST /chat/stream 流式对话
│ │ ├── GET /chat/messages 获取历史
│ │ └── DELETE /chat/messages 清空历史
│ │
│ └── oss.py # OSS 上传签名 URL
│
├── models/
│ └── schemas.py # Pydantic 数据模型,请求/响应数据结构定义
│
├── common/
│ └── logger.py # 日志配置
│
└── static/ # Next.js 编译产出的静态网页
├── index.html # 前端入口
├── _next/ # Next.js 构建资源
└── ... # 其他静态资源
uv add fastapi alibabacloud-oss-v2
import os
from fastapi import FastAPI
from fastapi.responses import FileResponse
from fastapi.staticfiles import StaticFiles
from fastapi.middleware.cors import CORSMiddleware
from app.api.v1 import chat
from app.api.v1 import oss
from app.common.logger import setup_logging
# 初始化日志配置
setup_logging()
# 初始化FastAPI
app = FastAPI(
title="Personal Chief API",
description="私厨",
version="0.1.0"
)
# ...中间代码略...
if __name__ == "__main__":
import uvicorn
# 启动命令:python -m app.main
uvicorn.run("app.main:app", host="127.0.0.1", port=8001, reload=True)
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。