会员登录 立即注册

搜索

构建中国人自己的私人GPT—使用中文

[复制链接]
崎山小鹿 发表于 2024-1-8 21:59:05 | 显示全部楼层 |阅读模式
崎山小鹿
2024-1-8 21:59:05 268 3 看全部
上一篇已经讲解了如何构建自己的私人GPT,这一篇主要讲如何让GPT支持中文。
微信图片_20240112222609.png
微信图片_20240109131124.jpg
privateGPT 本地部署目前只支持基于llama.cpp 的 gguf格式模型,GGUF 是 llama.cpp 团队于 2023 年 8 月 21 日推出的一种新格式。它是 GGML 的替代品,llama.cpp 不再支持 GGML。

您可以通过简单地更改您选择的配置文件来更改语言(法语、西班牙语、意大利语、英语等);无需更改代码!

本文主要采用国产YI-34B-CHAT模型。
1.模型下载
>>>yi模型下载<<<

下载后放置在 models 文件夹下

embedding模型下载:BAAI/bge-small-en-v1.5 · Hugging Face

下载后放置在models/cache文件夹下,bge is short for BAAI general embedding,FlagEmbedding 可以将任何文本映射到低维密集向量,该向量可用于检索、分类、聚类或语义搜索等任务。它还可以用于法学硕士的矢量数据库

2.settings.yaml 文件修改:
主要修改local部分,使用YI模型使用prompt_style: "tag"类型的提示词模板

prompt_style: "tag"
llm_hf_model_file: yi-34b-chat.Q4_K_M.gguf


3.代码修改
使用YI-34B-CHAT模型,源码要简单修改下,修改如下

文件路径 privateGPT/private_gpt/components/llm/llm_component.py

第44行,添加如下内容:

generate_kwargs={'stop':['<|im_end|>']},
如图:
微信截图_20240109113434.png

导航到 UI:在浏览器中打开 http://localhost:8001/。
微信图片_20240109115239.png

原理解析
这套方法使用了 LangChain, GPT4All, LlamaCpp, Chroma and SentenceTransformers.

LangChain 用来生成文本向量,Chroma 存储向量。GPT4All、LlamaCpp用来理解问题,匹配答案。基本原理是:问题到来,向量化。检索语料中的向量,给到最相似的原始语料。语料塞给大语言模型,模型回答问题。基本原理和chatpdf没大差别。



创建自己的模型
Llama2 模型使用16位浮点数作为权重进行训练。我们可以将其缩小到4位整数以进行推理,而不会失去太多的功率,但会节省大量的计算资源(特别是昂贵的 GPU RAM)。这是已经被证实的。这个过程叫做量化。
GGUF格式专为 LLM 推理设计。它支持 LLM 任务,如语言编码和解码,使其比 PyTorch 更快、更容易使用。

使用 convert.py 实用程序将一个 PyTorch 模型转换为 GGUF 。你只需给出包含 PyTorch 文件的目录。这里的 GGUF 模型文件是完整的16位浮点模型

Llama2 模型,可以使用 llama.cpp 将其转换并量化为 GGUF,使用 convert.py 实用程序将一个 PyTorch 模型转换为 GGUF,quantize 命令行工具量化 FP16 GGUF 文件。下面的命令使用5位 k-量化创建一个新的 GGUF 模型文件。你可以在自己的应用程序中使用 GGUF 模型文件,或者在 Huggingface 上与全世界分享你的模型


embedding模型  嵌入式模型(Embedding)是一种广泛应用于自然语言处理(NLP)和计算机视觉(CV)等领域的机器学习模型,它可以将高维度的数据转化为低维度的嵌入空间(embedding space),并保留原始数据的特征和语义信息,从而提高模型的效率和准确性。本文将对嵌入式模型进行详细的介绍,包括其背景、原理、应用和常见类型等方面。

safetensors 文件是模型文件,是 Hugging Face 公司推出的一种用于保存模型的新文件格式,它旨在解决模型加载和使用中的安全问题。
第一个是配置文件;config.json。第二个是词典文件,vocab.json。第三个是预训练模型文件,如果你使用pytorch则保存pytorch_model.bin文件
额外的文件,指的是merges.txt、special_tokens_map.json、added_tokens.json、tokenizer_config.json、sentencepiece.bpe.model等,这几类是tokenizer需要使用的文件


embedding模型是什么
privateGPT中如何使用国产YI-34B-CHAT模型
如何创建 GGUF 模型文件?
全面了解 PrivateGPT:中文技巧和功能实测
huggingface transformers预训练模型如何下载至本地,并使用
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-1-15 09:38:45 | 显示全部楼层
崎山小鹿
2024-1-15 09:38:45 看全部
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-1-18 23:21:02 | 显示全部楼层
崎山小鹿
2024-1-18 23:21:02 看全部
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-1-24 16:04:34 | 显示全部楼层
崎山小鹿
2024-1-24 16:04:34 看全部
修改settings.yaml文件:

default_chat_system_prompt: "You are a helpful assistant. 你是一个乐于助人的助手。"

tokenizer: hfl/chinese-alpaca-2-7b

llm_hf_repo_id: hfl/chinese-alpaca-2-7b-gguf

llm_hf_model_file: ggml-model-q4_k.gguf

embedding_hf_model_name: BAAI/bge-large-zh-v1.5

运行poetry run python scripts/setup命令下载模型文件到本地,因为众所周知的原因,这一步需要开启全局代理。 作者:重力风暴 https://www.bilibili.com/read/cv29725893/ 出处:bilibili
回复

使用道具 举报

  • 您可能感兴趣
您需要登录后才可以回帖 登录 | 立即注册 |

本版积分规则 返回列表

查看:268 | 回复:3

金双石科技,软件开发20年,技术行业领先,您的满意,就是我们的目标,认真负责,开拓进取,让成品物超所值
关于我们
公司简介
发展历程
联系我们
本站站务
友情链接
新手指南
内容审核
商家合作
广告合作
商家入驻
新闻合作

手机APP

官方微博

官方微信

联系电话:15876572365 地址:深圳市宝安区西乡街道宝民二路宝民花园5巷6栋405 ( 粤ICP备2021100124号-1 ) 邮箱:qishanxiaolu@qq.com
QQ|Powered by Discuz! X3.5 © 2001-2023 Discuz! Team.
快速回复 返回顶部 返回列表