main
HuangHai 5 months ago
parent 7d61c71ecb
commit bef1d0881a

@ -1,11 +1,9 @@
from fastapi import FastAPI, Query, Body
from fastapi.responses import StreamingResponse, PlainTextResponse
import uvicorn
from fastapi import FastAPI, Body
from fastapi.middleware.cors import CORSMiddleware
import socket
from openai import OpenAI
import asyncio
import json
from fastapi.responses import StreamingResponse, PlainTextResponse
from Util import *
app = FastAPI()
# 添加 CORS 中间件
@ -17,91 +15,19 @@ app.add_middleware(
allow_headers=["*"],
)
# 阿里云中用来调用 deepseek v3 的密钥
MODEL_API_KEY = "sk-01d13a39e09844038322108ecdbd1bbc"
MODEL_NAME = "deepseek-v3"
# 初始化 OpenAI 客户端
client = OpenAI(
api_key=MODEL_API_KEY,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
# 获取本机所有 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
# 解析 Markdown 内容并生成 JSON 数据
def parse_markdown_to_json(content: str):
sections = []
current_section = None
current_subsection = None
for line in content.split("\n"):
# 忽略无用的标记
if line.strip() in ["```markdown", "```"]:
continue
if line.startswith("# "): # 一级标题(忽略,作为整体标题)
continue
elif line.startswith("## "): # 二级标题
if current_section:
sections.append(current_section)
current_section = {"title": line[3:].strip(), "items": []}
current_subsection = None
elif line.startswith("### "): # 三级标题
if current_section:
current_subsection = {"title": line[4:].strip(), "text": ""}
current_section["items"].append(current_subsection)
elif line.strip() and (line.startswith("- ") or (line[0].isdigit() and line[1] == '.')): # 列表项或数字加点
if not current_subsection: # 如果 current_subsection 为 None则创建一个默认子章节
current_subsection = {"title": "", "text": ""}
if current_section:
current_section["items"].append(current_subsection)
current_subsection["text"] += line.strip() + " "
elif line.strip(): # 普通文本
if current_subsection:
current_subsection["text"] += line.strip() + " "
if current_section:
sections.append(current_section)
return sections
# 生成流式 JSON 数据(中文输出,逐行返回)
# 根路由,返回提示信息
@app.get("/")
def root():
return PlainTextResponse("Hello ApiStream")
# 流式返回数据(支持 GET 和 POST 方法)
@app.api_route("/api/tools/aippt_outline", methods=["GET", "POST"])
@app.post("/api/tools/aippt_outline") # 仅支持 POST 方法
async def aippt_outline(
course_name: str = Query(None, description="课程名称GET 方法使用)"), # 从查询参数中获取 course_name
course_name_body: str = Body(None, embed=True, description="课程名称POST 方法使用)") # 从请求体中获取 course_name
course_name: str = Body(..., embed=True, description="课程名称") # 从请求体中获取 course_name
):
# 检查 course_name 是否为空
if not course_name and not course_name_body:
return PlainTextResponse("请提供课程名称,例course_name=三角形面积")
# 优先使用 POST 请求体中的 course_name
course_name = course_name_body if course_name_body else course_name
# 返回流式响应
return StreamingResponse(
generate_stream(course_name),
generate_stream_markdown(course_name),
media_type="text/event-stream",
headers={
"Cache-Control": "no-cache",
@ -110,59 +36,10 @@ async def aippt_outline(
"X-Accel-Buffering": "no"
}
)
# 流式生成数据的函数
async def generate_stream(course_name: str):
# 调用阿里云 API启用流式响应
stream = client.chat.completions.create(
model=MODEL_NAME,
messages=[
{'role': 'system', 'content': '你是一个教学经验丰富的基础教育教师'},
{'role': 'user', 'content': '帮我设计一下' + course_name + '的课件提纲用markdown格式返回。不要返回 ```markdown 或者 ``` 这样的内容!'}
],
stream=True, # 启用流式响应
timeout=6000,
)
# 逐字返回数据
for chunk in stream:
if chunk.choices[0].delta.content:
for char in chunk.choices[0].delta.content:
yield char.encode("utf-8")
await asyncio.sleep(0.05) # 控制逐字输出的速度
# 生成流式 JSON 数据(中文输出,逐行返回)
async def generate_json_stream(content: str): # 新增 content 参数
# 解析 Markdown 内容
sections = parse_markdown_to_json(content)
# 封面(使用第一个章节的标题作为封面标题)
first_section_title = sections[0]["title"] if sections else "默认标题"
yield json.dumps({"type": "cover", "data": {"title": first_section_title, "text": "课程简介"}}, ensure_ascii=False) + "\n"
await asyncio.sleep(0.5)
# 目录(使用所有章节的标题)
yield json.dumps({"type": "contents", "data": {"items": [section["title"] for section in sections]}}, ensure_ascii=False) + "\n"
await asyncio.sleep(0.5)
# 逐章节生成内容
for section in sections:
# 过渡(使用章节标题动态生成过渡文本)
yield json.dumps({"type": "transition", "data": {"title": section["title"], "text": section["title"]}}, ensure_ascii=False) + "\n"
await asyncio.sleep(0.5)
# 具体内容(直接使用解析后的章节内容)
yield json.dumps({"type": "content", "data": {"title": section["title"], "items": section["items"]}}, ensure_ascii=False) + "\n"
await asyncio.sleep(0.5)
# 结束
yield json.dumps({"type": "end"}, ensure_ascii=False) + "\n"
# 从文件中读取 Markdown 并生成流式 JSON中文输出逐行返回
@app.get("/api/tools/aippt")
async def aippt(content: str = Query(..., description="Markdown 内容")): # 新增 content 参数
@app.post("/api/tools/aippt") # 修改为 POST 方法
async def aippt(content: str = Body(..., embed=True, description="Markdown 内容")): # 使用 Body 接收请求体参数
return StreamingResponse(
generate_json_stream(content), # 传入 content
convert_markdown_to_json(content), # 传入 content
media_type="text/plain", # 使用 text/plain 格式
headers={
"Cache-Control": "no-cache",
@ -175,8 +52,6 @@ async def aippt(content: str = Query(..., description="Markdown 内容")): #
# 运行应用
if __name__ == "__main__":
import uvicorn
# 获取本机所有 IPv4 地址
ips = get_local_ips()
if not ips:

@ -0,0 +1,40 @@
1、第一级目录按下面的格式返回title就是一级目录文字text你帮着生成简短的描述语言
{"type": "cover", "data": { "title": "大学生职业生涯规划", "text": "明确方向,开启精彩职业人生" } }
2、 整理所有二级目录,按下面格式返回:
{"type": "contents", "data": { "items": [ "自我认知", "职业环境分析", "职业目标设定", "计划实施", "评估与反馈", "意义与总结" ] } }
3、每个二级目录按下面的格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "transition", "data": { "title": "开启自我认知", "text": "了解自身兴趣、性格和能力" } }
4、每个二级下的三级目录按下面格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "content", "data": { "title": "个人兴趣", "items": [ { "title": "文学创作", "text": "对文学创作感兴趣,喜欢用文字表达情感与思想,能在写作中发挥想象力,创作各类作品,丰富精神世界。" }, { "title": "计算机编程", "text": "热衷于计算机编程,享受编写代码解决问题的过程,关注编程技术的更新,希望在该领域有所建树。" }, { "title": "体育运动", "text": "热爱体育运动,如篮球、跑步等,通过运动增强体质,培养团队协作和竞争意识,释放学习压力。" }, { "title": "艺术设计", "text": "对艺术设计有浓厚兴趣,具备审美能力,善于运用色彩和图形进行创意设计,展现独特艺术风格。" } ] } }
{"type": "content", "data": { "title": "个人性格", "items": [ { "title": "外向开朗", "text": "性格外向开朗,善于与他人交流沟通,能快速融入新环境,建立良好人际关系,在团队中发挥积极作用。" }, { "title": "内向沉稳", "text": "有时内向沉稳,做事专注认真,不受外界干扰,能深入思考问题,高质量完成任务。" }, { "title": "责任心强", "text": "拥有强烈的责任心,勇于担当,对待工作和学习认真负责,尽力做到最好,值得他人信赖。" }, { "title": "富有创造力", "text": "思维活跃,富有创造力,能提出新颖独特的想法和解决方案,为团队带来新的活力和思路。" } ] } }
{"type": "content", "data": { "title": "个人能力", "items": [ { "title": "语言表达", "text": "具备良好的语言表达能力,能清晰准确地传达信息,在演讲、交流等场合表现出色,有效沟通。" }, { "title": "组织协调", "text": "拥有较强的组织协调能力,能合理安排资源,组织活动,协调各方关系,确保工作顺利进行。" }, { "title": "专业技能", "text": "掌握一定的专业技能,在所学专业领域有一定知识储备和实践经验,为未来职业发展打下基础。" }, { "title": "快速学习", "text": "具备快速学习新知识的能力,能适应不断变化的环境和需求,及时掌握新技能,提升自身竞争力。" } ] } }
{"type": "transition", "data": { "title": "剖析职业环境", "text": "了解行业、岗位和企业情况" } }
{"type": "content", "data": { "title": "行业现状与趋势", "items": [ { "title": "互联网行业", "text": "互联网行业发展迅速,技术创新不断,应用场景广泛,创造了众多就业机会,引领时代发展潮流。" }, { "title": "金融行业", "text": "金融行业保持稳定增长,对经济发展起着重要支撑作用,需要具备专业知识和风险意识的人才。" }, { "title": "制造业转型", "text": "制造业正进行转型升级,向智能化、高端化发展,对技术人才和创新能力有更高要求。" }, { "title": "新兴行业", "text": "新兴行业如人工智能、新能源等崛起,带来新的发展机遇,吸引大量人才投身其中。" } ] } }
{"type": "content", "data": { "title": "职业要求与需求", "items": [ { "title": "技能要求", "text": "不同职业有不同技能要求,如编程、设计、营销等,需针对性学习提升,以满足岗位需求。" }, { "title": "人才数量", "text": "岗位的人才需求数量不同,热门行业和岗位需求较大,竞争也相对激烈,需做好职业规划。" }, { "title": "发展前景", "text": "关注岗位的发展前景,选择有潜力的行业和岗位,能为个人职业发展提供更多机会和空间。" }, { "title": "薪资待遇", "text": "薪资待遇是职业选择的重要因素之一,不同岗位和地区薪资差异较大,要综合考虑自身价值。" } ] } }
{"type": "content", "data": { "title": "企业分析", "items": [ { "title": "企业文化", "text": "知名企业有独特的企业文化,如创新、团队合作等,影响员工的价值观和工作方式,应选择契合的企业。" }, { "title": "发展战略", "text": "了解企业的发展战略,有助于判断企业的未来走向,选择有发展潜力的企业,实现个人与企业共同成长。" }, { "title": "用人标准", "text": "企业有不同的用人标准,如学历、经验、技能等,要根据自身条件选择合适的企业和岗位。" }, { "title": "晋升机制", "text": "良好的晋升机制能激励员工努力工作,为员工提供发展空间,关注企业的晋升通道和条件。" } ] } }
{"type": "transition", "data": { "title": "设定职业目标", "text": "分阶段规划职业发展" } }
{"type": "content", "data": { "title": "短期目标1 - 2年", "items": [ { "title": "课程学习", "text": "完成专业课程学习,取得优异成绩,为后续职业发展奠定坚实的专业基础,提升自身竞争力。" }, { "title": "参加实习", "text": "参加相关实习,积累实践经验,了解行业实际情况,将理论知识与实践相结合,提高解决问题的能力。" }, { "title": "考取证书", "text": "考取专业相关证书,增加就业筹码,证明自己具备相应的专业能力和知识水平,获得企业认可。" }, { "title": "拓展人脉", "text": "拓展人脉资源,结识行业内人士,获取更多信息和机会,为未来职业发展搭建平台。" } ] } }
{"type": "content", "data": { "title": "中期目标3 - 5年", "items": [ { "title": "业务骨干", "text": "在所在岗位上成为业务骨干,熟练掌握工作技能,高效完成工作任务,为企业创造价值。" }, { "title": "项目管理", "text": "获得一定的项目管理经验,学会组织和协调团队,确保项目顺利进行,提升综合管理能力。" }, { "title": "专业专家", "text": "提升专业技能,成为行业专家,深入研究专业领域知识,解决复杂问题,在行业内树立权威。" }, { "title": "争取晋升", "text": "争取晋升机会,获得更高的职位和更好的待遇,实现个人职业发展的突破。" } ] } }
{"type": "content", "data": { "title": "长期目标5年以上", "items": [ { "title": "中高层管理", "text": "成为企业中高层管理人员,参与企业战略决策,带领团队实现企业目标,展现领导才能。" }, { "title": "拥有事业", "text": "拥有自己的事业,实现创业梦想,创造更多价值,为社会做出贡献。" }, { "title": "行业影响", "text": "在行业内具有一定的影响力,推动行业发展,成为行业的引领者,提升个人知名度。" }, { "title": "财务自由", "text": "实现财务自由,享受高品质生活,有更多的选择和自由,实现人生价值。" } ] } }
{"type": "transition", "data": { "title": "落实计划实施", "text": "分阶段执行职业规划" } }
{"type": "content", "data": { "title": "在校计划", "items": [ { "title": "学习计划", "text": "制定学习计划,合理安排时间,提高学习效率,系统学习专业知识,为未来职业发展做好准备。" }, { "title": "社团活动", "text": "参加社团活动,锻炼综合能力,如组织能力、沟通能力等,丰富校园生活,拓展人脉资源。" }, { "title": "科研项目", "text": "积极参与科研项目,培养创新能力,探索未知领域,提高解决问题的能力和科研素养。" }, { "title": "人际关系", "text": "建立良好的人际关系,与同学、老师保持良好沟通,营造和谐的学习和生活氛围,获得更多支持和帮助。" } ] } }
{"type": "content", "data": { "title": "毕业后计划", "items": [ { "title": "入职选择", "text": "选择合适的企业和岗位入职,综合考虑企业发展前景、岗位需求和自身兴趣等因素,做出明智决策。" }, { "title": "适应环境", "text": "快速适应工作环境,融入团队,了解企业文化和工作流程,与同事建立良好合作关系。" }, { "title": "学习提升", "text": "不断学习新知识,提升工作能力,适应行业发展变化,保持竞争力,为企业创造更多价值。" }, { "title": "总结反思", "text": "定期进行工作总结和反思,发现问题及时改进,不断优化工作方法和流程,提高工作效率和质量。" } ] } }
{"type": "content", "data": { "title": "计划调整", "items": [ { "title": "目标调整", "text": "根据实际情况,调整职业目标,确保目标合理可行,适应自身发展和外部环境变化。" }, { "title": "步骤优化", "text": "优化计划实施步骤,提高计划的可操作性和有效性,确保各项任务顺利完成。" }, { "title": "环境适应", "text": "适应外部环境变化,及时做出调整,抓住机遇,应对挑战,保障职业规划顺利推进。" } ] } }
{"type": "transition", "data": { "title": "做好评估反馈", "text": "持续优化职业规划" } }
{"type": "content", "data": { "title": "自我评估", "items": [ { "title": "总结反思", "text": "定期进行自我总结和反思,回顾自己的学习和工作表现,发现优点和不足,明确改进方向。" }, { "title": "分析优劣", "text": "分析自己的优点和不足,发挥优势,弥补短板,不断提升自己的综合素质和能力。" }, { "title": "改进措施", "text": "制定改进措施,针对不足之处采取具体行动,如学习新知识、参加培训等,逐步完善自己。" } ] } }
{"type": "content", "data": { "title": "他人评估", "items": [ { "title": "征求意见", "text": "向老师、同学、同事征求意见,从不同角度了解自己的表现和不足,获取客观反馈。" }, { "title": "接受评价", "text": "接受领导的评价和建议,认真对待领导的指导,努力改进工作,提高工作绩效。" }, { "title": "参考看法", "text": "参考家人的看法,家人的关心和支持能给予鼓励和动力,同时也能提供不同的视角和建议。" } ] } }
{"type": "content", "data": { "title": "评估周期与机制", "items": [ { "title": "设定周期", "text": "设定评估周期,如每半年或一年,定期对职业规划进行评估和调整,确保规划的有效性。" }, { "title": "反馈机制", "text": "建立有效的反馈机制,及时收集和分析评估信息,根据反馈结果调整规划,保障职业发展方向正确。" } ] } }
{"type": "transition", "data": { "title": "总结职业规划", "text": "明确意义展望未来" } }
{"type": "content", "data": { "title": "职业规划重要性", "items": [ { "title": "明确方向", "text": "明确职业方向,避免盲目就业,让自己在职业道路上少走弯路,提高职业发展效率。" }, { "title": "提高竞争力", "text": "提高自身竞争力,增加就业机会,通过规划有针对性地提升自己的能力和素质,脱颖而出。" }, { "title": "实现价值", "text": "实现个人价值,促进个人成长,在适合的职业领域中发挥才能,不断进步,实现人生目标。" } ] } }
{"type": "content", "data": { "title": "总结与展望", "items": [ { "title": "回顾过程", "text": "回顾整个职业规划过程,总结经验教训,为未来职业发展提供参考,更好地应对挑战。" }, { "title": "充满信心", "text": "对未来的职业发展充满信心,相信通过努力和规划能实现职业目标,创造美好未来。" }, { "title": "鼓励自己", "text": "鼓励自己不断努力,实现职业目标,保持积极心态,勇于追求梦想,为理想而奋斗。" } ] } }
{"type": "end" }

@ -0,0 +1,15 @@
1、第一级目录按下面的格式返回title就是一级目录文字text你帮着生成简短的描述语言
{"type": "cover", "data": { "title": "大学生职业生涯规划", "text": "明确方向,开启精彩职业人生" } }
2、 整理所有二级目录,按下面格式返回:
{"type": "contents", "data": { "items": [ "自我认知", "职业环境分析", "职业目标设定", "计划实施", "评估与反馈", "意义与总结" ] } }
3、每个二级目录按下面的格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "transition", "data": { "title": "开启自我认知", "text": "了解自身兴趣、性格和能力" } }
4、每个二级下的三级目录按下面格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "content", "data": { "title": "个人兴趣", "items": [ { "title": "文学创作", "text": "对文学创作感兴趣,喜欢用文字表达情感与思想,能在写作中发挥想象力,创作各类作品,丰富精神世界。" }, { "title": "计算机编程", "text": "热衷于计算机编程,享受编写代码解决问题的过程,关注编程技术的更新,希望在该领域有所建树。" }, { "title": "体育运动", "text": "热爱体育运动,如篮球、跑步等,通过运动增强体质,培养团队协作和竞争意识,释放学习压力。" }, { "title": "艺术设计", "text": "对艺术设计有浓厚兴趣,具备审美能力,善于运用色彩和图形进行创意设计,展现独特艺术风格。" } ] } }
5、最后按下面字符串固定输出
{"type": "end" }

