tzolov / playground-flight-booking

Spring AI powered expert system demo
https://docs.spring.io/spring-ai/reference/1.0-SNAPSHOT/index.html
98 stars 52 forks source link

Best practices for the Function return value #5

Open ivangfr opened 3 weeks ago

ivangfr commented 3 weeks ago

Hi, if you don’t mind, I'd like to ask a question here.

I'm trying to create an AI assistant. For this, I’ve created an API that the model can call. However, I’ve noticed that sometimes the assistant gets lost. I thought that maybe I should return more meaningful strings from my functions, indicating whether the response is successful or if there was an exception or an empty response.

For instance, in this bean you created:

@Bean
@Description("Change booking dates")
public Function<ChangeBookingDatesRequest, String> changeBooking() {
    return request -> {
        flightBookingService.changeBooking(request.bookingNumber(), request.firstName(), request.lastName(),
                request.date(), request.from(), request.to());
        return "";
    };
}

What if an exception occurs in changeBooking, or the request doesn’t contain enough information to change the booking? Would a more descriptive return value be helpful in such cases?