一、环境搭建与准备阶段(第 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 缓存
相关推荐
Elastic 中国社区官方博客4 小时前
快 12 倍的 Elasticsearch 向量索引:使用 GPU 和 CPU 分层部署 NVIDIA cuVS
大数据·人工智能·elasticsearch·搜索引擎·ai·全文检索·nvidia
绝知此事4 小时前
2026 AI 技术生态全景指南:从 LLM 到 Agent,从 MCP 到 A2A
人工智能·ai·ai编程
Canicer4 小时前
【国内安装 Claude Code CLI版本纯净完整指南】
ai·agent·claude code
@蔓蔓喜欢你5 小时前
前端性能监控体系建设:从指标到优化
人工智能·ai
ZFSS5 小时前
Midjourney Shorten API 的集成与使用
java·前端·数据库·人工智能·ai·midjourney·ai编程
SEO_juper5 小时前
CDN 地域节点优化:匹配 GEO 信号,提升加载速度
服务器·ai·php·seo·cdn·geo·谷歌优化
俊哥V5 小时前
每日 AI 研究简报 · 2026-05-20
人工智能·ai
哥布林学者5 小时前
初试 vibe coding:Tauri + React + Rust 构建的 windows 本地番茄钟
ai
陌陌卡上5 小时前
从 Vibecoding 入门,到 Agent 差点入土
ai·创意·vibecoding·想象
创世宇图6 小时前
【AI入门知识点】Function Calling 是什么?为什么 AI 开始会“调用工具”了?
人工智能·ai·llm·functioncalling