Vectaurant is an AI-powered restaurant assistant designed to help customers interact with menus and restaurant services more naturally and efficiently. It leverages OpenAI for natural language understanding, Semantic Kernel for orchestrating plugins and agent behavior, Qdrant for vector-based search, and follows the RAG (Retrieval-Augmented Generation) pattern to enhance responses with relevant, retrieved information.
Semantic Kernel is Microsoft’s open-source SDK that lets you easily integrate large language models (LLMs) like OpenAI, Azure OpenAI, or Hugging Face into your .NET apps. It helps you build agents that can reason and interact in natural language.
-
🔍 Natural Language Interaction
Ask questions like “What’s spicy on the menu?” — and get smart, helpful answers. -
🧠 AI-Powered Agent with Plugins
Uses OpenAI models and Semantic Kernel to understand intent and execute tasks through custom plugins. -
📦 Vector Search with Qdrant
Menu items and restaurant knowledge are embedded using OpenAI embedding models and stored in Qdrant for fast semantic search.
- .NET Core (Console Application) — Application framework
- OpenAI API — Embeddings and chat completions
- Qdrant — Vector database for semantic search
- Semantic Kernel — Agent orchestration and plugin support
- “What are today’s vegan options?”
- “Recommend a dessert that pairs well with spicy food.”
- “I’m allergic to nuts. What should I avoid?”
Get started in 4 simple steps:
Go to GitHub > Settings > Developer Settings > Personal Access Tokens (or click on this link), and generate a Classic API Key
or use your own OpenAI API key (note: you'll need to update the base URL in the configuration if using OpenAI directly).
Run the following commands:
git clone https://github.com/beheshty/Vectaurant.git
cd Vectaurant
Open the appsettings.json file inside the Vectaurant.Shared project and add your API key:
{
"OpenAIOptions": {
"ApiKey": "your_openai_api_key_here"
}
First, run Qdrant on your local machine:
docker run -p 6333:6333 qdrant/qdrant
Then in two separate terminals, run the following:
Run the Kitchen project to feed the vector database:
dotnet run --project ./Vectaurant.Kitchen/Vectaurant.Kitchen.csproj
Then, run the FrontDesk project to start the AI agent:
dotnet run --project ./Vectaurant.FrontDesk/Vectaurant.FrontDesk.csproj
Vectaurant.Shared
— Shared models and configVectaurant.Kitchen
— Feeds menu data into the vector databaseVectaurant.FrontDesk
— The AI agent that serves user requests
Contributions are welcome! Feel free to open issues or submit pull requests to improve the project.