一、环境搭建与准备阶段(第 3–4 周)

一、环境搭建与准备阶段(第 3--4 周)

  1. 开发环境配置

    • 安装 Python 3.10+、Go 1.21+、Node.js + React ok

    • 部署向量数据库:Milvus / PGVector 二选一

方法 A:Milvus(最简单,Docker 一键启动)

一、前置条件

已安装并启动 Docker Desktop ,新建专属文件夹(如 milvus

二、核心部署步骤

  1. 清理旧容器 / 文件删除无效容器与错误配置文件

  2. 创建配置文件 新建 docker-compose.yml,粘贴官方标准配置

    version: '3.5'
    services:
    etcd:
    container_name: milvus-etcd
    image: quay.io/coreos/etcd:v3.5.5
    environment:
    - ETCD_AUTO_COMPACTION_MODE=revision
    - ETCD_AUTO_COMPACTION_RETENTION=1000
    - ETCD_QUOTA_BACKEND_BYTES=4294967296
    - ETCD_SNAPSHOT_COUNT=50000
    volumes:
    - ./_volumes/etcd:/etcd
    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
    restart: unless-stopped
    minio:
    container_name: milvus-minio
    image: minio/minio:RELEASE.2023-03-20T20-16-18Z
    environment:
    MINIO_ACCESS_KEY: minioadmin
    MINIO_SECRET_KEY: minioadmin
    volumes:
    - ./_volumes/minio:/minio_data
    command: minio server /minio_data
    restart: unless-stopped
    standalone:
    container_name: milvus-standalone
    image: milvusdb/milvus:v2.3.8
    command: ["milvus", "run", "standalone"]
    environment:
    ETCD_ENDPOINTS: etcd:2379
    MINIO_ADDRESS: minio:9000
    volumes:
    - ./_volumes/milvus:/var/lib/milvus
    ports:
    - "19530:19530"
    - "9091:9091"
    depends_on:
    - etcd
    - minio
    restart: unless-stopped

  3. 一键启动 执行 docker compose up -d 启动 Milvus 及其依赖(etcd、minio)

方法 B:PGVector(PostgreSQL + 向量插件)

  1. 安装 PostgreSQL
  2. 安装 pgvector 插件
  3. 连接端口:5432
创建配置文件

新建 docker-compose.yml,粘贴以下内容:

yaml

复制代码
version: '3.8'
services:
  pgvector:
    container_name: pgvector-db
    image: pgvector/pgvector:pg16  # 官方镜像,含 pgvector 扩展
    ports:
      - "5432:5432"  # 端口映射
    environment:
      POSTGRES_USER: postgres       # 用户名
      POSTGRES_PASSWORD: postgres   # 密码
      POSTGRES_DB: fund_vector_db   # 初始化数据库(基金文档专用)
    volumes:
      - pgdata:/var/lib/postgresql/data  # 数据持久化
    restart: unless-stopped  # 自动重启

volumes:
  pgdata:  # 命名卷,防止数据丢失
步骤 2:启动服务

powershell

复制代码
docker compose up -d

三、验证部署成功

1. 进入容器执行 SQL

powershell

复制代码
# 进入 PostgreSQL 容器
docker exec -it pgvector-db psql -U postgres -d fund_vector_db

# 在 PostgreSQL 命令行中执行:
CREATE EXTENSION vector;  # 启用向量扩展
SELECT extname, extversion FROM pg_extension WHERE extname = 'vector';  # 验证安装

✅ 成功标志:返回 vector | 0.8.5(版本号可能不同)

2. 创建向量表(基金文档示例)

复制代码
-- 创建基金文档向量存储表
CREATE TABLE fund_documents (
    id BIGSERIAL PRIMARY KEY,
    doc_id TEXT UNIQUE,  -- 基金文档ID
    content TEXT,        -- 文档内容
    embedding vector(1536)  -- 1536维向量(适配OpenAI等模型)
);

-- 创建向量索引(提升检索速度)
CREATE INDEX ON fund_documents USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);

四、Python 连接代码(毕设直接用)

