首页 > 其他分享 >大模型应用开发实战

大模型应用开发实战

时间:2024-09-10 12:24:49浏览次数:1  
标签:实战 模型 应用 query import model response history

https://www.cnblogs.com/yubaolee/p/18390767

在接触AI应用开发的这段时间,我以为会像以前学.net,学java,学vue一样。先整个hello world,再一步一步学搭功能,学搭框架直到搭一个系统出来。然而,理想总是很丰满,现实很骨感。在实践的过程中各种千奇百怪的问题:
  • 概念太多。你以为就GPT、LLM?太年轻了,huggingface、transformers、torch、tokenizers、langchain、modelscope、fastapi、CUDA、cuDNN、Conda、vLLM、ResNet-50、top_p等等等等....它们有些是工具,有些只是个库,有些甚至就是个参数名以及还有些我到现在都不知道是个啥。
  • 运行代码时,经常莫名奇妙地各种报错。以前学vue的时候,我以为前端的包已经够混乱了,直到开始接触AI,没有最混只有更混。
  • 运行时间太长,且结果不确定。没有云上足够的算力和显卡,一个简单的代码运行少则10分钟,多则几小时,一般人是忍受不了的。就算当你历经千辛万苦程序跑完了,你会发现不太容易验证运行结果的正确性,不知道改了某个参数到底是起没起作用。
看了网上一堆AI开发的文章,得出两个字总结:写的都是垃圾!对,都是 在学的过程中,我就想着。等我做出个东西。一定要把这些个牛鬼蛇神给掰扯清楚。废话不多说,故事就从hello world说起。

工具准备

  1. MiniConda 首先装这个,这个玩意有点像docker,可以隔离多个项目的python环境,并且默认带有vc++等库。为什么我把它放第一?作为一个程序员,我还是有点洁癖的,开始的时候我非常不想装这玩意,直接装个python 3.12,手动pip install霹雳巴拉下各种包多潇洒。直到运行一个最简单的代码缺各种依赖环境时,不但缺python的包,竟然还缺各种dll,还缺vc++运行时,当时心里各种NMBD....然后老老实实把它装上了,一切都顺了。安装它会默认会集成python,所以不用单独装python。我装的版本:MiniConda3 py312_24.7.1
  2. PyCharm 开发python的第一选择。开始我用的vs code,调试运行各种手动命令敲烦了,还是pycharm按钮好使。
就先装这俩吧。

环境准备

电脑cmd命令提示符。设置清华的镜像,用于后面下载各种python的包。默认国外的镜像和.net nuget包、java maven库及前端npm包一个尿性卡的要死,只能用国内的。
python -m pip install --upgrade pip
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

新建项目

直接pycharm新建一个项目,名字随便起。毕竟我们是整大模型的,不是学python入门的。叫llmTest吧!如图1: 0 (图1) 这里注意:
  • interpreter type:就是运行环境,选custom environment。基于conda新建的环境名(想象成docker的一个实例,这个环境只对我们这个项目有效)。界面上提供了project venv,这种方式也可以控制项目的运行环境,想了解地自行搜索,新手不能太多选择,我就喜欢用顺手的,哈哈哈!!
  • path to conda:就是工具准备里面miniconda3的安装路径。

模型下载

目前国内外的通用大模型可以用密密麻麻来形容,gitee上面已经收录了1万多个了:https://ai.gitee.com/models 。模型下载方式很多,有直接用git lfs下载的、有直接下文件的,还有不直接下载运行时才加载的写代码方式。关键是这种方案还挺好使。本着新手不能太多选择,直接推最顺手的原则。我用的阿里魔塔modelscope(注意它不是模型,不是!它只是个下载工具)。直接在pycharm命令终端里面执行pip install modelscope,如图2: 0 (图2) 注意图上红框的部分。这里没有用windows的命令终端执行,就是保证一直用的是我们刚刚创建的conda环境llmTest。防止安装包的时候,装到其他找不到的位置了。也可以看出下载的源用的是我们刚刚设置的清华镜像。   新建一个app.py。编写下载代码:
#模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('ZhipuAI/chatglm3-6b', cache_dir='D:\Transformers')
这里我以清华智谱ChatGLM3模型为例,下载到D:\Transformers。如果人品不是太差的话,运行效果如下: (图3) 总共有15个G左右,需要等一段时间。至此一个大模型顺利下载完毕,它的结构如下图所示,别问我里面是啥,我也看不懂: 0 (图4)

模型使用

以上算是完成了全部的准备工作,作为一个有效率的打工人,马上迫不及待地想看效果了。立马码字:
from modelscope import AutoTokenizer, AutoModel, snapshot_download

