基于python编程调用DeepSeek 大模型对文档内容进行AI总结,并转换markdown格式输出
时间:2025-2-13 00:19 作者:Anglei 分类: 大数据AI
通过编写python脚本,使其逐个读取某目录下的txt文件,并调用deepseek-v3模型生成总结,并将总结内容保存为Markdown格式文件。
实现代码:
import os
import json
import requests
from time import sleep
# 配置参数
API_KEY = "your_api_key" # 替换为你的DeepSeek API密钥
API_URL = "https://api.lkeap.cloud.tencent.com/v1" # 确认API地址是否正确,当前我使用的是腾讯云的,可以直接换成deepseek的,通用。
INPUT_DIR = "./txt" # 输入目录路径
OUTPUT_DIR = "./markdown" # 输出目录路径
MODEL_NAME = "deepseek-v3" # 使用的模型名称,R1也可以,但因为有思考过程,所以相对慢
# 创建输出目录(如果不存在)
os.makedirs(OUTPUT_DIR, exist_ok=True)
def generate_summary(text):
"""调用DeepSeek API生成总结"""
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": MODEL_NAME,
"messages": [
{
"role": "system",
"content": "你是一个专业的文本总结助手,需要生成清晰简洁的Markdown格式总结。"
},
{
"role": "user",
"content": f"请用中文为以下文本生成一个详细的Markdown格式总结,包含主要内容和关键点:\n\n{text}"
}
],
"temperature": 0.3
}
try:
response = requests.post(API_URL, headers=headers, json=payload)
response.raise_for_status()
result = response.json()
return result['choices'][0]['message']['content']
except Exception as e:
print(f"API调用失败:{str(e)}")
return None
def process_files():
"""处理目录中的所有txt文件"""
for filename in os.listdir(INPUT_DIR):
if filename.endswith(".txt"):
print(f"正在处理文件:{filename}")
# 读取文件内容
input_path = os.path.join(INPUT_DIR, filename)
try:
with open(input_path, 'r', encoding='utf-8') as f:
content = f.read()
except Exception as e:
print(f"读取文件失败:{str(e)}")
continue
# 生成总结
summary = generate_summary(content)
if not summary:
continue
# 保存为Markdown文件
output_filename = os.path.splitext(filename)[0] + "_summary.md"
output_path = os.path.join(OUTPUT_DIR, output_filename)
try:
with open(output_path, 'w', encoding='utf-8') as f:
f.write(f"# 文本总结:{filename}\n\n")
f.write(summary)
print(f"已保存总结文件:{output_filename}")
except Exception as e:
print(f"保存文件失败:{str(e)}")
# 防止请求频率过高
sleep(1)
if __name__ == "__main__":
process_files()
print("处理完成!")
执行效果如下:
原TXT文件内容:
经AI总结后转换为markdown格式内容
预览如下:

推荐阅读:
![]() 路过(0) |
![]() 雷人(0) |
![]() 握手(2) |
![]() 鲜花(0) |
![]() 鸡蛋(0) |