python

运行

复制代码
import psycopg2
from psycopg2.extras import RealDictCursor
from pgvector.psycopg2 import register_vector  # 需安装:pip install pgvector

# 连接配置
conn = psycopg2.connect(
    host="localhost",
    port=5432,
    user="postgres",
    password="postgres",
    dbname="fund_vector_db"
)
register_vector(conn)  # 注册向量类型

# 示例:插入向量
with conn.cursor(cursor_factory=RealDictCursor) as cur:
    cur.execute("""
        INSERT INTO fund_documents (doc_id, content, embedding)
        VALUES (%s, %s, %s)
    """, ("fund_001", "嘉实资源精选A基金报告...", [0.1, 0.2, ..., 0.9]))  # 1536维向量
    conn.commit()

# 示例:向量检索(余弦相似度)
with conn.cursor(cursor_factory=RealDictCursor) as cur:
    cur.execute("""
        SELECT doc_id, content, embedding <=> %s AS similarity
        FROM fund_documents
        ORDER BY similarity
        LIMIT 5
    """, ([0.1, 0.2, ..., 0.9],))  # 查询向量
    results = cur.fetchall()
    print("最相似的5篇基金文档:", results)


六、常见操作命令

复制代码
# 停止服务
docker compose stop

# 重启服务
docker compose restart

# 查看日志
docker compose logs -f

# 删除容器(保留数据)
docker compose down

# 删除容器和数据卷
docker compose down -v

MySQL + Redis 一键部署教程(Docker 版)

前提

Docker Desktop 已正常打开

一、安装 MySQL(直接复制这一整行运行)

powershell

复制代码
docker run -d --name mysql-fund -p 33060:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=fund_rag -v mysql_data:/var/lib/mysql mysql:8.0

二、安装 Redis(直接复制这一整行运行)

powershell

复制代码
docker run -d --name redis-fund -p 63790:6379 -v redis_data:/data redis:alpine

三、验证是否安装成功

运行命令:

powershell

复制代码
docker ps

✅ 成功标志:能看到 mysql-fundredis-fund 都在运行

Go 依赖安装(后端框架、数据库、通信)

步骤 1:进入你的 Go 项目文件夹(没有就新建)

powershell

复制代码
# 新建后端文件夹
mkdir go-backend
cd go-backend

步骤 2:初始化 Go 项目(必须执行)

powershell

复制代码
go mod init fund-rag-system

步骤 3:一键安装所有 Go 依赖

powershell

复制代码
go get github.com/gin-gonic/gin google.golang.org/grpc github.com/go-sql-driver/mysql github.com/redis/go-redis/v9
  • Gin:Go 后端 Web 框架
  • gRPC:服务间通信
  • MySQL驱动:连接 MySQL 数据库
  • Redis客户端:连接 Redis 缓存
相关推荐
明月(Alioo)1 小时前
Agent 自主学习记忆:让 AI 从经验中成长的闭环系统
人工智能·ai
hrhcode2 小时前
【LangChain】一.LangChain v1.0-快速上手(核心组件、工具、中间件)
python·ai·langchain·agent
慕诗客2 小时前
Android 离线肤质分析
ai·安卓
半天法师2 小时前
Bug 记录:UE 结构体转 JSON 时 Key 字段大小写异常 (Editor 与打包后表现不一致)
ai·ue5·json·bug
Elastic 中国社区官方博客2 小时前
通过受管控的控制平面加速商品陈列优化
大数据·数据库·人工智能·elasticsearch·搜索引擎·平面·ai
CoderJia程序员甲2 小时前
GitHub 热榜项目 - 日榜(2026-04-28)
人工智能·ai·大模型·github·ai教程
Huang2601083 小时前
短网址 API 集成指南
ai
xiaoxue..3 小时前
浅聊ReAct:Agent 的执行框架
ai·面试·agent
大刘讲IT13 小时前
AI重塑企业信息价值标准:从“系统供给”到“用户定义”的企业数字化新范式
人工智能·经验分享·ai·制造