main
HuangHai 5 months ago
parent 137a0376c0
commit 6024b249f2

@ -121,4 +121,8 @@ def check_task(guid):
if __name__ == '__main__':
app.run(host='0.0.0.0', port=6000, threaded=True)
app.run(host='0.0.0.0', port=6000, threaded=True)
'''
curl -X POST http://10.10.21.20:6000/submit -H "Content-Type: application/json" -d '{"course_name": "小学数学三角形内角和"}'
'''

@ -61,7 +61,7 @@ class MarkdownGenerator:
{"role": "user", "content": f"请生成《{self.course_name}》教学大纲"}
],
stream=True,
timeout=30 # 设置超时时间
timeout=100 # 设置超时时间
)
def run(self) -> bool:

@ -0,0 +1,65 @@
from fastapi import FastAPI
from fastapi.responses import StreamingResponse, PlainTextResponse
import time
import socket
app = FastAPI()
# 获取本机所有 IPv4 地址
def get_local_ips():
ips = []
hostname = socket.gethostname()
try:
# 获取所有 IP 地址
addrs = socket.getaddrinfo(hostname, None, family=socket.AF_INET) # 只获取 IPv4 地址
for addr in addrs:
ip = addr[4][0]
if ip not in ips:
ips.append(ip)
except Exception as e:
print(f"获取 IP 地址失败: {e}")
return ips
# 模拟逐字生成数据的函数SSE 格式)
def generate_data(text):
for char in text:
time.sleep(0.1) # 模拟延迟
yield f" {char}".encode("utf-8") # 按照 SSE 格式返回数据
# 根路由,返回提示信息
@app.get("/")
def root():
return PlainTextResponse("Hello ApiStream")
# 流式返回数据SSE
@app.get("/stream")
def stream_data():
text = "你好,这是一个流式返回数据的示例。这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例这是一个流式返回数据的示例"
return StreamingResponse(
generate_data(text),
media_type="text/event-stream", # 使用 text/event-stream
headers={
"Cache-Control": "no-cache", # 禁用缓存
"Connection": "keep-alive", # 保持连接
"Access-Control-Allow-Origin": "*", # 允许跨域
"X-Accel-Buffering": "no" # 禁用 Nginx 缓冲(如果有代理)
}
)
# 运行应用
if __name__ == "__main__":
import uvicorn
# 获取本机所有 IPv4 地址
ips = get_local_ips()
if not ips:
print("无法获取本机 IP 地址,使用默认地址 127.0.0.1")
ips = ["127.0.0.1"]
# 打印所有 IP 地址
print("服务将在以下 IP 地址上运行:")
for ip in ips:
print(f"http://{ip}:8000")
# 启动 FastAPI 应用,绑定到所有 IP 地址
uvicorn.run(app, host="0.0.0.0", port=8000)

@ -1,5 +1,5 @@
# 隐藏浏览器
# HEADLESS = True
#HEADLESS = True
HEADLESS = False
# 素材的固定文件夹名称
MATERIAL_FOLDER_NAME = '播报充电情况'

@ -145,9 +145,6 @@ def run(playwright: Playwright) -> None:
# 登录
login(page)
# 切换到节目
changeJieMu(page)
# 排程
paiCheng(page, PREFIX_NAME, '12', '00', '00', '13', '00', '00')

@ -0,0 +1,140 @@
---
Title: 《哈哈哈》教学大纲
Author: 东师理想
Date: 2025.02.14
---
# 课程介绍
## 课程目标
> 本课程旨在帮助学生掌握《哈哈哈》的核心概念和实际应用
- 理解《哈哈哈》的基本原理
- 掌握《哈哈哈》的实际应用技巧
- 能够在实际项目中应用《哈哈哈》
## 课程内容
> 本课程将涵盖《哈哈哈》的多个方面,从基础到高级应用
- 《哈哈哈》的基础知识
- 《哈哈哈》的核心概念
- 《哈哈哈》的实际应用案例
- 《哈哈哈》的未来发展趋势
# 课程安排
## 第一周:基础知识
> 第一周将介绍《哈哈哈》的基础知识
- 什么是《哈哈哈》
- 《哈哈哈》的历史发展
- 《哈哈哈》的基本原理
## 第二周:核心概念
> 第二周将深入探讨《哈哈哈》的核心概念
- 《哈哈哈》的核心理论
- 《哈哈哈》的关键技术
- 《哈哈哈》的实践方法
## 第三周:实际应用
> 第三周将通过案例学习《哈哈哈》的实际应用
- 《哈哈哈》在项目中的应用
- 《哈哈哈》的案例分析
- 《哈哈哈》的优化策略
## 第四周:未来趋势
> 第四周将展望《哈哈哈》的未来发展趋势
- 《哈哈哈》的未来发展方向
- 《哈哈哈》的技术创新
- 《哈哈哈》的应用前景
# 课程资源
## 参考书籍
> 以下是本课程的参考书籍
- 《哈哈哈基础教程》
- 《哈哈哈高级应用》
- 《哈哈哈案例分析》
## 在线资源
> 以下是本课程的在线资源
- 《哈哈哈》官方文档
- 《哈哈哈》在线课程
- 《哈哈哈》社区论坛
# 考核方式
## 作业
> 每节课后都会有相应的作业
- 每周完成一次作业
- 作业内容包括理论题和实践题
## 项目
> 课程结束时需要完成一个项目
- 项目主题自选
- 项目需应用《哈哈哈》的知识
- 项目需提交报告和演示文稿
## 考试
> 课程结束时会有一次期末考试
- 考试内容包括理论和实践
- 考试形式为笔试和上机操作
# 联系方式
## 教师信息
> 以下是本课程的教师信息
- 教师姓名:张三
- 邮箱zhangsan@example.com
- 办公室东师理想大楼201
## 助教信息
> 以下是本课程的助教信息
- 助教姓名:李四
- 邮箱lisi@example.com
- 办公室东师理想大楼202
# 课程反馈
## 反馈渠道
> 学生可以通过以下渠道提供课程反馈
- 课程论坛
- 教师邮箱
- 课程问卷调查
## 反馈时间
> 课程反馈将在每节课后进行收集
- 每节课后提供反馈
- 课程结束时进行总结反馈
---
以上是《哈哈哈》教学大纲的详细内容,学生可以根据大纲安排学习计划,并积极参与课程的各项活动。
Loading…
Cancel
Save