• 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
    
    • 1

    在这里插入图片描述

    设定环境

    conda activate gpt
    
    
    • 1
    • 2

    在这里插入图片描述

    搭建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
    
    • 1
    • 2

    下载privateGpt 源码

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

    进入privateGpt 目录

    安装poetry

    使用pip安装poetry

    pip install poetry
    ## docx解析支持
    pip install docx2txt 
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    poetry安装 ui&local

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

    在这里插入图片描述
    在这里插入图片描述

    启动服务

    set PGPT_PROFILES=local
    python -m private_gpt
    
    • 1
    • 2

    在这里插入图片描述

    访问: localhost:8001
    在这里插入图片描述
    支持的文件格式
    privateGPT默认支持包含明文的所有文件格式(例如,.txt文件,.html等)。然而,这些基于文本的文件格式仅被视为文本文件,不会以任何其他方式进行预处理。
    注意文件的编码必须为utf-8

    它还支持以下文件格式:

    .hwp
    .pdf
    .docx
    .pptx
    .ppt
    .pptm
    .jpg
    .png
    .jpeg
    .mp3
    .mp4
    .csv
    .epub
    .md
    .mbox
    .ipynb
    .json
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    常用的配置:
    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:  # Defaults to https://api.openai.com/v1
      api_key:   # You could skip this configuration and use the OPENAI_API_KEY env var instead
      model:  # Optional model to use. Default is "gpt-3.5-turbo"
      # Note: Open AI Models are listed here: https://platform.openai.com/docs/models
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    And run PrivateGPT loading that profile you just created:

    PGPT_PROFILES=openai make run
    
    • 1

    cmd use:

    make run PGPT_PROFILES=openai
    
    • 1
  • 相关阅读:
    Ubuntu设置允许root用户登录
    解决 “ImportError: attempted relative import with no known parent package“ 问题
    母婴行业线上推广渠道有哪些,商家应该如何选择呢?
    题目 1071:阶乘公式求值
    如何减少const的传染性?
    编码后的字符串lua
    7.24 - 每日一题 - 408
    【题解】同济线代习题一.6.4
    flutter下拉列表
    图像处理算法大全(基于libyuv或IPP)----RGB32(ARGB)转成yuv420,RGB24,nv12,yuv422集合
  • 原文地址:https://blog.csdn.net/linpxing1/article/details/136443075