An AI-powered, natural language search input built with Phoenix LiveView, OpenAI, and Ecto. This proof-of-concept demonstrates how to dynamically generate filters from user queries and apply them in real-time without requiring users to manually configure search filters.
Watch the demo video: Demo Link.
Before starting the app, set up the OpenAI API key in config/dev.exs
:
# OpenAI
config :openai,
api_key: YOUR_OPENAI_API_KEY
To enable AI-powered search filtering, set up an OpenAI account and obtain an API key:
- Sign up at OpenAI
- Retrieve your API Key from the OpenAI dashboard
- Replace
YOUR_OPENAI_API_KEY
inconfig/dev.exs
with your actual key
Follow these steps to set up and run the application:
git clone <repository-url>
cd phoenix_liveview_ai_filters_poc
Modify config/dev.exs
with your OpenAI API credentials.
mix deps.get
mix ecto.create
mix ecto.migrate
iex -S mix phx.server
Open your browser and visit: http://localhost:4000/projects
To run the test suite, execute the following command:
mix test
👉 Natural Language Search – Users type queries naturally, and AI converts them into structured filters.
👉 Real-Time Updates – Phoenix LiveView ensures search results update instantly without reloading the page.
👉 AI-Powered Filtering – OpenAI GPT-4 translates user queries into Ecto-compatible filters.
👉 Multi-Language Support – AI understands and processes queries in multiple languages.
👉 Scalable & Flexible – The search system can be expanded to support additional data sources.
This project is licensed under the MIT License. See the LICENSE file for more details.