@ -0,0 +1,85 @@
# 大学生职业生涯规划
## 自我认知
### 个人兴趣
- 对文学创作的兴趣
- 对计算机编程的兴趣
- 对体育运动的兴趣
- 对艺术设计的兴趣
### 个人性格
- 外向开朗,善于交际
- 内向沉稳,做事专注
- 责任心强,勇于担当
- 富有创造力,思维活跃
### 个人能力
- 具备良好的语言表达能力
- 拥有较强的组织协调能力
- 掌握一定的专业技能
- 具备快速学习新知识的能力
## 职业环境分析
### 行业现状与发展趋势
- 互联网行业的快速发展
- 金融行业的稳定增长
- 制造业的转型升级
- 新兴行业的崛起
### 职业要求与岗位需求
- 不同职业的技能要求
- 岗位的人才需求数量
- 岗位的发展前景
- 岗位的薪资待遇
### 企业分析
- 知名企业的企业文化
- 企业的发展战略
- 企业的用人标准
- 企业的晋升机制
## 职业目标设定
### 短期目标1 - 2年
- 完成专业课程学习,取得优异成绩
- 参加相关实习,积累实践经验
- 考取专业相关证书
- 拓展人脉资源
### 中期目标3 - 5年
- 在所在岗位上成为业务骨干
- 获得一定的项目管理经验
- 提升专业技能,成为行业专家
- 争取晋升机会
### 长期目标5年以上
- 成为企业中高层管理人员
- 拥有自己的事业
- 在行业内具有一定的影响力
- 实现财务自由
## 计划实施
### 在校计划
- 制定学习计划,提高学习效率
- 参加社团活动,锻炼综合能力
- 积极参与科研项目,培养创新能力
- 建立良好的人际关系
### 毕业后计划
- 选择合适的企业和岗位入职
- 快速适应工作环境,融入团队
- 不断学习新知识,提升工作能力
- 定期进行工作总结和反思
### 计划调整
- 根据实际情况,调整职业目标
- 优化计划实施步骤
- 适应外部环境变化,及时做出调整
## 评估与反馈
### 自我评估
- 定期进行自我总结和反思
- 分析自己的优点和不足
- 制定改进措施
### 他人评估
- 向老师、同学、同事征求意见
- 接受领导的评价和建议
- 参考家人的看法
### 评估周期与反馈机制
- 设定评估周期,如每半年或一年
- 建立有效的反馈机制,及时调整规划
## 职业规划的意义与总结
### 职业规划的重要性
- 明确职业方向,避免盲目就业
- 提高自身竞争力,增加就业机会
- 实现个人价值,促进个人成长
### 总结与展望
- 回顾整个职业规划过程
- 对未来的职业发展充满信心
- 鼓励自己不断努力,实现职业目标

