镇江做网站公司在线教育培训平台定制

张小明 2025/12/25 17:06:15
镇江做网站公司,在线教育培训平台定制,怎么查询自己注册的商标,做网站宽度和长度布局使用 FastAPI 实现 Coze 流式聊天 SSE 接口 在开发 AI 助手或聊天应用时#xff0c;我们通常希望服务端能够 实时向前端推送消息#xff0c;让用户看到逐字打字效果。本文演示如何使用 FastAPI Coze Python SDK#xff08;cozepy#xff09; 实现 流式聊天 SSE 接口…使用 FastAPI 实现 Coze 流式聊天 SSE 接口在开发 AI 助手或聊天应用时我们通常希望服务端能够实时向前端推送消息让用户看到逐字打字效果。本文演示如何使用FastAPI Coze Python SDKcozepy实现流式聊天 SSE 接口并提供curl测试方法。功能特点流式输出前端可以实时接收聊天增量消息。SSE 格式便于浏览器或 Go/Node 前端解析。兼容不同版本 Coze SDK处理可能缺失的异常类。可直接使用curl测试无需前端即可验证接口。技术栈Python 3.10FastAPIuvicornASGI 服务cozepyCoze 官方 Python SDKSSE 流式推送完整示例代码importosfromtypingimportOptional,List,Dict,AnyfromfastapiimportFastAPI,HTTPExceptionfromfastapi.responsesimportStreamingResponsefrompydanticimportBaseModelfromcozepyimportCoze,TokenAuth,Message,ChatEventType,COZE_CN_BASE_URL# # 兼容不同版本的cozepy异常类# try:fromcozepyimportCozeAPIError,CozeAuthErrorexceptImportError:classCozeAPIError(Exception):passclassCozeAuthError(Exception):pass# # 初始化FastAPI应用# appFastAPI(titleCoze Stream Chat API)# # 全局配置与Coze客户端初始化# COZE_API_TOKENos.getenv(COZE_API_TOKEN,你的默认Token)COZE_API_BASECOZE_CN_BASE_URL BOT_VERSION1756277832coze_client:Optional[Coze]Nonedefinit_coze_client():初始化Coze客户端globalcoze_clientifcoze_client:returncoze_clienttry:coze_clientCoze(authTokenAuth(tokenCOZE_API_TOKEN),base_urlCOZE_API_BASE)returncoze_clientexceptExceptionase:raiseHTTPException(status_code500,detailfCoze客户端初始化失败{str(e)})init_coze_client()# # 定义请求体模型# classChatRequest(BaseModel):user_id:strbot_id:strstream:boolTrueadditional_messages:List[Dict[str,Any]]conversation_id:Optional[str]Nonebot_version:Optional[str]BOT_VERSION# # 流式聊天接口# app.post(/api/coze-chat)asyncdefcoze_chat(request:ChatRequest):try:# 构建 Coze 消息importjson messages[]formsginrequest.additional_messages:ifmsg.get(role)userandmsg.get(content_type)text:content_listjson.loads(msg.get(content,[]))text.join([item.get(text,)foritemincontent_list])messages.append(Message.build_user_question_text(text))# 调用流式接口streamcoze_client.chat.stream(bot_idrequest.bot_id,user_idrequest.user_id,conversation_idrequest.conversation_idorNone,publish_statuspublished_online,bot_versionrequest.bot_version,auto_save_historyFalse,additional_messagesmessages)# SSE 流生成器asyncdefgenerate_stream():try:foreventinstream:ifnotevent:continue# 消息增量ifevent.eventChatEventType.CONVERSATION_MESSAGE_DELTA:contentevent.message.content.strip()ifevent.message.contentelseifcontent:yieldfdata:{json.dumps({type:delta,content:content})}\n\n# 聊天完成elifevent.eventChatEventType.CONVERSATION_CHAT_COMPLETED:usageevent.chat.usage.token_countifhasattr(event.chat,usage)else0conv_idevent.chat.conversation_idifhasattr(event.chat,conversation_id)elseyieldfdata:{json.dumps({type:completed,token_count:usage,conversation_id:conv_id})}\n\nyielddata: [DONE]\n\nexceptExceptionase:yieldfdata:{json.dumps({type:error,message:str(e)})}\n\nreturnStreamingResponse(generate_stream(),media_typetext/event-stream,headers{Cache-Control:no-cache,Connection:keep-alive,Access-Control-Allow-Origin:*})exceptCozeAuthErrorase:raiseHTTPException(status_code401,detailf认证失败{str(e)})exceptCozeAPIErrorase:raiseHTTPException(status_code502,detailfCoze API错误{str(e)})exceptExceptionase:raiseHTTPException(status_code500,detailf服务器错误{str(e)})# # 启动服务# if__name____main__:importuvicorn uvicorn.run(app,host0.0.0.0,port8000)使用方法安装依赖pipinstallfastapi uvicorn cozepy设置环境变量可选exportCOZE_API_TOKEN你的CozeToken启动服务python main.py服务将监听http://0.0.0.0:8000。使用curl测试接口你可以使用curl来实时查看 SSE 流# 测试Python服务curl-X POST -HContent-Type: application/json-d{ user_id: 123, bot_id: 7579834670624407602, stream: true, additional_messages: [ { role: user, type: question, content_type: text, content: [{\type\:\text\,\text\:\你好\}] } ] }http://localhost:8000/api/coze-chat参数说明-N/--no-buffer禁用输出缓存实时显示流式数据。-X POST发送 POST 请求。-d传递 JSON 请求体。执行后你会看到类似以下输出SSE 流data: {type: delta, content: 你} data: {type: delta, content: 好} data: {type: delta, content: Coze!} data: {type: completed, token_count: 12, conversation_id: conv_123} data: [DONE]前端示例实时渲染打字机效果dividchat/divscriptconstchatDivdocument.getElementById(chat);constevtSourcenewEventSource(http://localhost:8000/api/coze-chat);evtSource.onmessage(e){if(e.data[DONE]){console.log(聊天结束);return;}constdataJSON.parse(e.data);if(data.typedelta){chatDiv.innerHTMLdata.content;}elseif(data.typecompleted){console.log(聊天完成, token_count:,data.token_count);}};evtSource.onerror()console.log(连接错误或关闭);/script效果消息逐字符显示模拟 AI 打字机输出。总结通过 FastAPI 可以快速实现 Coze 流式聊天接口。SSE 格式让前端无需轮询即可接收消息增量。使用curl或前端 JS 均可实时验证流式输出。可扩展为 AI 聊天助手、客服机器人或协作工具。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

