首页 > 其他分享 >[LLM] 开源 AI 大语言模型的本地化定制实践

[LLM] 开源 AI 大语言模型的本地化定制实践

时间:2023-08-16 09:12:19浏览次数:63  
标签:LLM AI 本地化 模型 https import llm com

 

LLM(Large Language Model,大型语言模型)是一种基于深度学习的自然语言处理模型,旨在理解和生成人类语言。

它们在大量的文本数据上进行训练,可以执行广泛的任务,包括文本总结、翻译、情感分析等等。

LLM的特点是规模庞大,包含数十亿的参数,帮助它们学习语言数据中的复杂模式。

 

本文假定你对一些类似 ChatGPT 的工具已有使用经验, 了解其中的强大和不足。

 

LLM 应用层面介绍

 

1、LLM 当前主要应用

 

通用问答类——基于OpenAI等做的套壳。(能做不限于创作、翻译、分析、摘要、预测)

领域搜索类——基于”数据库”做的垂直领域搜索。*

  

2、为什么需要开源的 LLM ?

 

隐私性

基于openai或其它第三方模型时对数据的控制性;AWS、Azure内的数据隐私性。

(随提供方政策)

 

精准性

当你不知道某件事的时候,生成的答案感觉是靠谱的,但不一定正确。

(GPT插件系统、可信数据源)

怎么验证这个正确性、提高服务的准确性,是需要提高的地方。

 

拓展性

单独使用 LLM 通常不足以创建一个真正强大的应用程序,真正的强大之处在于将它们与其他计算或知识来源结合起来。

(LLM训练成本)

后面会介绍基于语言模型的开发框架 LangChain。

 

3、LLM 应用优化方向

0.(模型架构改进)

1. 模型调参。(Fine-tuning:小规模的特定任务上继续训练)

2. 关键词拆分。(AutoGPT为代表的,用合理的架构让模型自动拆分关键词、更细使得精度提高)

 

LLM 应用实践

 

1. 单独部署使用开源 LLM 

  一种是用终端执行,另一种是用比较多的 Webui 可以直接与同一类LLM进行chat。

  比如基于 ChatGLM 的 ChatGLM-webui(https://github.com/Akegarasu/ChatGLM-webui/),操作示例:https://www.cnblogs.com/farwish/p/17289475.html

  比如基于 alpaca-7B-ggml 的 Serge(https://github.com/nsarrazin/serge),操作示例:https://www.cnblogs.com/farwish/p/17280159.html

  等等。

 

2. 开源 LLM 与私有数据配合

  LangChain 框架使从数据到 LLM 的各个部分都组件化,LangChain + LLMs 较为通用。

 

1)LangChain 与某一个 LLM 的结合。

## pip install langchain
## pip install gpt4all

from langchain import PromptTemplate, LLMChain
from langchain.llms import GPT4All# 下载语言模型
local_path = (
    "./wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin"  # 本地目标文件路径
)

import requests

from pathlib import Path
from tqdm import tqdm

Path(local_path).parent.mkdir(parents=True, exist_ok=True)

# 下载语言模型,官网 https://gpt4all.io
url = 'https://gpt4all.io/models/wizardlm-13b-v1.1-superhot-8k.ggmlv3.q4_0.bin'

# 1.
response = requests.get(url, stream=True)

# 2
with open(local_path, 'wb') as f:
    for chunk in tqdm(response.iter_content(chunk_size=8192)):
        if chunk:
            f.write(chunk)

# 设置模版
template = """Question: {question}

Answer: Let's think step by step."""

prompt = PromptTemplate(template=template, input_variables=["question"])


# Verbose is required
llm = GPT4All(model=local_path, verbose=True)

llm_chain = LLMChain(prompt=prompt, llm=llm)

question = " What is cup ?"
llm_chain.run(question)

official doc:https://python.langchain.com/docs/integrations/llms/gpt4all

 

2)对文档作为知识源的查询提问。

考虑到 LLM 对理解文本的熟练程度,在这里是一个很好的工具。

```code

```

official doc:https://python.langchain.com/docs/use_cases/question_answering.html

 

3)其它-多模态方面

想尝试其他类型 AI 的, 比如多模态的, 可以在线进行体验:https://tool.offso.com/chatai

3. 其它:多模态方面

想尝试其他多模态 AI 的, 可以在线进行体验:https://tool.offso.com/chatai

