Skip to content

实验要求 4

实验指导文档:利用Python和LLM解决实际问题

一、实验目的

理解大语言模型(LLM)的基本原理与API调用方式。掌握使用Python通过HTTP请求与开源LLM接口交互的技能。学会利用LLM完成信息抽取、摘要生成、情感分析等典型任务。能够将AI能力嵌入现实应用场景的能力。

二、实验环境

  • Python 3.8+
  • requests库
  • pandas、json 等基础库
  • Jupyter Notebook 或 PyCharm/VS Code

三、数据资源

  • news_data.json: 包含若干条新闻,用于利用LLM生成新闻摘要
  • reviews.txt: 包含若干条产品评论文本,用于利用LLM进行产品评论的情感分析
  • context.txt:包含一段产品介绍背景文字,用于基于这段文字利用LLM进行问答

四、LLM API资源

  • OpenRouter(多种大模型免费调用接口):
    • 网站:https://openrouter.ai/
    • 先进行注册(Sign Up),使用邮箱注册,进入邮箱激活账号
    • 进入网站获取API Keys,Keys -> Create API Keys -> 复制key到自己代码中
    • key示例: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
    • 在Python代码中调用API获得LLM能力(可参考说明文档:https://openrouter.ai/docs/quickstart)
    • 请自己选择一个免费的支持中文的模型进行实验(如:qwen/qwen3-8b:free)

五、实验场景描述

假设你正在开发一个“智能内容理解系统”,它可以: - 对新闻内容进行摘要提取 - 对产品评论进行情感分析 - 智能回答用户基于产品文档的提问

六、实验步骤

实验一:使用Python调用LLM进行对话(基础接口测试)

任务要求

  • 注册并获取OpenRouter的API Key
  • 编写Python脚本调用API,向模型发送简单提问,如“今天天气如何?”
  • 输出模型返回结果,并格式化显示

输出内容

  • 展示出你对LLM输入的问题和LLM给你的输出文本

实验二:新闻摘要生成任务(文本摘要)

任务要求

  • 加载本地文件 news_data.json,其中包含若干篇新闻的标题与正文
  • 编写程序,使用LLM对每篇新闻生成一句话摘要(要求长度控制在30个字以内)
  • 将结果输出为 summary_results.json 文件,结构如:
[
  {
    "title": "xxx",
    "summary": "这是一条自动生成的摘要"
  },
  ...
]

输出内容

  • 存储为结构化JSON文件中的每一条新闻的摘要内容

实验三:评论情感分析(情感分类)

任务要求

  • 加载 reviews.txt,每行为一条用户评论
  • 使用LLM判断每条评论是“积极”还是“消极”(注意对于LLM生成额外信息的处理)
  • 将结果输出为 review_sentiment.csv,包含原始文本和情感标签

输出内容

  • 输出每条评论及其对应的分类标签(积极 / 消极)CSV文件,格式如下:
text,sentiment
"这个产品太棒了!",积极
"差评,完全没用",消极
...

实验四:基于文档问答(开放问答)

任务要求

  • 模拟用户上传一段背景材料(如新闻或产品说明 context.txt)
  • 用户输入一个问题,系统利用大语言模型回答
  • 举例问题如:“该产品最吸引用户的特点是什么?”
  • 能够支持用户上传不同的文档(设置文档文件为参数,灵活输入给LLM)
  • 能够支持用户同时输入多个问题,一次性给出多个答案

输出内容

  • 输入问题+输出答案的成对的列表(列表字典)
[
    {"question": "问题1", "answer": "LLM生成的回答1"},
    {"question": "问题2", "answer": "LLM生成的回答2"},
    ...
]

五、实验提交内容

请将以下文件打包提交:

  • 所有 .py 实验代码文件(可附在报告后面)
  • 所有实验步骤中要求输出的内容(可附在报告对应位置中)
  • 实验报告(使用模板填写)

六、注意事项

  • 实验报告参考报告模板撰写,并将word格式的报告发到老师邮箱:zongchang@zust.edu.cn(报告文件名格式:姓名_学号_报告3)