@ -0,0 +1,82 @@
import asyncio
import socket
from openai import OpenAI
# 阿里云中用来调用 deepseek v3 的密钥
MODEL_API_KEY = "sk-01d13a39e09844038322108ecdbd1bbc"
MODEL_NAME = "deepseek-v3"
# 初始化 OpenAI 客户端
client = OpenAI(
api_key=MODEL_API_KEY,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
)
# 获取本机所有 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
# 流式生成数据的函数
async def generate_stream_markdown(course_name: str):
# 调用阿里云 API启用流式响应
stream = client.chat.completions.create(
model=MODEL_NAME,
messages=[
{'role': 'system', 'content': '你是一个教学经验丰富的基础教育教师'},
{'role': 'user', 'content': '帮我设计一下' + course_name + '的课件提纲用markdown格式返回。不要返回 ```markdown 或者 ``` 这样的内容!'}
],
stream=True, # 启用流式响应
timeout=6000,
)
# 逐字返回数据
for chunk in stream:
if chunk.choices[0].delta.content:
for char in chunk.choices[0].delta.content:
yield char.encode("utf-8")
await asyncio.sleep(0.05) # 控制逐字输出的速度
def generate_prompt(source: str) -> str:
# 打开 prompt.txt 文件,读取内容
with open("prompt.txt", "r", encoding="utf-8") as file:
prompt = file.read()
prompt = prompt.replace("{{source}}", source)
return prompt
async def convert_markdown_to_json(source: str):
# 生成提示词
prompt = generate_prompt(source)
# 调用 AI 模型,启用流式响应
stream = client.chat.completions.create(
model=MODEL_NAME,
messages=[
{"role": "system", "content": "你是一个专业的 Markdown 内容解析器。"},
{"role": "user", "content": prompt}
],
stream=True, # 启用流式响应
max_tokens=2000,
temperature=0.5
)
# 逐字返回数据
for chunk in stream:
if chunk.choices[0].delta.content:
for char in chunk.choices[0].delta.content:
yield char.encode("utf-8")
await asyncio.sleep(0.05) # 控制逐字输出的速度

