基于通义千问模型的上市公司发展战略分析智能体
写在前面:
这个例子本身我个人感觉并不是很简洁,部分步骤可能略显冗余,本人也是第一次尝试LLM相对完整的项目的创建,也差不多是第一次写blog,有什么不合适或者不合理的部分还希望能多多听取各位专业人士的意见🙏
这个博客的主要任务并不是很漂亮的实现一个任务(例子更多是一个载体),而是想把关于MLX框架的LLM模型的部署和微调相关等一系列步骤,初步做一个融合,尽可能的为使用macOS做LLM部署上提供一些参考,当然也希望能收集到完善和补充的建议,最后文笔描述欠妥表述的部分还请多多见谅!
-
LLM的部署以及“客制化”的微调,从去年4月份以来就是个不断发展,热度不断提高的话题,但是现在主流的一些部署和微调策略,以及模型的训练(比较容易在GitHub上找到的教程)都是基于cuda核心的,在macOS上针对M系列芯片的训练和微调教程并不多见,或者说并不成体系。
-
本博客的主要作用就是实现了基于MLX(可运行于macOS的模型的数据格式)框架的LLM相对完整的功能体系构建 ,把调用API整理文本数据、构建语料库、部署和微调模型、用户交互UI界面设置功能串联起来了。我认为自己的贡献主要是在整合,涉及到多处的引用,当然还有一些我关于提示词工程的理解。在实际操作过程中我也感觉到基于MLX框架进行训练和微调,也会有比较多的优势,感觉的比较直观的一点就是模型转换成MLX格式后的文件大小会有比较明显的减少,所以模型的加载效率会有所提升。最后我希望能看到更多适配于macOS系统的微调和部署的教程,也希望我的Blog有一些贡献和补充。
-
此博客我讲简单的分解为两个部分,第一个部分主要说明对文本数据的处理、文本语料库的创建以及模型的部署过程,第二个部分主要说明微调的过程,输入prompt的设置和用户交互界面的设置(第二个部分大概一个月后左右会完成,包括更多功能上的演示)。
-
第一部分的主要框架:
- 环境准备
- 语料库创建
- 文本数据的基本格式
- 调用DeepSeek API实现对文本内容的提取
- 将文本数据处理成MLX格式(便于后续的微调)
- 部署LLM model
- 从Hugging face上下载
- 模型的转化
Prerequisites and Environment Setup
开始之前,请确保你已经安装了Python并导入了必要的包,需要的包如下:
pip install gradio mdtex2html pandas requests json openai mlx mlx-lm
Step 1: Corpus Creation
MD&A数据以Excel文件形式提供,包含公司代码、年份和文本内容字段。我们将处理每条记录并使用DeepSeek API进行内容的提取和概括。
Loading Data and Configuring API Parameters
首先,我们需要输入自己的DeepSeek API key, 注册的网站和调用的教程:https://api-docs.deepseek.com/zh-cn/。注册完整后开始加载需要处理的文本文件。
# Import necessary libraries
import pandas
import requests
import json
# Define the DeepSeek API key and endpoint URL
api_key = "your api_key"
deepseek_endpoint = "https://api.deepseek.com/extract" # Replace with the actual DeepSeek endpoint
# Load MD&A data from Excel
input_file = "mda_data.xlsx" # Specify the Excel file path with firm code, year, and MD&A text data
df = pandas.read_excel(input_file) # Load data into a pandas DataFrame
# Initialize a list to store the processed dataset in MLX format
dataset = []
简单查看一下df,文本数据被分为3列,文本数据涵盖了2001年-2021年的管理层评论信息。
df
Out[14]:
code year text
0 600378 2008 (一) 管理层讨论与分析\n\n\n2008年是公司规范运作,坚持科技创新,保持持续发展,历...
1 600855 2008 (一) 管理层讨论与分析\n\n\n2008 年公司实现销售收入3.63 亿元,比上年减少3...
2 600278 2008 (一)报告期内公司经营情况的回顾\n\n