这里不展开讨论,除了文生图、图生文、创造出优质内容,随着硬件等各方面提升、未来还会有更多场景涌现。

 

Other:https://gist.github.com/psychemedia/51f45fbfe160f78605bdd0c1b404e499

Link:https://www.cnblogs.com/farwish/p/17632893.html

标签:LLM,AI,本地化,模型,https,import,llm,com
From: https://www.cnblogs.com/farwish/p/17632893.html

相关文章

  • ( async/await)与(try、catch)
    避免再请求中使用then回调,将请求后的代码变成同步的,可使用async搭配awaitasync:是一个异步的方法;return返回值实际是Promise对象,不会阻塞后面的函数await:同步运算符(then的语法糖),可阻塞async函数内的await下的其他逻辑,直到执行完成后,返回请求结果(如果有的话);并不会阻塞异步方法的线......
  • 解决VS2022工程中多个含main()函数源码文件同时编译问题
    做编程练习时,我常常将源码文件放在一个工程中管理,写出的每个源码文件中都包含一个main()函数。于是出现这样的问题:于是生成失败。这是因为,在VS2022中,一个工程里只能有一个入口函数main()。这样的要求对于一个完整的工程来说其实也比较合理,但是对我来说很不方便。于是,通过以......
  • 简述C# 9.0增加的顶级语句--不使用 Main 方法的程序
    1.简述:    我们都知道,C#作为大型协作工业级编程语言,在编写简单应用的时候可能产生的入口代码比实际的需求代码还多的尴尬现象,这些入口代码在老袁的眼中显得非常碍眼。有没有像其它编程语言特别是脚本语言能快速编写简单可用的程序的可能呢?答案当然是有的,C#9.0增加了顶级......
  • Coremail AI实验室:利用高级语境和视觉智能进行钓鱼邮件检测
    在这个日益数字化的时代,对电子邮件安全需求是至关重要的。新兴的高级威胁邮件:应用社工技术的钓鱼邮件,仿冒公检法的钓鱼邮件等等,都需要更高级的防御策略。Coremail邮件安全人工智能实验室,整合了高级文本语境理解和智能图像处理能力,得以显著增强钓鱼邮件的检测能力,为千万级各行业终端......
  • 视觉创作新境界——VideoBlog Ai服务介绍
    在数字化时代,多媒体内容已成为传播和吸引注意力的重要手段。为了满足这一需求,VideoBlogAi应运而生,它能够将博客链接转化为引人注目的AI视频,让内容更加生动有趣。VideoBlogAi不仅是一款工具,更是一种创意的媒介,本文将深入介绍VideoBlogAi服务的作用及其在内容创作领域的巨大影响。......
  • AI简介-AI基础系列文章第1篇
    您的关注是对我最大的支持......
  • 云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理
    作者:颜廷帅(瀚廷)01背景OpenAI在3月15日发布了备受瞩目的GPT4,它在司法考试和程序编程领域的惊人表现让大家对大语言模型的热情达到了顶点。人们纷纷议论我们是否已经跨入通用人工智能的时代。与此同时,基于大语言模型的应用也如雨后春笋般出现,为我们带来了协同办公、客服对......
  • Python小项目:利用tkinter开发AI对战井字棋游戏
    文章目录1前言2代码分模块介绍2.1导入需要的库2.2定义全局变量2.2定义玩家类2.3定义页面类2.4定义页面变化类以及玩家与AI轮流转换下子权限2.5定义判断胜负类2.6定义智能AI下子类3整体代码4结语完整项目下载:下载链接1前言在数字的世界里,古老的棋盘游戏焕发出崭新的活......
  • 视频集中存储安防监控平台EasyCVR优化AI硬件接入时的通道显示异常问题
    安防视频监控平台视频集中存储EasyCVR可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。安防监控视频云存储平台EasyCVR既具备传统安防视频监控的能力,比如:视频监控......
  • langchain接入星火大模型(其他模型也可以参考)
    首先来说LangChain是什么?不了解的可以点击下面的链接来查看下。LangChain入门指南_故里_的博客-CSDN博客然后在介绍一下星火认知大模型相关:讯飞星火认知大模型感兴趣的小伙伴可以了解一下,国内比较成熟的类GPT(我自己定义的,也不知道对不对)模型。说一下大概需求,首先我是要用到功......