简易个人网站模板常见的网络营销策略都有哪些

Excalidraw如何简化跨部门沟通中的信息传递 在一次典型的产品评审会上,技术负责人指着PPT中密密麻麻的文字解释系统调用链路,产品经理频频皱眉,设计师干脆低头刷起了手机。这样的场景,在大多数企业里并不陌生。当不同专业背景的人…

张小明 2025/12/25 17:12:57 网站建设

网站商城建设公司项目建设全过程管理

Nginx作为现代Web架构的核心组件,其性能监控对于系统稳定性至关重要。Nginx VTS Exporter作为专业的监控数据采集工具,能够将Nginx的性能指标转化为Prometheus兼容格式,为你的运维监控体系提供坚实的数据基础。 【免费下载链接】nginx-vts-ex…

张小明 2025/12/25 15:56:17 网站建设

php网站开发师条件网站开发比较厉害

门店“业绩标杆”的隐形危机:发薪速度正成为招聘拦路虎老王是一家全球头部茶饮咖啡品牌的资深餐厅经理,他管理的门店向来是区域内的“业绩标杆”。然而,在最近的周会上,这位经验丰富的店长却罕见地向总部求援:“下周末…

张小明 2025/12/25 16:20:42 网站建设

嘉峪关网站seo扬州seo推广

Langchain-Chatchat反馈机制设计:让用户参与问答改进 在企业知识管理日益智能化的今天,一个常见的尴尬场景是:新员工反复提问同一个政策问题,系统却每次给出不完整甚至错误的回答。这背后暴露的正是传统问答系统的根本缺陷——它不…

张小明 2025/12/25 16:21:30 网站建设

河间网站建设江苏网站seo平台

Appium 官网:http://appium.io AppUI自动化测试 Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python、Java 等语言,即同一套Java 或Python 脚本可以同时运行在iOS 和Android平台,Appium 是一…

张小明 2025/12/25 15:15:43 网站建设