File size: 1,354 Bytes
0e9a6da
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    ports:
      - "11434:11434"
    volumes:
      - ollama:/root/.ollama
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "ollama", "list"]
      timeout: 3s
      retries: 3

  ollama-pull:
    image: ollama/ollama
    container_name: ollama-pull
    environment:
      - OLLAMA_HOST=http://ollama:11434
    volumes:
      - ollama:/root/.ollama
    depends_on:
      ollama:
        condition: service_healthy
    entrypoint: /bin/bash
    command: -c "ollama pull ${MODEL_NAME:-llama3.2:3b}"
    restart: "no"

  paper-mate:
    build: .
    container_name: paper-mate
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - MODEL_NAME=${MODEL_NAME:-llama3.2:3b}
      - MODEL_MAX_TOKENS=${MODEL_MAX_TOKENS:-512}
      - MODEL_TEMPERATURE=${MODEL_TEMPERATURE:-0.7}
      - RETRIEVER_K_BEFORE_RERANK=${RETRIEVER_K_BEFORE_RERANK:-80}
      - RETRIEVER_K_AFTER_RERANK=${RETRIEVER_K_AFTER_RERANK:-4}
      - RETRIEVER_K_CONSTANT=${RETRIEVER_K_CONSTANT:-60}
    depends_on:
      ollama-pull:
        condition: service_completed_successfully
    volumes:
      - ./src:/app/src
      - ./vector_store:/app/vector_store
      - uv_cache:/root/.cache/uv
    command: python -m src.gradio_app
    ports:
      - "8000:8000"

volumes:
  uv_cache:
  ollama: