LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型

这篇具有很好参考价值的文章主要介绍了LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、ChatYuan-large-v2 模型

ChatYuan-large-v2是一个开源的支持中英双语的功能型对话语言大模型,与其他 LLM 不同的是模型十分轻量化,并且在轻量化的同时效果相对还不错,仅仅通过0.7B参数量就可以实现10B模型的基础效果,正是其如此的轻量级,使其可以在普通显卡、 CPU、甚至手机上进行推理,而且 INT4 量化后的最低只需 400M

v2 版本相对于以前的 v1 版本,是使用了相同的技术方案,但在指令微调、人类反馈强化学习、思维链等方面进行了优化,主要优化点如下所示:

  • 增强了基础能力。原有上下文问答、创意性写作能力明显提升。
  • 新增了拒答能力。对于一些危险、有害的问题,学会了拒答处理。
  • 新增了代码生成功能。对于基础代码生成进行了一定程度优化。
  • 新增了表格生成功能。使生成的表格内容和格式更适配。
  • 增强了基础数学运算能力。
  • 最大长度token数从1024扩展到4096
  • 增强了模拟情景能力。
  • 新增了中英双语对话能力。

ChatYuan-large-v2 模型已经发布到了 huggingface 中:

https://huggingface.co/ClueAI/ChatYuan-large-v2

开源项目地址:

https://github.com/clue-ai/ChatYuan

二、AutoModel 调用示例

由于ChatYuan-large-v2 已经发布到 huggingface 中 ,因此在可以先使用 transformers 中的 AutoTokenizerAutoModel 进行调用体验。

首先将下面链接中的文件下载到本地磁盘中:

https://huggingface.co/ClueAI/ChatYuan-large-v2/tree/main

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

调用实例:

# -*- coding: utf-8 -*-
from transformers import AutoTokenizer, AutoModel
import os

# 这里是模型下载的位置
model_dir = 'D:\\AIGC\\model\\ChatYuan-large-v2'

tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True)
history = []
while True:
    query = input("\n用户:")
    if query == "stop":
        break
    if query == "clear":
        history = []
        os.system('clear')
        continue
    response, history = model.chat(tokenizer, query, history=history)
    print(f"小元:{response}")

测试:

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

从上面的演示可以看到一些常见的对话都是OK的,也可以为我们写一些代码,下面将上面的程序转化为 Langchain 中的 LLM 进行使用。

三、LangChain 集成

LangChain 中为我们提供了一个 HuggingFacePipeline 工具,可以轻松的将 HuggingFace 中的 pipeline 转为 langchain 中的 LLM,下面是调用实例:

# -*- coding: utf-8 -*-
from transformers import AutoTokenizer, AutoModel, pipeline
from langchain import HuggingFacePipeline
from langchain import PromptTemplate
import os

model_dir = 'D:\\AIGC\\model\\ChatYuan-large-v2'
tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True)
model = AutoModel.from_pretrained(model_dir, trust_remote_code=True)
pipe = pipeline(
    "text2text-generation",
    model=model,
    tokenizer=tokenizer,
    max_length=512,
    temperature=0.8,
    top_p=1,
    repetition_penalty=1.15
)
llm = HuggingFacePipeline(pipeline=pipe)

template = "用户:{query} \n 小元:"
prompt = PromptTemplate(
    input_variables=["query"],
    template=template,
)

while True:
    query = input("\n用户:")
    if query == "stop":
        break
    if query == "clear":
        os.system('clear')
        continue
    response = llm(prompt.format(query=query))
    print(f"小元:{response}")

测试效果:

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

四、场景使用探索

4.1 实体识别

提取文本中的 企业地址 实体:

根据文本内容,提取出"公司"、“地址” 信息, 文本内容:阿里巴巴在江苏南京有分公司吗?

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

4.2 情感分析

根据文本内容,判断情感是正向还是负向, 文本内容:前台服务非常好,再接再厉!
根据文本内容,判断情感是正向还是负向, 文本内容:饭菜口味很难吃!

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

4.3 文章分类

根据文本内容进行文章分类,分类如下: 新闻、体育、美食、健身, 文本内容:苏州的饭菜非常好吃,下次继续来吃。
根据文本内容进行文章分类,分类如下: 新闻、体育、美食、健身, 文本内容:好久没运动了,我准备每天跑步。

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能

4.4 文章生成

写一个文章,内容是关于美食的。

LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型,机器学习,langchain,语言模型,人工智能文章来源地址https://www.toymoban.com/news/detail-567768.html

到了这里,关于LangChain 本地化方案 - 使用 ChatYuan-large-v2 作为 LLM 大语言模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spark的Windows本地化部署完整方案

    对于Spark,网上涉及到Windows平台搭建的资料不多。大多资料不全,而且很少说明注意事项,存在一定的挖坑行为。对于不是很熟悉spark环境搭建过程,但是又非常想在自己的电脑上搭建一个本地环境的小伙伴来说存在一定的绕路行为。本文借鉴了网上大部分的资料,在整理集

    2023年04月11日
    浏览(44)
  • 【Unity 实用工具篇】| 游戏多语言解决方案,官方插件Localization 实现本地化及多种语言切换

    前言 Unity的 多语言本地化 是一个很实用的功能,它可以帮助游戏支持多种语言,让不同语言的玩家都能够更好地体验游戏。 而实现本地化的方案也有很多种,各个方案之间也各有优劣,后面也会对多个方案进行介绍学习。 本文就来介绍一个专门作用于多语言本地化的Unity官

    2024年02月05日
    浏览(58)
  • winform使用本地化,中英文切换

    在有些软件中,需要中英文切换的功能,甚至其他语言切换的功能,都可以使用winform自带的本地化功能。一共有2种方法。 第一种方法 1.首先建立一个项目,拖几个控件上去,如图所示。 2.点击Form1的属性,设置以下2项 此时,窗体就会变成带有 英语 的字样 3.这个时候,我们

    2023年04月09日
    浏览(55)
  • 使用Unity Localization插件进行项目本地化实战详解

    在使用Unity开发游戏的过程中,本地化是必不可少的。网络上也有很多的本地化工具,本次我介绍的是Unity官方提供的Localization插件,大家可以在Package Manager进行安装 在Project Setting中找到Localization,(需要先创建这个Localization Setting文件)点击Locale Generator选择需要本地化的语

    2024年02月05日
    浏览(58)
  • 使用nextjs本地化部署AI大模型gemma

    博主是AI新手,如有不对还请评论区指教~ 这里介绍mac的部署方式,win也可以实现。 本案例使用到:ollama + nextjs + langchain.js + milvus 来实现知识库问答和聊天。 ollama: 本地运行模型服务 nextjs: 前端框架项目 langchain.js: 调用模型服务并对话 milvus: 向量数据库 开源代码:G

    2024年04月13日
    浏览(64)
  • 10 使用Vue+axios+Vuex实现登录后前端数据本地化存储实战

    这已经是《 Vue + SpringBoot前后端分离项目实战 》专栏的前端部分第8篇博客了, 服务端部分 由天哥(天哥主页)负责,目前专栏目录如下: Vue + SpringBoot前后端分离项目实战 - 前端部分 1. 手把手带你做一套毕业设计-征程开启 2. 我应该把毕业设计做到什么程度才能过关? 3

    2024年02月16日
    浏览(41)
  • 群晖、威联通NAS硬盘本地化,使用RaiDrive通过WebDAV实现内网挂载

     先看效果   NAS磁盘映射到电脑本地的方法有很多,但好用流畅不卡顿的还得是WebDAV+RaiDrive将磁盘挂载到本地使用,而新版的RaiDrive必须连接互联网才能使用,完全物理隔离的内网中无法正常使用。最后我发现旧版的RaiDrive可以满足需求。   局域网内挂载NAS到本地电脑使用的

    2024年02月06日
    浏览(230)
  • 手把手教你如何使用AI绘画:Stable-Diffusion本地化部署及使用教程

    最近随着ChatGPT的爆火,AI绘画也火得不行,这几天文心一言发布会,图片生成的梗都快被大家玩坏了,网上有不少Midjourney的使用分享,但是毕竟那个是商用网站,收费的,博主今天给大家发个福利!出一波免费使用AI绘画的教程:Stable-Diffusion本地化部署及使用!手把手教你如

    2023年04月08日
    浏览(79)
  • 详解dedecms织梦远程图片本地化https链接图片无法本地化怎么解决

    最近有朋友遇到发布文章时候文章里面带https的站外图片无法本地化,以下是解决办法: 找到  dede//inc/inc_archives_functions.php文件里面GetCurContent($body)这个函数,里面 这一段改为: 第二步: 这一段改为: 搞定,这样发文章就可以把https的远程图片也本地化了 以上就是本文的全

    2024年02月02日
    浏览(43)
  • Remix本地化,加载本地合约文件,本地链接Remix

    智能合约IDE,在线的比较卡,而且切换网络面临文件丢失的风险,选择本地搭建Solidity本地编辑环境,Remix-IDE + Remixd组合,加载本地合约代码。这里用到两个工具: Remix IDE(本地IDE)+ Remixd (链接) Remix IDE 项目源码:https://github.com/ethereum/remix-project 介绍: Remix IDE是一个本地部署运

    2024年02月13日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包