Kihagyás

Spring AI - Basic (LangChain4j)

pom.xml

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>dev.langchain4j</groupId>
            <artifactId>langchain4j-bom</artifactId>
            <version>1.18.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webmvc</artifactId>
</dependency>
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-spring-boot4-starter</artifactId>
</dependency>
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j</artifactId>
</dependency>
<dependency>
    <groupId>dev.langchain4j</groupId>
    <artifactId>langchain4j-open-ai</artifactId>
</dependency>

Assistant

@AiService
public interface Assistant {
    @SystemMessage("You’re a helpful assistant")
    String chat(String userMessage);
}

Config

@Bean
ChatModel chatModel() {
    return OpenAiChatModel.builder()
        .baseUrl("https://example.com/")
        .apiKey("shhh")
        .modelName("Qwen3.6-35B-A3B-UD-Q4_K_XL.gguf")
        .build();
}

ChatController

@RestController
public class ChatController {

    private final Assistant assistant;

    public ChatController(Assistant assistant) {
        this.assistant = assistant;
    }

    @GetMapping("/chat")
    String chat(@RequestParam String message) {
        return assistant.chat(message);
    }
}

Curl

curl --get --data-urlencode "message=Hello" localhost:8080/chat