@ -0,0 +1,25 @@
你是一个专业的 Markdown 内容解析器,能够将 Markdown 格式的文本转换为文本字符串。请根据以下规则处理 Markdown 内容:
1、第一级目录按下面的格式返回title就是一级目录文字text你帮着生成简短的描述语言
{"type": "cover", "data": { "title": "大学生职业生涯规划", "text": "明确方向,开启精彩职业人生" } }
2、 整理所有二级目录,按下面格式返回:
{"type": "contents", "data": { "items": [ "自我认知", "职业环境分析", "职业目标设定", "计划实施", "评估与反馈", "意义与总结" ] } }
3、每个二级目录按下面的格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "transition", "data": { "title": "开启自我认知", "text": "了解自身兴趣、性格和能力" } }
4、每个二级下的三级目录按下面格式返回同样title是二级目录文字text你帮着生成简短的描述语言
{"type": "content", "data": { "title": "个人兴趣", "items": [{ "title": "文学创作", "text": "对文学创作感兴趣,喜欢用文字表达情感与思想,能在写作中发挥想象力,创作各类作品,丰富精神世界。" }, { "title": "计算机编程", "text": "热衷于计算机编程,享受编写代码解决问题的过程,关注编程技术的更新,希望在该领域有所建树。" }, { "title": "体育运动", "text": "热爱体育运动,如篮球、跑步等,通过运动增强体质,培养团队协作和竞争意识,释放学习压力。" }, { "title": "艺术设计", "text": "对艺术设计有浓厚兴趣,具备审美能力,善于运用色彩和图形进行创意设计,展现独特艺术风格。" } ] } }
5、最后按下面字符串固定输出
{"type": "end" }
6、不要 输出:```json 和 ```
7、不要生成 ** 这样的 markdown中加重的符号
以下是需要处理的 Markdown 内容:
{{source}}
请将上述 Markdown 内容转换为以下 文本字符串 格式:
Loading…
Cancel
Save