ai-assistant-java/README.md

1.5 KiB
Raw Blame History

AI Assistant Java (Spring AI + pgvector)

基于 RAG检索增强生成的仓配中心 AI 助手服务,提供 OpenAI 兼容 API。

技术栈

  • Java 17 + Spring Boot 3.2
  • Spring AI + Ollama
  • PostgreSQL + pgvector
  • MyBatis-Plus

快速启动

1. 启动 pgvector

docker run --name pgvector -e POSTGRES_PASSWORD=postgres -e POSTGRES_DB=assistant \
  -p 5432:5432 -d pgvector/pgvector:pg16

2. 启动 Ollama 模型

ollama pull qwen2.5:7b   # 对话模型
ollama pull bge-m3       # Embedding 模型

3. 启动服务

./mvnw spring-boot:run

API 接口

知识录入

POST http://localhost:8010/ingest

{
  "domain_id": "general",
  "content": "SKU A001 是一款高端电子产品库存预警阈值为100件"
}

智能问答 (OpenAI 兼容)

POST http://localhost:8010/v1/chat/completions

{
  "model": "qwen2.5:7b",
  "stream": true,
  "messages": [
    {"role": "user", "content": "SKU A001 的库存预警阈值是多少?"}
  ]
}

配置说明

src/main/resources/application.yml:

assistant:
  routing:
    use-llm: true           # 是否使用 LLM 进行域路由
    fallback-domain: general # 默认域
  vector:
    table: assistant_vectors # 向量表名
    dimension: 1024          # Embedding 维度
  domains:
    - id: general
      name: 通用知识
      keywords: []

架构

用户问题 → 域路由 → 相似度搜索(RAG) → LLM 生成回答
              ↓
         向量知识库 (pgvector)