73 lines
1.9 KiB
Makefile
73 lines
1.9 KiB
Makefile
# Makefile for running the Vet Clinic Chat Assistant locally with Ollama
|
|
|
|
.PHONY: run ollama-start ollama-stop ollama-pull ollama-status
|
|
|
|
# Start Ollama server (if not already running)
|
|
ollama-start:
|
|
ollama serve &
|
|
@echo "Ollama server started."
|
|
|
|
# Stop Ollama server
|
|
ollama-stop:
|
|
pkill -f "ollama serve" || true
|
|
@echo "Ollama server stopped."
|
|
|
|
# Pull a model (default: llama3)
|
|
ollama-pull:
|
|
ollama pull qwen3:latest
|
|
|
|
# Show Ollama status
|
|
ollama-status:
|
|
ollama list
|
|
|
|
# Database configuration (override via: make run DB_PASSWORD=secret DB_NAME=other)
|
|
DB_HOST ?= localhost
|
|
DB_PORT ?= 5432
|
|
DB_USER ?= postgres
|
|
DB_PASSWORD ?= postgres
|
|
DB_NAME ?= ledger-balance-service
|
|
DB_SSLMODE ?= disable
|
|
|
|
# Derived env export snippet for DB
|
|
db_env = PGHOST=$(DB_HOST) PGPORT=$(DB_PORT) PGUSER=$(DB_USER) PGPASSWORD=$(DB_PASSWORD) PGDATABASE=$(DB_NAME) PGSSLMODE=$(DB_SSLMODE)
|
|
|
|
# Run the Go server (assumes Ollama is running) with DB env vars
|
|
run:
|
|
$(db_env) OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/api/chat OPENAI_MODEL=qwen3:latest go run .
|
|
|
|
# Run without pulling model (faster if already present)
|
|
run-fast:
|
|
$(db_env) OPENAI_API_KEY=ollama OPENAI_BASE_URL=http://localhost:11434/api/chat OPENAI_MODEL=qwen3:latest go run .
|
|
|
|
# Quick psql shell (requires psql installed)
|
|
psql:
|
|
$(db_env) psql || true
|
|
|
|
# Print the DSN that main.go will assemble
|
|
print-dsn:
|
|
@echo postgres://$(DB_USER):******@$(DB_HOST):$(DB_PORT)/$(DB_NAME)?sslmode=$(DB_SSLMODE)
|
|
|
|
# Run tests
|
|
.PHONY: test test-verbose test-race test-coverage test-coverage-html
|
|
|
|
# Run standard tests
|
|
test:
|
|
go test ./...
|
|
|
|
# Run tests with verbose output
|
|
test-verbose:
|
|
go test -v ./...
|
|
|
|
# Run tests with race detection
|
|
test-race:
|
|
go test -race ./...
|
|
|
|
# Run tests with coverage reporting
|
|
test-coverage:
|
|
go test -coverprofile=coverage.out ./...
|
|
go tool cover -func=coverage.out
|
|
|
|
# Run tests with HTML coverage report
|
|
test-coverage-html: test-coverage
|
|
go tool cover -html=coverage.out
|