# RagBasic **Repository Path**: xie-kaijun0127/rag-basic ## Basic Information - **Project Name**: RagBasic - **Description**: rag入门案例,从零开始完成,不使用框架完成文档分割与数据库存取 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-10-10 - **Last Updated**: 2024-11-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RagBasic #### 介绍 rag入门案例,从零开始完成,不使用框架完成文档分割与数据库存取 ### 项目部署说明 # 开源数据库部署源地址 https://github.com/tensorchord/pgvecto.rs#installation docker run --name pgv_name -e POSTGRES_PASSWORD=123 -p 5432:5432 -d tensorchord/pgvecto-rs:pg16-v0.2.1 ### 项目目录结构说明 config 数据库配置和模型文件地址 model 项目使用的模型的使用文档 src 项目主要功能实现 test 项目测试 uploads 文档上传目录 tools 项目功能抽象工具类实现 #### tools主要抽象工具类的使用说明 # 用于分割多种文档的工具类 Doc_split.py # pgvector操作类,封装操作,隐私项保存在config.ini文件里,自行修改 Pgvector_op.py # 封装句子转嵌入向量,返回符合格式的元组,为存入数据库做数据准备 Transfomer_sentence.py # RAG智能体,继承LLM和嵌入模型使用 Rag_agent.py ### 数据库使用Pg vector项链数据库 使用docker部署数据库软件,采用sql语句完成相近语义文档查询 ### LLM模型使用ollama运行在本地 LLM采用qwen2.5:7b ##### ollama 下载运行模型 ollama run qwen2.5 ### 文本嵌入模型 文本嵌入模型采用BAAI/beg-large-zh ##### 模型下载 设置模型下载路径,可以用os控制也可以设置环境变量 import os # 设置环境变量 os.environ["HF_HOME"] = "my_value" # 下载模型 # Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="BAAI/bge-large-zh") ### 项目使用展示 ##### 基础rag功能展示 ![本地路径](/images/main.png "基础rag功能展示") #### 向量数据库展示 ![本地路径](/images/pgvector.png "向量数据库展示") #### ollama服务 ![本地路径](/images/ollama.png "ollama服务")