Use this file to discover all available pages before exploring further.
This guide will help you set up and run InterviewGuide locally for development. You’ll have a fully functional AI interview platform with resume analysis, mock interviews, and RAG-based knowledge base.
Connect to your PostgreSQL instance and create the database:
CREATE DATABASE interview_guide;
2
Enable pgvector extension
Connect to the newly created database and enable the vector extension:
\c interview_guideCREATE EXTENSION IF NOT EXISTS vector;
The pgvector extension is required for vector similarity search in the knowledge base feature. If you skip this step, Spring AI will automatically create it on first startup when initialize-schema: true.
# Start Redis (if using Homebrew on macOS)brew services start redis# Or start Redis directlyredis-server# Verify Redis is runningredis-cli ping# Should return: PONG
The platform uses Alibaba Cloud DashScope for AI capabilities. Set your API key as an environment variable:
export AI_BAILIAN_API_KEY=your_api_key_here
Get Your API Key
Apply for a DashScope API key from Alibaba Cloud Bailian platform
2
Update application.yml
Edit app/src/main/resources/application.yml to match your local environment:
app/src/main/resources/application.yml
spring: # PostgreSQL database configuration datasource: url: jdbc:postgresql://${POSTGRES_HOST:localhost}:${POSTGRES_PORT:5432}/${POSTGRES_DB:interview_guide} username: ${POSTGRES_USER:postgres} password: ${POSTGRES_PASSWORD:123456} driver-class-name: org.postgresql.Driver jpa: hibernate: ddl-auto: create # Use 'create' for first run, then change to 'update' show-sql: false # Redis configuration using Redisson redis: redisson: config: | singleServerConfig: address: "redis://${REDIS_HOST:localhost}:${REDIS_PORT:6379}" database: 0 connectionMinimumIdleSize: 10 connectionPoolSize: 64 # Spring AI - Alibaba Cloud DashScope (OpenAI-compatible mode) ai: openai: base-url: https://dashscope.aliyuncs.com/compatible-mode api-key: ${AI_BAILIAN_API_KEY} chat: options: model: ${AI_MODEL:qwen-plus} temperature: 0.2 embedding: options: model: text-embedding-v3 # PostgreSQL Vector Store configuration vectorstore: pgvector: index-type: HNSW distance-type: COSINE_DISTANCE dimensions: 1024 # text-embedding-v3 dimension initialize-schema: true # Set to 'true' for dev, 'false' for production remove-existing-vector-store-table: false# Application custom configurationapp: # S3-compatible storage configuration storage: endpoint: ${APP_STORAGE_ENDPOINT:http://localhost:9000} access-key: ${APP_STORAGE_ACCESS_KEY:minioadmin} secret-key: ${APP_STORAGE_SECRET_KEY:minioadmin} bucket: ${APP_STORAGE_BUCKET:interview-guide} region: ${APP_STORAGE_REGION:us-east-1} # Interview configuration interview: follow-up-count: ${APP_INTERVIEW_FOLLOW_UP_COUNT:1} # Number of follow-up questions per main question evaluation: batch-size: ${APP_INTERVIEW_EVALUATION_BATCH_SIZE:8} # Batch size for answer evaluation
Important: For first-time setup, use ddl-auto: create to create database tables. After successful table creation, change it to ddl-auto: update to prevent data loss on subsequent restarts.