会员登录 立即注册

搜索

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

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

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

本文主要采用零一万物公司提供的01-ai/Yi-9B大模型。
零一万物由创新工场人工智能工程院塔尖孵化,李开复博士亲自领军筹组,是一家致力打造 AI 2.0 时代的前沿大模型技术及软件应用的全球化公司。Yi-9B 几乎是一系列类似规模的开源模型(包括 Mistral-7B、SOLAR-10.7B、Gemma-7B、DeepSeek-Coder-7B-Base-v1.5 等)中最好的,尤其表现出色代码、数学、常识推理和阅读理解。9B型号        它是 Yi 系列模型中最擅长编码和数学的。是在Yi-6B的基础上持续训练的,使用0.8T token。


1.修改配置文件settings.yaml
local:
  prompt_style: "tag"
  llm_hf_repo_id: MaziyarPanahi/Yi-9B-GGUF
  llm_hf_model_file: Yi-9B.Q4_K_M.gguf
  embedding_hf_model_name: BAAI/bge-small-zh-v1.5

2.代码修改
使用YI模型,源码要简单修改下,修改如下

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

第44行,添加如下内容:
generate_kwargs={'stop':['<|im_end|>']},
如图:
微信截图_20240109113434.png

3.模型下载
运行
poetry run python scripts/setup

4.启动
set PGPT_PROFILES=local
poetry run python -m private_gpt

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

效果不是很好,期待他们再更新吧:
微信图片_20240310195101.png



如果不能正常下载模型文件,可以手动下载
下载01-ai/Yi-9Bgguf
微信截图_20240309231638.png
还是不能下载加我微信:qishanxiaolu
下载后放置在 models 文件夹下


embedding模型是什么
privateGPT中如何使用国产YI-34B-CHAT模型
如何创建 GGUF 模型文件?
全面了解 PrivateGPT:中文技巧和功能实测
huggingface transformers预训练模型如何下载至本地,并使用
构建中国人自己的私人GPT  (出处: 金双石科技)
构建中国人自己的私人GPT—使用中文 (出处: 金双石科技)


回复

使用道具 举报

 楼主| 崎山小鹿 发表于 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
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-8 09:26:44 | 显示全部楼层
崎山小鹿
2024-3-8 09:26:44 看全部
本文主要采用零一万物公司提供的01-ai/Yi-9B大模型。
零一万物由创新工场人工智能工程院塔尖孵化,李开复博士亲自领军筹组,是一家致力打造 AI 2.0 时代的前沿大模型技术及软件应用的全球化公司。Yi-9B 几乎是一系列类似规模的开源模型(包括 Mistral-7B、SOLAR-10.7B、Gemma-7B、DeepSeek-Coder-7B-Base-v1.5 等)中最好的,尤其表现出色代码、数学、常识推理和阅读理解。


1.修改配置文件settings.yaml
local:
  prompt_style: "tag"
  llm_hf_repo_id: MaziyarPanahi/Yi-9B-GGUF
  llm_hf_model_file: Yi-9B-GGUF.Q4_K_M.gguf
  embedding_hf_model_name: BAAI/bge-small-zh-v1.5

2.代码修改
使用YI模型,源码要简单修改下,修改如下

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

第44行,添加如下内容:
generate_kwargs={'stop':['<|im_end|>']},
如图:


3.模型下载
运行
poetry run python scripts/setup

4.启动
set PGPT_PROFILES=local
poetry run python -m private_gpt

导航到 UI:在浏览器中打开 http://localhost:8001/。


Inference API (serverless) has been turned off for this model.
01-ai/Yi-9Bgguf文件下载已被关闭,暂时不能在privateGPT使用
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 09:43:51 | 显示全部楼层
崎山小鹿
2024-3-10 09:43:51 看全部
本文主要采用国产YI-34B-CHAT模型。
1.模型下载
>>>yi模型yi-34b-chat.Q4_K_M.gguf下载<<<

下载后放置在 models 文件夹下

embedding模型下载:https://huggingface.co/BAAI/bge-small-zh-v1.5

下载后放置在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
embedding_hf_model_name: BAAI/bge-small-zh-v1.5


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

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

第44行,添加如下内容:

generate_kwargs={'stop':['<|im_end|>']},
如图:


启动
set PGPT_PROFILES=local
poetry run python -m private_gpt