model_dir = snapshot_download('ZhipuAI/chatglm3-6b', cache_dir='D:\Transformers')
# model_dir ='D:\Transformers\ZhipuAI\chatglm3-6b';
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)

model = AutoModel.from_pretrained(model_dir, trust_remote_code=True).half().cpu()  # 权重和计算从 32 位浮点数转换为16位

model = model.eval()
response, history = model.chat(tokenizer, '你好', history=[])
print(response)
这段代码意图无比清晰,启动刚刚下载的chatglm3-6b模型,和它打个招呼,羞涩地问下:“你好”。先别急着运行,因为你运行肯定会报错(多么痛地领悟,该踩的坑我都踩完了

标签:实战,模型,应用,query,import,model,response,history
From: https://www.cnblogs.com/chinasoft/p/18406176

相关文章

  • 第J3周:DenseNet算法实战与解析(TensorFlow版)
    >-**......
  • 图与网络模型的基本概念精解
    图是一种最简单且直观的语言,它通过点和线的组合来表达复杂系统中的关系。点代表对象或位置,线代表它们之间的连接或交互。这种简洁的表达方式使得图在众多领域中具有强大的应用能力。无论是社交网络中的好友关系、城市中的交通系统,还是生物学中的基因网络,图都能通过简单的结构,呈现......
  • 今日分享 | AI大模型学习者的知识基座《实战AI大模型》(附PDF)
    前言大型深度学习模型(简称AI大模型)以其强大的表征能力和卓越的性能,在自然语言处理、计算机视觉、推荐系统等领域均取得了突破性的进展。尤其随着AI大模型的广泛应用,无数领域因此受益。《实战AI大模型》是一本兼具深度和广度的大模型入门书籍,它深入浅出地诠释了AI大模型的核心概念和......
  • PDF下载,理解大语言模型:学习基础概念和技术共145页
    前言本书将向您介绍大型语言模型(LLM)的基本概念,以及与之相关的技术。这本书首先介绍了ChatGPT等对话式AI的兴起,以及它们与更广泛的大型语言模型的关系。从那里,您将了解自然语言处理(NLP)、其核心概念以及它如何导致LLM的兴起。接下来,您将深入了解转换器及其特征(例如自我注意)......
  • TimesNet - 时序升维卷积任务通用模型 论文笔记 ICLR2023
    论文信息标题:Timesnet:Temporal2d-variationmodelingforgeneraltimeseriesanalysis作者:HaixuWu,TenggeHu,YongLiu,HangZhou,JianminWang,MingshengLong代码:https://github.com/thuml/TimesNet[原仓库,代码已迁移到TSLib]https://github.com/thuml/Time-Ser......
  • 移动应用开发中数据隐私保护的法律与技术挑战
    随着智能手机和平板电脑的普及,移动应用已成为我们生活中不可或缺的一部分。然而,随着技术的进步和用户需求的多样化,移动应用开发中的数据隐私保护面临着日益严峻的法律与技术挑战。本文将结合当前实际情况和具体案例,探讨这些挑战并提出相应的解决策略。法律挑战1.跨国数据流......
  • 5G网络架构对移动应用性能的影响及优化策略
    引言随着第五代移动通信技术(5G)的商用部署,移动通信网络迎来了前所未有的变革。5G网络以其高带宽、低延迟和大连接数的特性,为移动应用提供了强大的网络支撑,极大地提升了用户体验和应用性能。本文将从5G网络架构的特点出发,探讨其对移动应用性能的影响,并结合实际案例提出优化策略......
  • 基于java ssm vue mysql大学校医院信息管理系统毕业设计项目实战分享
    前言......
  • 大模型书籍推荐:《Deep Learning with PyTorch》PyTorch深度学习实战,从核心理论到实战!(
    一、PyTorch深度学习实战PyTorch核心开发者教你使用PyTorch创建神经网络和深度学习系统的实用指南。这本书详细讲解整个深度学习管道的关键实践,包括PyTorch张量API、用Python加载数据、监控训练以及对结果进行可视化。PyTorch核心知识+真实、完整的案例项目,快速提升读者动手能......
  • 大模型书籍推荐 | 自然语言处理:大模型理论与实践(含PDF免费)
    一、前言随着人工智能技术的飞速发展,自然语言处理成为了计算机科学与人工智能领域中不可或缺的关键技术之一。从基于规则的方法到现今基于深度学习的革命性技术,尤其是大模型技术的应用,给自然语言处理领域带来了前所未有的机遇和挑战。本书以其独特的视角和结构,全面系统地介绍了大模......