ChatGPT | 用GPT实现高考志愿系统

人工智能
数据采集首先用到的想到是爬虫,但是却面临一个问题,数据的异构性,针对每个页面都去写爬虫解析是非常麻烦,而且随着页面变动,可能原来解析方式又需要重新修改,为此结合GPT,出现了很多用GPT解析和整理网页数据的开源项目,其中:ScrapeGraphAI比较好用。

高考出分将近,看到各种高考志愿一对一辅导,其实是利用信息差挣钱,但是随着AI的技术快速发展,数据平权的时代已经到来,信息差不是特定人员的优势。为此,我和小伙伴们利用ChatGPT技术,开发了高考志愿智能填报系统。

图片图片

志愿系统

体验地址:http://gaokao.su007.club/

邀请码:6mRtf GyJwco rhGXoK qDGln8 OPC7Ys

1、架构设计

架构设计架构设计

  • 构建大语言模型的LLM,通过爬虫抓取数据,进行清洗
  • 数据清洗后,按照格式入库到sqlite中
  • 将sqlite按照格式,提供给LLM继续微调
  • 微调后,将模型部署提供API Server对外访问

2、数据采集

数据采集首先用到的想到是爬虫,但是却面临一个问题,数据的异构性,针对每个页面都去写爬虫解析是非常麻烦,而且随着页面变动,可能原来解析方式又需要重新修改,为此结合GPT,出现了很多用GPT解析和整理网页数据的开源项目,其中:ScrapeGraphAI比较好用。

开源地址:https://github.com/VinciGit00/Scrapegraph-ai

ScrapeGraphAIScrapeGraphAI

使用样例:

from scrapegraphai.graphs import SmartScraperGraph

graph_config = {
    "llm": {
        "model": "ollama/mistral",
        "temperature": 0,
        "format": "json",  # Ollama needs the format to be specified explicitly
        "base_url": "http://localhost:11434",  # set Ollama URL
    },
    "embeddings": {
        "model": "ollama/nomic-embed-text",
        "base_url": "http://localhost:11434",  # set Ollama URL
    },
    "verbose": True,
}

smart_scraper_graph = SmartScraperGraph(
    prompt="整理学校信息,包括学校名称、地址 ...",
    source="https://www.gaokao.cn/school/search",
    cnotallow=graph_config
)

result = smart_scraper_graph.run()
print(result)
  • 这里的输出结果由于敏感,所以就不输出;
  • 由于高考数据在互联网上比较多,所以可以搜一些相关的网页都整理到AI Scraper中,自动分析数据;
  • 如果有兴趣的小伙伴可以尝试一下,不过爬虫可能被限制,然后需要遵守法律法规进行数据的爬取;

3、模型微调

数据整理好以后,就可以进行模型微调,解决AI志愿的推荐问题,当然这里又有另一种方式,就是通过few-shot Prompt,通过上下文进行对话,这样也可以达到类似的效果,缺点就是上下文不能太长。

这里微调就使用:LLamaFactory+LLama3,使用界面就可以进行:

LLamaFactoryLLamaFactory

整理的数据集如下:

[
{
    "conversations": [
        {
            "from": "human",
            "value": "2024年高考600分,希望选北京的学校,该怎么选?"
        },
        {
            "from": "gpt",
            "value": "根据北京2023年xxx录取分数线:{爬取的分数线数据和专业数据},2022年xxx录取分数线:{爬取的分数线数据和专业数据},2021年xxx录取分数线:{爬取的分数线数据和专业数据},推荐...,原因是..."
        },
        ...
    ]
}
]

大约整理了10w条数据,经过一些调整参数最后微调完成以后,就可以部署到API Server中。

6、功能上线

图片图片

图片图片

图片 图片

责任编辑:武晓燕 来源: 周末程序猿
相关推荐

2019-06-28 15:54:49

大数据

2015-06-17 14:44:36

大数据填高考志愿

2020-07-08 14:14:48

AI高考人工智能

2020-07-27 15:01:59

大数据人工智能高考志愿

2023-06-26 07:20:51

2024-06-27 10:37:56

2022-06-23 15:54:15

NLP训练

2012-07-18 15:26:49

2019-07-23 09:08:43

Python操作系统高考

2024-06-13 20:27:05

2018-06-25 11:00:48

人工智能机器人高考

2022-06-23 14:25:02

人工智能高考志愿填报

2022-06-15 15:00:30

人工智能高考计算机科学

2023-03-01 16:15:16

2022-06-11 23:16:47

数据分析高考Python

2022-12-25 10:35:09

ChatGPTPython

2023-08-06 08:06:30

OpenAIChatGPTGPT-4

2023-03-02 22:46:48

点赞
收藏

51CTO技术栈公众号