Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI Chat Service

Projektbeskrivning

Detta projekt är en Spring Boot-baserad tjänst för AI-chatt som exponerar ett REST-API för att skicka användarmeddelanden till en integrerad AI-leverantör via OpenRouter. Applikationen kör lokalt på http://localhost:8080 och innehåller även Swagger UI för att testa och dokumentera API:et.

Krav

För att köra projektet behöver du ha följande installerat:

  • Java 21
  • Maven
  • Docker

Sätta OPENROUTER_API_KEY

Applikationen använder en OpenRouter-nyckel för att kommunicera med AI-tjänsten.

PowerShell

$env:OPENROUTER_API_KEY="din-api-nyckel"

Kommandotolk (cmd)

set OPENROUTER_API_KEY=din-api-nyckel

Linux/macOS

export OPENROUTER_API_KEY="din-api-nyckel"

Köra projektet lokalt med Maven

Kör följande kommando från projektets rotmapp:

mvn spring-boot:run

Om du vill använda Maven Wrapper i stället:

./mvnw spring-boot:run

I Windows PowerShell kan du använda:

.\mvnw.cmd spring-boot:run

När applikationen har startat är den tillgänglig på:

http://localhost:8080

Köra projektet med Docker

Bygg först projektets JAR-fil:

mvn clean package

Bygg sedan Docker-imagen:

docker build -t ai-chat-service .

Starta containern och skicka in API-nyckeln som miljövariabel:

docker run --rm -p 8080:8080 -e OPENROUTER_API_KEY="din-api-nyckel" ai-chat-service

Applikationen blir då tillgänglig på:

http://localhost:8080

Swagger URL

Swagger UI finns på:

http://localhost:8080/swagger-ui.html

API-endpoint

Följande endpoint används för att skicka en chattförfrågan:

POST http://localhost:8080/api/v1/chat

Exempel på API request

curl -X POST "http://localhost:8080/api/v1/chat" \
  -H "Content-Type: application/json" \
  -d "{\"personality\":\"helper\",\"message\":\"Hej! Kan du hjälpa mig att sammanfatta den här tjänsten?\",\"sessionId\":\"session-123\"}"

Exempel på JSON request body

{
  "personality": "helper",
  "message": "Hej! Kan du hjälpa mig att sammanfatta den här tjänsten?",
  "sessionId": "session-123"
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages