聊聊魔塔社区MGeo模型的部署与运行

从现今与今后的发展来看,单一的业务不再仅仅依靠于传统的技术开发,而是应该结合AI模型来应用、实践。只有这样,才能更数智化,更高效化,更贴合时代的发展。

魔塔 社区就类似国外的Hugging Face,是一个模型即服务的运行平台。在这个平台上运行着很多的大模型示例,网站直接提供了试运行的环境,也可以下载代码到本地部署运行或是在阿里云的PAI平台运行。

pytorch环境搭建

我是跟着 Pytorch-Gpu环境配置 博文一步一步搭建起来的。唯一不同的是,我不是基于Anaconda虚拟环境搭建,而是直接在本地环境部署pytorch与CUDA。

开着西部世界的VPN,下载pytorch与CUDA会快一些,在本地下载好了pytorch的whl文件后,直接在下载目录中打开cmd窗口,使用pip install xxxx.whl安装pytorch即可。

RaNER 模型搭建与运行

进入魔塔官网,找到MGeo模型,首先必须要下载modelscope包。在MGeo的模型介绍中,以及有详细的命令说明,如下:

shell 复制代码
# GPU版本
conda create -n py37testmaas python=3.7
pip install cryptography==3.4.8  tensorflow-gpu==1.15.5  torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

但是对于我来说,并没有用到conda虚拟环境,所以我只是运行了最后的pip命令,如下:

shell 复制代码
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

命令输出内容如下:

最好是开着VPN执行命令,否则会很慢。下载完后有一个报错,可以忽略,最后我成功安装的组件有:

如此,便完成了modelscope包的安装。然后拷贝示例代码在本地运行即可,示例代码如下:

shell 复制代码
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

task = Tasks.token_classification
model = 'damo/mgeo_geographic_elements_tagging_chinese_base'
inputs = '浙江省杭州市余杭区阿里巴巴西溪园区'
pipeline_ins = pipeline(
    task=task, model=model)
print(pipeline_ins(input=inputs))
# 输出
# {'output': [{'type': 'prov', 'start': 0, 'end': 3, 'span': '浙江省'}, {'type': 'city', 'start': 3, 'end': 6, 'span': '杭州市'}, {'type': 'district', 'start': 6, 'end': 9, 'span': '余杭区'}, {'type': 'poi', 'start': 9, 'end': 17, 'span': '阿里巴巴西溪园区'}]}

运行过程中,也会有一些提示,还是很有意思的,可以看看.

最后的结果也是正常的输出了,对于输出结果的解释,我就不多说,可以看API文档解释。我换成其它地址继续测试:

总结

最后说一下自己的实际感受。首先这个MGEO的AI模型,在我上家公司我主导做的项目就用到了,当时是花钱在阿里云的 地址标准化 产品上购买使用,用于在实际的项目中根据客户输入的地址提取省市区并再次输入到目标网站。当时一开始想的是自己找开源的库来实现,后来发现有点难,因为客户输入的辨识度太低,可能性太多,而且我们不能规范客户的输入(主要是历史数据太多)。因此当时找了好多方案,最后发现阿里云有这个支持,就花钱购买调用解决问题。

从现在来看,其实整个模型与应用完全可以自己搭建部署起来,作为基础设施层,省钱又能自我管控,而且还能二次开发,毕竟现在以及前几年做AI算法的人还是不少的(当时我们公司也有少数做AI相关的人,自己现在也算是个半吊子水平,看得懂也能改一点),唉,总的来说还是当时的能力限制了,还是得多学多思考多了解,尤其是现在AI模型的普遍性与高速发展,程序猿学习成本与门槛降低很多很多。

相关推荐
Learn Beyond Limits1 天前
Error metrics for skewed datasets|倾斜数据集的误差指标
大数据·人工智能·python·深度学习·机器学习·ai·吴恩达
DreamLife☼1 天前
工业领域 ACP 协议全解析:从入门到实战案例
网络·安全·ai·工业·行为·acp·管控
花生糖@1 天前
GPT-5发布:统一智能体时代的开启——从“工具”到“协作者”的范式跃迁
gpt·ai·gpt5
迦蓝叶1 天前
JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
java·网关·ai·重构·openai·prometheus·单一职责原则
安替-AnTi1 天前
AI急速搭建网站:Gemini、Bolt或Jules、GitHub、Cloudflare Pages实战全流程!
ai·github·cloudflare·bolt·gemini·快速搭建网站
Learn Beyond Limits2 天前
Transfer Learning|迁移学习
人工智能·python·深度学习·神经网络·机器学习·ai·吴恩达
森之鸟2 天前
寻找AI——初识3D建模AI
ai·aigc
豌豆花下猫2 天前
Python 潮流周刊#118:Python 异步为何不够流行?(摘要)
后端·python·ai
YF云飞2 天前
数据仓库进化:Agent驱动数智化新范式
数据仓库·人工智能·ai
CodeCraft Studio2 天前
Aspose.Words for .NET 25.7:支持自建大语言模型(LLM),实现更安全灵活的AI文档处理功能
人工智能·ai·语言模型·llm·.net·智能文档处理·aspose.word