main
HuangHai 5 months ago
parent fa744eaff3
commit aa829fd727

@ -89,34 +89,40 @@ if __name__ == "__main__":
save_to_excel(_data, filename)
# 4、生成word报告
# 打印格式化的 JSON 数据
print(json.dumps(_data, ensure_ascii=False, indent=4))
prompt='''
请根据以下 JSON 数据整理出一段话描述当前数据情况要求
1. 按学段初中小学高中学前分别总结课程数量的分布情况
2. 指出每个学段中课程数量最多的科目和课程数量最少的科目
3. 分析不同学段之间课程数量的差异并指出哪些科目在不同学段中表现突出
4. 语言简洁明了重点突出数据中的关键信息
prompt = '''
请根据以下 JSON 数据整理出2000字左右的话描述当前数据情况要求
1以Markdown格式返回我将直接通过markdown格式生成Word
2数据内容如下
'''
prompt = prompt + json.dumps(_data, ensure_ascii=False)
# 初始化 OpenAI 客户端
client = OpenAI(
api_key=MODEL_API_KEY,
base_url="https://dashscope.aliyuncs.com/compatible-mode/v1",
base_url=MODEL_API_URL,
)
# 调用 OpenAI API 生成总结
# 调用 OpenAI API 生成总结(流式输出)
response = client.chat.completions.create(
model=MODEL_NAME,
messages=[
{"role": "system", "content": "你是一个数据分析助手,擅长从 JSON 数据中提取关键信息并生成简洁的总结。"},
{"role": "system", "content": "你是一个数据分析助手,擅长从 JSON 数据中提取关键信息并生成详细的总结。"},
{"role": "user", "content": prompt}
],
max_tokens=1500, # 控制生成内容的长度
temperature=0.7 # 控制生成内容的创造性
max_tokens=3000, # 控制生成内容的长度
temperature=0.7, # 控制生成内容的创造性
stream=True # 启用流式输出
)
# 提取生成的总结
summary = response.choices[0].message.content
print("数据总结:\n", summary)
# 初始化变量用于存储流式输出的内容
summary = ""
# 处理流式输出
for chunk in response:
if chunk.choices[0].delta.content: # 检查是否有内容
chunk_content = chunk.choices[0].delta.content
print(chunk_content, end="", flush=True) # 实时打印到控制台
summary += chunk_content # 将内容拼接到 summary 中
# 最终 summary 为完整的 Markdown 内容
print("\n\n流式输出完成summary 已拼接为完整字符串。")

Loading…
Cancel
Save