Update 2024-05-03: added parts 8, 9
Update 2024-04-09: improved project description
Update 2024-03-16: added info about Google AI Studio
Impressed by generative AI demos and interested to use it for programming? I was and in a series of posts I’m documenting my experience with the new toy.
The AI use cases covered in those posts simply present themselves while creating a line-of-business app. It starts with creating a database (DB) and filling it with demo data. Well, it will actually be a demo application to spare prospective clients a heart attack which will also give me more time for experiments.
It’s software (UniLib_Razor) for a fictional university’s library where users can search for books not only by author, title and abstract but also by cover image and all of that simply with natural language. That’s the main AI powered feature but there will be more. Adding some Razor Pages creates a minimum viable product that is deployed to Azure and Amazon Webservices (AWS).
Then there will be documents like the university’s and library’s rules as well as the software’s help contents which users can search via Retrieval Augmented Generation (RAG).
The posts also compare results from models like OpenAI’s GPTs and Google’s Bard as well as the Copilots from GitHub and Microsoft. OpenAI’s DALL-E 3 and Stability AI’s SDXL models will generate images.
Besides trying to find the best model those posts also discuss how to best integrate generative AI into the programming workflow:
- Programming with Generative AI – Part 1: Generate Code (generate SQL and classes for Entity Framework’s code-first approach to create database tables)
- Programming with Generative AI – Part 2: Generate Text (generate records of text to fill a database)
- Programming with Generative AI – Part 3: Generate Images (generate images from a text description)
- Programming with Generative AI – Part 4: Generate Text and Images in Amazon Bedrock (similar to 3rd post but with AWS models)
- Programming with Generative AI – Part 5: Use GitHub Copilot and Amazon CodeWhisperer
- Programming with Generative AI – Part 6: Automate Generating Images (workflow from 3rd post automated)
- Programming with Generative AI – Part 7: Generate SQL from Natural Language (uses OpenAI’s GPT-4 model)
- Programming with Generative AI – Part 8: Compare 14 AI Models’ SQL Generating Capabilities
- Programming with Generative AI – Part 9: Generate SQL from Natural Language – Limitations
If you are wondering why there is no Part 4a using Google’s models: they and Google’s AI Studio aren’t available in the EU and UK yet due to worries about GDPR (General Data Protection Regulation) compliance.
Future topics are:
- use AI powered assistants like Copilot for Azure as well as Amazon Q and Amazon QuickSight for guidelines to software deployment and insights into its cost on both Azure and AWS
- use RAG and generative AI in general to search in images and documents while respecting user permissions
- use generative AI to get advice on architecture, security and coding style (only after finishing the project of course)
Additional Resources
- Availability of Google AI Studio: https://ai.google.dev/available_regions