#AI夏令营 #Datawhale #夏令营

a19884792066 2024-07-30 10:31:01 阅读 58

Task2:赛事解读+基础baseline 讲解

1.个人对基础baseline的理解

1.1关于main.ipynb的理解

这是一个Jupyter Notebook的代码片段,目的是配置并使用SparkAI的聊天模型。接下来我将逐步解读每个代码单元的作用:

第一个代码单元:

这个单元通过<code>pip安装或升级了几个Python包:

spark_ai_python:SparkAI的Python客户端库。

tqdm:一个用于显示进度条的库。

jsonschema:一个用于验证JSON数据结构的库。

python-dotenv:一个用于加载环境变量的库。

第二个代码单元:

这个单元导入了以下模块:

<code>ChatSparkLLM和ChunkPrintHandler来自sparkai.llm.llm模块,可能用于与SparkAI的大语言模型进行交互。

ChatMessage来自sparkai.core.messages模块,用于构建消息对象。

json用于处理JSON数据。

load_dotenv用于加载.env文件中的环境变量。

注释部分列出了可能在.env文件中设置的环境变量(如SPARKAI_APP_IDSPARKAI_API_SECRETSPARKAI_API_KEY),并使用load_dotenv()函数加载这些变量。

第三个代码单元

这段代码片段进一步配置了使用星火认知大模型Spark3.5 Max的相关参数。

其中

<code>SPARKAI_URL定义了连接到星火认知大模型Spark3.5 Max的WebSocket URL。

SPARKAI_APP_IDSPARKAI_API_SECRETSPARKAI_API_KEY通过os.getenv()函数从环境变量中获取,这些变量应该在之前的代码中通过.env文件加载,用于认证和访问控制。

SPARKAI_DOMAIN指定了使用的大模型的域名或版本,这里是Spark3.5 Max版本的通用域名。

这些设置将帮助建立连接并进行与星火认知大模型的交互。

第四个代码单元

这个代码片段定义了一个函数<code>get_completions,用于与星火认知大模型Spark3.5 Max进行交互并生成回复。其中包括:

get_completions函数:

函数接收一个文本输入参数text

messages变量创建了一个包含ChatMessage对象的列表,这个对象表示用户发送的消息,角色是"user",内容是输入的文本。

ChatSparkLLM实例化:

创建一个ChatSparkLLM对象spark,并传递必要的配置参数:

streaming:设为False表示不使用流式传输。

spark_llm_domain:指定使用的大模型域名或版本。

spark_app_idspark_api_keyspark_api_secret:用于身份验证的凭据。

spark_api_url:连接到星火认知大模型的URL。

ChunkPrintHandler实例化:

创建一个ChunkPrintHandler对象handler,可能用于处理和输出生成的内容。

调用generate方法:

调用spark.generate方法,传递包含messages的列表和回调处理程序handler

返回的结果保存在变量a中。

返回生成的文本:

函数返回生成的文本,a.generations[0][0].text,这是模型生成的第一段回复内容。

测试配置:

定义测试文本text为“你好”。调用get_completions(text)以测试模型配置是否正确,预期返回“你好!有什么我可以帮助你的吗?”。

这段代码基本完成了与星火认知大模型的集成,并且能够处理用户输入并生成相应的回复。

接下来的代码单元开始进行读取和写入JSON文件,并录入数据,这里就不做过多解释。

最后一个代码单元

这个部分是Jupyter Notebook文件的元数据和结构定义。以下是详细解读:

代码单元

<code>cell_type: 定义单元类型为代码code)。

execution_count: 未执行过,所以为null

metadata: 包含了滚动状态(scrolled: true),表示单元内容可能会滚动。

outputs: 当前没有输出。

source: 代码单元内容为空。

元数据

kernelspec: 定义了Notebook所使用的内核。

display_name: 内核显示名称为Python 3。

language: 使用的编程语言是Python。

name: 内核名称为py35-paddle1.2.0,这是一个特定的Python内核,可能配置了PaddlePaddle 1.2.0版本。

language_info: 描述了Notebook使用的编程语言信息。

codemirror_mode: 指定了CodeMirror编辑器的模式。

name: 使用的模式是ipython

version: 使用的IPython版本为3。

file_extension: 语言文件的扩展名为.py

mimetype: MIME类型为text/x-python

name: 编程语言为Python。

nbconvert_exporter: 导出器类型为Python。

pygments_lexer: 使用的代码高亮是ipython3

version: 使用的Python版本是3.10.10。

nbformat: Notebook文件格式版本,为4。

nbformat_minor: Notebook文件格式的次要版本,为4。

这段信息主要是描述Notebook的配置和元数据部分,定义了如何解释和执行Notebook中的代码。

1.2关于数据分析.ipynb的理解

其大致结构与main.ipynb相似。首先先是在环境中创建字体目录并复制字体文件,之后设置Matplotlib库以支持显示中文字符,其是在Jupyter Notebook环境中配置Matplotlib,以便能够正确地显示中文字符和负号,使绘制的图表更具可读性。之后就开始导入基本数据信息,再最后也是Jupyter Notebook文件的元数据和结构定义。

2.个人感悟

首先我是第一次接触大数据模型这方面的小白,对其中的很多东西都不了解。通过这次学习,以及对这份baseline代码的解读,我认识了很多这方面的专有名词,初步入门了解了大数据模型,有了初步认识。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。