https://github.com/marcushellberg/java-ai-playground의 Spring AI 재구현
이 앱은 Spring AI를 사용하여 다음과 같은 AI 기반 시스템을 구축하는 방법을 보여줍니다.
OPENAI_API_KEY
환경 변수의 OpenAI API 키 IDE에서 Application.java
실행하거나 명령줄에서 mvn
실행하여 앱을 실행합니다.
Spring AI Open AI 부트 스타터를 POM에 추가합니다.
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-openai-spring-boot-starter</ artifactId >
</ dependency >
application.properties
에 OpenAI 구성을 추가합니다.
spring.ai.openai.api-key=${OPENAI_API_KEY}
spring.ai.openai.chat.options.model=gpt-4o
Spring AI VertexAI Gemini 및 Onnx Transformer Embedding 부트 스타터를 POM에 추가합니다.
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-vertex-ai-gemini-spring-boot-starter</ artifactId >
</ dependency >
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-transformers-spring-boot-starter</ artifactId >
</ dependency >
application.properties
에 VertexAI Gemini 구성을 추가합니다.
spring.ai.vertex.ai.gemini.project-id=${VERTEX_AI_GEMINI_PROJECT_ID}
spring.ai.vertex.ai.gemini.location=${VERTEX_AI_GEMINI_LOCATION}
spring.ai.vertex.ai.gemini.chat.options.model=gemini-1.5-pro-001
# spring.ai.vertex.ai.gemini.chat.options.model=gemini-1.5-flash-001
Spring AI Azure OpenAI 부팅 스타터를 POM에 추가합니다.
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-azure-openai-spring-boot-starter</ artifactId >
</ dependency >
application.properties
에 Azure OpenAI 구성을 추가합니다.
spring.ai.azure.openai.api-key=${AZURE_OPENAI_API_KEY}
spring.ai.azure.openai.endpoint=${AZURE_OPENAI_ENDPOINT}
spring.ai.azure.openai.chat.options.deployment-name=gpt-4o
OpenAI Chat 클라이언트를 재사용하지만 Groq 엔드포인트를 가리킵니다.
Spring AI Open AI 부트 스타터를 POM에 추가합니다.
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-openai-spring-boot-starter</ artifactId >
</ dependency >
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-transformers-spring-boot-starter</ artifactId >
</ dependency >
application.properties
에 Groq 구성을 추가합니다.
spring.ai.openai.api-key=${GROQ_API_KEY}
spring.ai.openai.base-url=https://api.groq.com/openai
spring.ai.openai.chat.options.model=llama3-70b-8192
Spring AI Anthropic Claude 및 Onnx Transformer Embedding 부트 스타터를 POM에 추가합니다.
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-anthropic-spring-boot-starter</ artifactId >
</ dependency >
< dependency >
< groupId >org.springframework.ai</ groupId >
< artifactId >spring-ai-transformers-spring-boot-starter</ artifactId >
</ dependency >
application.properties
에 Anthropic 구성을 추가합니다.
spring.ai.anthropic.api-key=${ANTHROPIC_API_KEY}
spring.ai.openai.chat.options.model=llama3-70b-8192
spring.ai.anthropic.chat.options.model=claude-3-5-sonnet-20240620
./mvnw clean install -Pproduction
java -jar ./target/playground-flight-booking-0.0.1-SNAPSHOT.jar
docker run -it --rm --name postgres -p 5432:5432 -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=postgres ankane/pgvector