mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 23:06:23 +00:00
- ai-python: FastAPI 기반 AI 서비스 구현 - 실시간 회의 제안 기능 추가 - Claude API 통합 - EventHub 및 Redis 연동 - ai-java-back: 기존 Java AI 서비스 백업 디렉토리로 이동 - Spring Boot 기반 구현 보존 - ai 디렉토리: Java 서비스 파일 삭제 처리 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
149 lines
4.3 KiB
YAML
149 lines
4.3 KiB
YAML
spring:
|
|
application:
|
|
name: ai
|
|
|
|
# Database Configuration
|
|
datasource:
|
|
url: jdbc:${DB_KIND:postgresql}://${DB_HOST:20.249.153.213}:${DB_PORT:5432}/${DB_NAME:aidb}
|
|
username: ${DB_USERNAME:hgzerouser}
|
|
password: ${DB_PASSWORD:Hi5Jessica!}
|
|
driver-class-name: org.postgresql.Driver
|
|
hikari:
|
|
maximum-pool-size: 20
|
|
minimum-idle: 5
|
|
connection-timeout: 30000
|
|
idle-timeout: 600000
|
|
max-lifetime: 1800000
|
|
leak-detection-threshold: 60000
|
|
|
|
# JPA Configuration
|
|
jpa:
|
|
show-sql: ${SHOW_SQL:true}
|
|
properties:
|
|
hibernate:
|
|
format_sql: true
|
|
use_sql_comments: true
|
|
hibernate:
|
|
ddl-auto: ${DDL_AUTO:update}
|
|
|
|
# Redis Configuration
|
|
data:
|
|
redis:
|
|
host: ${REDIS_HOST:20.249.177.114}
|
|
port: ${REDIS_PORT:6379}
|
|
password: ${REDIS_PASSWORD:Hi5Jessica!}
|
|
timeout: 2000ms
|
|
lettuce:
|
|
pool:
|
|
max-active: 8
|
|
max-idle: 8
|
|
min-idle: 0
|
|
max-wait: -1ms
|
|
database: ${REDIS_DATABASE:4}
|
|
|
|
# Server Configuration
|
|
server:
|
|
port: ${SERVER_PORT:8083}
|
|
servlet:
|
|
context-path: ${CONTEXT_PATH:}
|
|
|
|
# JWT Configuration
|
|
jwt:
|
|
secret: ${JWT_SECRET:dev-jwt-secret-key-for-development-only}
|
|
access-token-validity: ${JWT_ACCESS_TOKEN_VALIDITY:1800}
|
|
refresh-token-validity: ${JWT_REFRESH_TOKEN_VALIDITY:86400}
|
|
|
|
# CORS Configuration
|
|
cors:
|
|
allowed-origins: ${CORS_ALLOWED_ORIGINS:http://localhost:*}
|
|
|
|
# Azure OpenAI Configuration
|
|
azure:
|
|
openai:
|
|
api-key: ${AZURE_OPENAI_API_KEY:}
|
|
endpoint: ${AZURE_OPENAI_ENDPOINT:}
|
|
deployment-name: ${AZURE_OPENAI_DEPLOYMENT:gpt-4o}
|
|
embedding-deployment: ${AZURE_OPENAI_EMBEDDING_DEPLOYMENT:text-embedding-3-large}
|
|
max-tokens: ${AZURE_OPENAI_MAX_TOKENS:2000}
|
|
temperature: ${AZURE_OPENAI_TEMPERATURE:0.3}
|
|
|
|
# External AI API Configuration
|
|
external:
|
|
ai:
|
|
claude:
|
|
api-key: ${CLAUDE_API_KEY:}
|
|
base-url: ${CLAUDE_BASE_URL:https://api.anthropic.com}
|
|
openai:
|
|
api-key: ${OPENAI_API_KEY:}
|
|
base-url: ${OPENAI_BASE_URL:https://api.openai.com}
|
|
openweather:
|
|
api-key: ${OPENWEATHER_API_KEY:}
|
|
base-url: ${OPENWEATHER_BASE_URL:https://api.openweathermap.org}
|
|
kakao:
|
|
api-key: ${KAKAO_API_KEY:}
|
|
base-url: ${KAKAO_BASE_URL:https://dapi.kakao.com}
|
|
|
|
# Azure AI Search Configuration
|
|
ai-search:
|
|
endpoint: ${AZURE_AI_SEARCH_ENDPOINT:}
|
|
api-key: ${AZURE_AI_SEARCH_API_KEY:}
|
|
index-name: ${AZURE_AI_SEARCH_INDEX:meeting-transcripts}
|
|
|
|
# Azure Event Hubs Configuration
|
|
eventhub:
|
|
connection-string: ${AZURE_EVENTHUB_CONNECTION_STRING:Endpoint=sb://hgzero-eventhub-ns.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=VUqZ9vFgu35E3c6RiUzoOGVUP8IZpFvlV+AEhC6sUpo=}
|
|
namespace: ${AZURE_EVENTHUB_NAMESPACE:hgzero-eventhub-ns}
|
|
eventhub-name: ${AZURE_EVENTHUB_NAME:hgzero-eventhub-name}
|
|
checkpoint-storage-connection-string: ${AZURE_CHECKPOINT_STORAGE_CONNECTION_STRING:}
|
|
checkpoint-container: ${AZURE_CHECKPOINT_CONTAINER:hgzero-checkpoints}
|
|
consumer-group:
|
|
transcript: ${AZURE_EVENTHUB_CONSUMER_GROUP_TRANSCRIPT:ai-transcript-group}
|
|
meeting: ${AZURE_EVENTHUB_CONSUMER_GROUP_MEETING:ai-meeting-group}
|
|
|
|
# Actuator Configuration
|
|
management:
|
|
endpoints:
|
|
web:
|
|
exposure:
|
|
include: health,info,metrics,prometheus
|
|
base-path: /actuator
|
|
endpoint:
|
|
health:
|
|
show-details: always
|
|
show-components: always
|
|
health:
|
|
livenessState:
|
|
enabled: true
|
|
readinessState:
|
|
enabled: true
|
|
|
|
# OpenAPI Documentation
|
|
springdoc:
|
|
api-docs:
|
|
path: /v3/api-docs
|
|
swagger-ui:
|
|
path: /swagger-ui.html
|
|
tags-sorter: alpha
|
|
operations-sorter: alpha
|
|
show-actuator: false
|
|
|
|
# Logging Configuration
|
|
logging:
|
|
level:
|
|
root: ${LOG_LEVEL_ROOT:INFO}
|
|
com.unicorn.hgzero.ai: ${LOG_LEVEL_APP:DEBUG}
|
|
org.springframework.web: ${LOG_LEVEL_WEB:INFO}
|
|
org.springframework.security: ${LOG_LEVEL_SECURITY:DEBUG}
|
|
org.hibernate.SQL: ${LOG_LEVEL_SQL:DEBUG}
|
|
org.hibernate.type: ${LOG_LEVEL_SQL_TYPE:TRACE}
|
|
pattern:
|
|
console: "%d{yyyy-MM-dd HH:mm:ss} - %msg%n"
|
|
file: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
|
file:
|
|
name: ${LOG_FILE:logs/ai-service.log}
|
|
logback:
|
|
rollingpolicy:
|
|
max-file-size: ${LOG_MAX_FILE_SIZE:10MB}
|
|
max-history: ${LOG_MAX_HISTORY:7}
|
|
total-size-cap: ${LOG_TOTAL_SIZE_CAP:100MB}
|