Ahmad Tawil

IBM Β· IBM RAG and Agentic AI Professional Certificate

Develop Generative AI Applications: Get Started

Develop Generative AI Applications: Get Started certificate

Prompt engineering and LangChain fundamentals, culminating in a Flask generative-AI app built on IBM watsonx.ai models.

Completed 2025-10-12

πŸŽ“ Part of the IBM RAG and Agentic AI Professional Certificate #

Author: Ahmad Tawil
Date Completed: October 12, 2025
Certificate: Coursera Verification Link β†’ IBM Certificate


πŸ“˜ Course Overview #

This repository documents my complete work and labs for the IBM course β€œDevelop Generative AI Applications: Get Started”, offered through Coursera.
The course provides hands-on experience in Generative AI, Prompt Engineering, and LangChain frameworks, culminating in a Flask-based AI application powered by IBM watsonx.ai models.

πŸ’‘ Key Learning Outcomes #

  • Understand Generative AI foundations, prompt engineering, and in-context learning
  • Master LangChain components (LLMs, Prompts, Chains, Agents, LCEL)
  • Build composable AI workflows using LCEL pipelines
  • Develop and deploy a Flask Generative AI web app integrating LangChain + Watsonx models
  • Compare LLMs (Llama 3, Granite) and implement structured JSON output parsing

🧩 Course Modules #

Module 1 – Foundations of Generative AI and Prompt Engineering #

Explored the core principles of generative AI and how prompt engineering improves LLM performance.
Implemented LangChain Prompt Templates and practiced in-context learning (zero-shot, one-shot, few-shot).

Skills & Tools

  • Prompt Engineering 🧠
  • NLP Concepts (Tokenization, NER, POS)
  • LangChain PromptTemplate
  • Python + Jupyter Notebooks

Lab: In-Context Learning and Prompt Templates for Advanced AI


Module 2 – Introduction to LangChain in Generative AI Applications #

Learned the modular structure of LangChain β€” LLMs, Chat Models, Prompts, Output Parsers β€” and built sequential chains, memory, and agents.
Adopted the LangChain Expression Language (LCEL) for clear and composable AI pipelines.

Key Concepts

FeatureDescription
ChainsSequential workflows where output β†’ next input
MemoryMaintains context for multi-turn conversations
AgentsDynamically choose tools/APIs to execute tasks
LCEL SyntaxPipe operator (`

Lab: Build Smarter AI Apps – Empower LLMs with LangChain


Module 3 – Build a Generative AI Application with LangChain #

Developed a full-stack Flask Generative AI application integrating IBM watsonx.ai models (Llama 3, Granite) with LangChain.

Tech Stack

CategoryTools
AI FrameworkLangChain + LangChain-IBM
ModelsMeta Llama 3 / IBM Granite
BackendFlask (API + UI)
ParsingPydantic + JsonOutputParser
LanguagePython 3.11
FrontendHTML + Flask Templates

Project Highlights

  • Integrated LangChain chains into Flask backend
  • Defined Pydantic schemas for validated JSON outputs
  • Compared Llama 3 vs Granite in runtime and response style
  • Produced structured LLM responses (summary, sentiment, reply)

Example Output

{
  "summary": "Large Language Models (LLMs) are AI algorithms that process and generate human-like language.",
  "sentiment": 100,
  "response": "They are trained on vast amounts of text data to learn patterns and relationships in language."
}

Screenshot
AI Assistant Web App Screenshot


🧠 Course Architecture Summary #

User (UI)
 β”‚
 └──> Flask (app.py)
      β”‚ receives user prompt + model
      └──> model.py β†’ ChatWatsonx chain
             β”‚ PromptTemplate + JsonOutputParser
             └──> Watsonx.ai Model (Llama3 / Granite)
                     β”‚ returns structured JSON
                     └──> Flask renders output to UI

πŸ… Skills Demonstrated #

  • Generative AI Concepts & Foundation Models
  • Prompt Engineering & In-Context Learning
  • LangChain Framework (Chains, Memory, Agents, LCEL)
  • Flask Web App Development for AI Applications
  • IBM Watsonx Model Integration (Llama 3, Granite)
  • Structured Output Parsing with Pydantic & JSON

πŸ“š Tools and Technologies #

Python 3.11 Β· LangChain Β· Flask Β· IBM Watsonx.ai Β· Pydantic Β· JsonOutputParser Β· LLMs (Llama 3, Granite) Β· HTML/CSS Β· VS Code Β· Jupyter Lab


🧩 Future Enhancements #

  • Add RAG (vector store integration) for contextual retrieval
  • Extend JSON schema with tone/confidence fields
  • Implement multi-turn memory and session storage
  • Deploy to IBM Cloud or Vercel for public access

🏁 Conclusion #

Successfully completed all three modules of IBM’s Develop Generative AI Applications: Get Started course.
This project demonstrates the full journey β€” from mastering prompt engineering to building a production-ready Flask Generative AI web app powered by LangChain and IBM Watsonx foundation models.

🧩 Ready to move on to advanced RAG and Agentic AI development.


βœ… Verified Certificate: Coursera.org/verify/X6ECLAMRH2YQ