long story short
The customer is a global travel company that offers cruises worldwide. Our idea was to create an intelligent AI-powered search chatbot to help users find the right cruise with a few simple clicks.
Our Rebbix team did extensive R&D work to implement an idea. The main task was to use different prompt techniques of a Large Language Model (LLM) to identify keywords in user messages and suggest the most relevant travel options. We created and embedded the list of presumed user intentions and programmed a format for the answer. We also implemented data sorting to narrow the search.
As a result, we got a chatbot that determines users' intents in real-time conversation. The chatbot asks specific questions related to destination, trip duration, budgets, and more. Users can communicate with the chatbot in natural language.
The chatbot also understands natural language time queries (like fall, winter, tomorrow, next week, first week of September, and so on). It automatically detects the current date and converts user text into a standard date object that can be used in search queries.
tools & technologies
Python, JavaScript, LLM, Elasticsearch
key outcomes
improved User Experience
the chatbot engages in a conversation and asks questions like an actual human
personalization
chatbot provides personalized offers based on the specific user`s needs
timesaving
search with the AI chatbot is faster and more automatized, allowing users to receive the needed information in a second
the successful POC
AI solutions that understand user text queries show significant potential. with sufficient parameters to guide the mapping, AI features can seamlessly be integrated within many existing solutions, even large legacy systems
client testimonial
team setup
3
Software Engineers
1
QA
meet the team
what we did
- AI prompt engineering to minimize AI hallucinations
- transform user input to parameters that can be used in existing search API, like "I want to see penguins in May" is transformed to region: Antarctica, time: 01-31 May 2025, person: 1
- use the model to convert natural language time queries into the required dates
- automatically detect what data is still needed to narrow the search and ask a user to provide it as a plain text input or as a batch of dynamic filters