必须构建生产级豆包ai客户端:先获取api key/secret并存环境变量,用secret调/oauth/token获2小时access_token;在fastapi中封装异步http会话与重试逻辑,动态注入authorization头;实现chat_completion支持流式/sse响应;路由层用pydantic校验请求、统一错误处理;后台任务90分钟刷新token,依赖注入复用连接池。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要把豆包AI的API能力稳定、安全、可扩展地接入FastAPI后端服务,必须绕过手动拼接HTTP请求的原始写法,直接构建带凭证管理、错误重试、流式响应解析和模型抽象的生产级客户端模块。
准备豆包AI认证凭证
登录豆包开放平台(https://platform.doubao.com),完成企业实名认证→进入「我的应用」→点击「创建新应用」→填写应用名称与使用场景→创建成功后,在详情页复制【API Key与API Secret】。这两个值不可重复生成,泄露即需重置,务必存入环境变量而非代码硬编码。
用API Secret调用/oauth/token接口获取access_token:该token有效期仅2小时,必须在后续所有请求Header中携带Authorization: Bearer {access_token},缺失或过期将返回401错误。
在FastAPI项目中封装豆包AI客户端
新建clients/doubao_client.py文件,定义异步HTTP会话与重试逻辑:
导入httpx.AsyncClient并配置默认timeout(30秒)、base_url(https://api.doubao.com)与headers(含Content-Type与Authorization)。【Authorization头必须动态注入,不能在初始化时固化】,否则无法支持多租户或多模型切换。
编写async def chat_completion(...)函数:接收messages列表、model名、stream布尔值;构造JSON请求体,确保messages非空且每项含role与content;若stream为True,则返回SSE响应流;否则等待完整JSON响应并校验choices[0].message.content字段存在。
定义FastAPI路由与请求模型
方法一:基础聊天接口
Doubao-Seedream-5.0-lite是字节跳动发布的最新图像创作模型。该模型首次搭载联网检索功能,能融合实时网络信息,提升生图时效性。同时,模型的聪明度进一步升级,能够精准解析复杂指令和视觉内容。此外,模型在世界知识广度、参考一致性及专业场景生成质量上均有增强,可更好地满足企业级视觉创作需求。
在api/v1/chat.py中声明ChatRequest Pydantic模型:强制messages: List[Dict[str, str]],限定model: str = "doubao-pro",stream: bool = False。字段缺失或类型错误将被Pydantic自动拦截并返回422。
路由@router.post("/chat")中调用doubao_client.chat_completion(),捕获httpx.HTTPStatusError并转换为统一HTTPException(status_code=502, detail="豆包API调用失败"),避免原始错误堆栈暴露敏感信息。
方法二:支持流式输出的SSE接口
新增@router.post("/chat/stream"),返回StreamingResponse;内部调用chat_completion(stream=True)后,逐行读取SSE数据块,剥离data:前缀,JSON解析后提取delta.content,yield格式化后的text/event-stream响应。注意:客户端必须支持SSE,浏览器原生支持,curl需加-N参数禁用缓冲。
注入凭证与启动服务
第一步:在main.py中从os.getenv("DOUBAO_API_KEY")和os.getenv("DOUBAO_API_SECRET")读取凭证→调用/oauth/token获取初始access_token→启动后台任务每90分钟刷新一次token,避免请求中断。
第二步:将DoubaoClient实例作为FastAPI依赖注入到所有路由函数中,避免每次请求都新建HTTP会话,复用连接池提升并发性能。
第三步:运行uvicorn main:app --reload --host 0.0.0.0 --port 8001,访问http://localhost:8001/docs即可看到自动生成的OpenAPI文档,包含请求体示例与状态码说明。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










