#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_ID
、SPARKAI_API_SECRET
和SPARKAI_API_KEY
),并使用load_dotenv()
函数加载这些变量。
第三个代码单元
这段代码片段进一步配置了使用星火认知大模型Spark3.5 Max的相关参数。
其中
<code>SPARKAI_URL定义了连接到星火认知大模型Spark3.5 Max的WebSocket URL。
SPARKAI_APP_ID
、SPARKAI_API_SECRET
和SPARKAI_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_id
、spark_api_key
、spark_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代码的解读,我认识了很多这方面的专有名词,初步入门了解了大数据模型,有了初步认识。
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。