导航到 UI:在浏览器中打开 http://localhost:8001/。
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 10:07:53 | 显示全部楼层
崎山小鹿
2024-3-10 10:07:53 看全部
原理解析
这套方法使用了 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需要使用的文件
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 16:35:10 | 显示全部楼层
崎山小鹿
2024-3-10 16:35:10 看全部
"im_start"一个令牌代表输入消息的开始。所以im应该代表input message
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 17:23:12 | 显示全部楼层
崎山小鹿
2024-3-10 17:23:12 看全部
./main -ngl 35 -m Yi-9B-GGUF.Q4_K_M.gguf --color -c 32768 --temp 0.7 --repeat_penalty 1.1 -n -1 -p "<|im_start|>system
{system_message}<|im_end|>
<|im_start|>user
{prompt}<|im_end|>
<|im_start|>assistant"
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 18:01:08 | 显示全部楼层
崎山小鹿
2024-3-10 18:01:08 看全部
<|system|>
Below is a dialogue between a human and AI assistant called StarChat.
<|end|>
<|user|>
Is it possible to imagine a society without law?<|end|>
<|assistant|>
It is difficult to imagine ...<|end|>
<|user|>
It seems like you ...<|end|>
<|assistant|>
You are correct ...<|end|>
<|user|>
Yeah, but laws are complicated ...<|end|>
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-10 19:56:24 | 显示全部楼层
崎山小鹿
2024-3-10 19:56:24 看全部
llm = LlamaCPP(
    # You can pass in the URL to a GGML model to download it automatically
    model_url=model_url,
    # optionally, you can set the path to a pre-downloaded model instead of model_url
    model_path=None,
    temperature=0.1,
    max_new_tokens=256,
    # llama2 has a context window of 4096 tokens, but we set it lower to allow for some wiggle room
    context_window=3900,
    # kwargs to pass to __call__()
    generate_kwargs={},
    # kwargs to pass to __init__()
    # set to at least 1 to use GPU
    model_kwargs={"n_gpu_layers": 1},
    # transform inputs into Llama2 format
    messages_to_prompt=messages_to_prompt,
    completion_to_prompt=completion_to_prompt,
    verbose=True,
)
回复

使用道具 举报

 楼主| 崎山小鹿 发表于 2024-3-11 23:20:29 | 显示全部楼层
崎山小鹿
2024-3-11 23:20:29 看全部
yi 9b大模型
{
  "name": "LLaMA v2",
  "arch": "llama",
  "quant": "Q4_K_M",
  "context_length": 4096,
  "embedding_length": 4096,
  "num_layers": 48,
  "rope": {
    "freq_base": 10000,
    "dimension_count": 128
  },
  "head_count": 32,
  "head_count_kv": 4,
  "parameters": "34B"
}
回复

使用道具 举报

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

本版积分规则 返回列表

查看:2945 | 回复:9

  • 可视化硬盘文件分布SpaceSniffer

    有时候硬盘很满了,又不知道是哪个程序占用了太多的空间。 SpaceSniffer可以很直观

    阅读:127|2024-09-16
  • 武汉墨家人俱乐部

    这里有VR 各种AI软件 绘图 炼丹 地址:

    阅读:227|2024-09-11
  • 入手一个3D数字人要多少钱?

    上一期给大家讲了什么是数字人,今天给大家讲入手一个3D数字人要多少钱? 数字人包括

    阅读:206|2024-09-11
  • 让人物照片跳舞vigen追影

    本质上是一种视频换脸技术的升级版,视频换身。 项目体验地址: https://www.modelsco

    阅读:240|2024-09-08
  • 视频生成3D模型luma AI Dashboard

    他可以根据一段视频生成3D环境模型,他能根据视频角度去完善模型,对模型进行AI补全,

    阅读:190|2024-09-08
  • 本地部署Llama 3.1大模型

    Meta推出的Llama 3.1系列包括80亿、700亿、4050亿参数版本,上下文长度扩展至12.8万to

    阅读:253|2024-09-08
  • 生成身临其境的环境模型

    清华大学创作的AI软件 aiuni Aiuni.ai是一个基于Unique3D的在线AI图片转3D模型生成建

    阅读:266|2024-09-07
  • 声音克隆工具CosyVoice

    阿里的免费声音克隆工具CosyVoice CosyVoice 是阿里通义实验室在七月初开源的一款专

    阅读:191|2024-09-07
  • 墨者的几个阶段

    一、知毛泽东,不知有墨子。 二、知墨子,但依然儒法道行事。 三、知墨子,尝试墨家

    阅读:371|2024-08-31
  • 图生产3D模型

    https://hyperhuman.deemos.com/ 上传图片,点击生成 可以多生成几次,点击应用

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

手机APP

官方微博

官方微信

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