org.springframework.ai
spring-ai-azure-openai-spring-boot-arranque

En esencia, cuando Spring escanea el proyecto buscando un ChatClient, usará la propiedad para crear uno usando convenciones de nomenclatura en el proyecto inicial de openai. En el ejemplo simple de helloworld que estamos viendo, el controlador llama a ChatClient: paquete com.xkcd.ai.helloworld; importar org.springframework.ai.chat.ChatClient; importar org.springframework.beans.factory.annotation.Autowired; importar org.springframework.web.bind.annotation.GetMapping; importar org.springframework.web.bind.annotation.RequestParam; importar org.springframework.web.bind.annotation.RestController; importar java.util.Map; @RestController clase pública SimpleAiController { ChatClient final privado chatClient; @Autowired public SimpleAiController(ChatClient chatClient) { this.chatClient = chatClient; } @GetMapping(«/ai/simple») cadena de mapa pública, generación( @RequestParam(valor = «mensaje», defaultValue = «Cuéntame un chiste») Mensaje de cadena) { return Map.of(«generación», chatClient.call(mensaje)); } } Este es un controlador REST de Spring típico, donde el miembro chatClient tiene el método anotado como @Autowired. Ese ChatClient se utiliza luego para manejar las solicitudes en /ai/simple. (Los valores predeterminados de los parámetros de solicitud se proporcionan en el método, por lo que una solicitud sin parámetros se establecerá como «Cuéntame un chiste»). El método de punto final devuelve un mapa con una clave de «generación» cuyo valor es el valor de retorno de chatClient.call. (mensaje). Para que todo esto funcione, necesita una clave API para Azure. La clave se establece como una variable de entorno: