A Dinner generator agentic workflow built with Inngest and Weaviate
This project demonstrates how to build an AI-powered dinner menu generator using Inngest and Weaviate. The application uses RAG (Retrieval-Augmented Generation) to create personalized dinner menus based on cuisine preferences and dietary requirements.
To run this project, you’ll need:
.env file with the following variables:OPENAI_API_KEY=your_openai_key
WCD_URL=your_weaviate_cloud_url
WCD_API_KEY=your_weaviate_api_key
src/inngest/events.ts
This file defines the events used to trigger our workflow.
The project comes with the event later used in our example to trigger the Christmas dinner generation workflow.
Events are composed of:
namedataThe events are created with zod and passed to the Inngest client, enabling an E2E-typed experience.
src/inngest/functions.ts
This is where our workflow is defined, using inngest.createFunction().
Inngest Functions are composed of multiple steps, enabling you to write workflows relying on independently retriable steps.
Our first workflow is a simple example of multiple “hello worlds”.
src/server.ts
Inngest Functions are exposed to the Inngest Dev Server via a simple express server.
Load the recipe and wine pairing data into Weaviate:
npm run load
npm run start
npm run inngest
{
"data": {
"participantsCount": 4,
"preferences": ["no nuts", "vegan"],
"cuisine_type": "Italian"
}
}

Once the workflow is triggered, you can see the run in the Inngest DevServer UI.
