win11部署自己的privateGpt(2024-0304)

什么是privateGpt?

privategpt开源项目地址

https://github.com/imartinez/privateGPT/tree/main

官方文档

https://docs.privategpt.dev/overview/welcome/welcome

PrivateGPT是一个可投入生产的人工智能项目,利用大型语言模型(LLMs)的强大能力,即使在没有互联网连接的情况下,也能够提出关于您文档的问题。项目100%私密,任何时候都不会有数据离开您的执行环境。

该项目提供了一个API,提供构建私密、上下文感知的人工智能应用程序所需的所有基本功能。它遵循并扩展了OpenAI API标准,并支持正常和流式响应。

API分为两个逻辑块:

高级API,抽象了RAG(检索增强生成)管道实现的所有复杂性:

文档摄取:内部管理文档解析、拆分、元数据提取、嵌入生成和存储。

使用来自摄取文档的上下文进行聊天和完成:抽象了上下文的检索、提示工程和响应生成。

低级API,允许高级用户实现自己的复杂管道:

基于文本的嵌入生成。

给定查询,检索从摄取的文档中返回最相关的文本块。

除此之外,提供了一个可用于测试API的工作Gradio UI客户端,以及一组有用的工具,如批量模型下载脚本、摄取脚本、文档文件夹监视等。

开源平台 语言模型网站

https://huggingface.co/welcome

Hugging Face是一个提供自然语言处理(NLP)模型和工具的开源平台。该平台致力于构建和分享先进的NLP模型,并提供易于使用的API和工具,使研究人员和开发者能够快速使用和部署这些模型。

Hugging Face的主要特点包括:

模型存储库: Hugging Face提供了一个庞大的模型存储库,其中包含各种NLP任务的预训练模型,如文本生成、文本分类、命名实体识别等。这些模型基于最新的研究成果,并由全球社区进行不断更新和改进。

Transformers库: Hugging Face发布了一个名为Transformers的开源库,该库提供了访问各种NLP模型的简单API。该库支持多种流行的深度学习框架,如TensorFlow和PyTorch,使用户能够轻松地在其项目中使用这些模型。

任务特定工具: Hugging Face的平台包括一些任务特定的工具,例如文本生成、文本分类和对话生成的API。这些工具简化了NLP模型的使用,并允许用户针对特定任务进行微调和部署。

总体而言,Hugging Face通过提供易于访问、使用和共享的NLP模型,推动了自然语言处理领域的进步,并促进了开发者和研究人员之间的合作。

开始搭建

虚拟独立python环境

使用anaconda安装

https://www.anaconda.com/download/

进入Anaconda cmd命令行

设定独立虚拟环境python版本

安装python 3.11.0版本
conda create -n gpt python==3.11.0

设定环境

conda activate gpt

搭建C++编译环境(必须)

下载 VisualStudioSetup.exe 安装包

https://c2rsetup.officeapps.live.com/c2r/downloadVS.aspx?sku=community\&channel=Release\&version=VS2022\&source=VSLandingPage\&cid=2030:a866cb1891624541a3f9b092d2429dfd

选择C++

nvidia显卡驱动(gpu) 可选,默认是用cpu

安装显卡驱动

https://developer.nvidia.com/cuda-downloads

点击历史版本

安装11.8.0版本

使用nvidia 配置 (使用 Anaconda powershell)

$env:CMAKE_ARGS='-DLLAMA_CUBLAS=on'
poetry run pip install --force-reinstall --no-cache-dir llama-cpp-python

下载privateGpt 源码

git clone  https://github.com/imartinez/privateGPT.git

进入privateGpt 目录

安装poetry

使用pip安装poetry

pip install poetry
## docx解析支持
pip install docx2txt 

poetry安装 ui&local

poetry install --with ui,local
## 使用默认的配置,下载大语言模型
poetry run python scripts/setup


启动服务

set PGPT_PROFILES=local
python -m private_gpt

访问: localhost:8001

支持的文件格式

privateGPT默认支持包含明文的所有文件格式(例如,.txt文件,.html等)。然而,这些基于文本的文件格式仅被视为文本文件,不会以任何其他方式进行预处理。

注意文件的编码必须为utf-8

它还支持以下文件格式:

.hwp
.pdf
.docx
.pptx
.ppt
.pptm
.jpg
.png
.jpeg
.mp3
.mp4
.csv
.epub
.md
.mbox
.ipynb
.json

常用的配置:

https://docs.privategpt.dev/manual/advanced-setup/llm-backends

Using OpenAI

If you cannot run a local model (because you don't have a GPU, for example) or for testing purposes, you may decide to run PrivateGPT using OpenAI as the LLM and Embeddings model.

In order to do so, create a profile settings-openai.yaml with the following contents:

llm:
  mode: openai
openai:
  api_base: <openai-api-base-url> # Defaults to https://api.openai.com/v1
  api_key: <your_openai_api_key>  # You could skip this configuration and use the OPENAI_API_KEY env var instead
  model: <openai_model_to_use> # Optional model to use. Default is "gpt-3.5-turbo"
  # Note: Open AI Models are listed here: https://platform.openai.com/docs/models

And run PrivateGPT loading that profile you just created:

PGPT_PROFILES=openai make run

cmd use:

make run PGPT_PROFILES=openai
相关推荐
敲代码不忘补水5 分钟前
生成式GPT商品推荐:精准满足用户需求
开发语言·python·gpt·产品运营·产品经理
技术仔QAQ1 小时前
【tokenization分词】WordPiece, Byte-Pair Encoding(BPE), Byte-level BPE(BBPE)的原理和代码
人工智能·python·gpt·语言模型·自然语言处理·开源·nlp
OneFlow深度学习框架3 小时前
LLM长上下文RAG能力实测:GPT o1 vs Gemini
gpt·语言模型·大模型·openai·gemini·o1
智匠MindCraft Al1 天前
GPT o1 模型使用及API调用
人工智能·gpt·ai·语言模型·chatgpt
一者仁心1 天前
【AI技术】GPT-SoVits训练日志
人工智能·gpt
JarodYv1 天前
GPT-5 要来了:抢先了解其创新突破
gpt·openai·生成式ai·gpt-4·gpt-5
灰哥数据智能1 天前
DB-GPT系列(五):DB-GPT六大基础应用场景part2
数据库·人工智能·python·sql·gpt·abi
小毕超1 天前
基于 PyTorch 从零手搓一个GPT Transformer 对话大模型
pytorch·gpt·transformer
hunteritself2 天前
Sam Altman:年底将有重磅更新,但不是GPT-5!
人工智能·gpt·深度学习·chatgpt·openai·语音识别
知来者逆3 天前
基于ChatGPT 的人工智能代理挖掘化学文献的演变探索
人工智能·gpt·语言模型·自然语言处理·chatgpt·gpt-4v