How halimmwn/python-for-genai-sem7 works
This repository is a set of practical exercises for learning Python for Generative AI, not a single application. The main learner workflow is to choose and run a chapter example, provide code or a prompt where needed, and inspect printed results or a service response. The material progresses from Python foundations and data handling to LLM APIs and prompt techniques, then embeddings and retrieval. The graph also shows the internal embedding-to-vector-search layer. Several branches are represented by their exact directories because their individual source was not sampled; those links are therefore limited to documented or directly evidenced behavior.
Main entry points: 8.4.1 - SemanticSearch.py In-memory vector store · 8.6.1-EvaluatingRetrievalQuality.py Retrieval evaluation · Module - 06 - OpenAI & Anthropic APIs LLM API examples · 8.2 Generating Embedding Embedding examples
Components 18
Python foundations
- Python basics
Bab_01_Python Core for AI/Module-01-Python Foundations - Data structures
Bab_01_Python Core for AI/Module-02-Data Structures & Comprehensions - OOP and modules
Bab_01_Python Core for AI/Module-03-OOP & Modules - Files and async
Bab_01_Python Core for AI/Module-04-File
Data handling
- Data analysis
Bab_01_Python Core for AI/Module-05-Python For Data
LLM APIs
- LLM API examples
Bab_02_LLM APIs & Prompting/Module - 06 - OpenAI & Anthropic APIs
Prompt engineering
- Prompt methods
Bab_02_LLM APIs & Prompting/Module - 07 - Prompt Enggineering - Prompt API exercise
Bab_02_LLM APIs & Prompting/Module - 07 - Prompt Enggineering/7.8 Excercise/7.8.1 Excercise.py
Embeddings and retrieval
- Embedding examples
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.2 Generating Embedding - Text chunking
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.5 Chunking Text for Embedding/8.5.1-ChunkingTextForEmbedding.py - Embedding helper
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.4 Semantic Search - Full Pipeline/8.4.1 - SemanticSearch.py - In-memory vector store
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.4 Semantic Search - Full Pipeline/8.4.1 - SemanticSearch.py - Retrieval evaluation
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.6 Evaluating Retrieval Quality/8.6.1-EvaluatingRetrievalQuality.py - Extended retrieval
Bab_02_LLM APIs & Prompting/Module - 08 - Embeddings & Semantic Search/8.8 Exercise/8.8.1-Exercise.py
Other components
- Learner
- Model providers
- Embedding provider
- Exercise output
Connections 30
- Learner → Python basics: runs examples
- Learner → Data structures: runs examples
- Learner → OOP and modules: runs examples
- Learner → Files and async: runs examples
- Learner → Data analysis: runs examples
- Learner → LLM API examples: runs examples
- Learner → Prompt methods: runs examples
- Learner → Embedding examples: runs examples
- Learner → Text chunking: runs example
- Learner → Retrieval evaluation: runs example
- Learner → Extended retrieval: runs exercise
- Python basics → Exercise output: prints results
- Data structures → Exercise output: prints results
- OOP and modules → Exercise output: prints results
- Files and async → Exercise output: prints results
- Data analysis → Exercise output: prints results
- LLM API examples → Model providers: sends requests
- LLM API examples → Exercise output: prints responses
- Prompt API exercise → Model providers: sends messages
- Prompt API exercise → Exercise output: prints responses
- Learner → Prompt API exercise: runs exercise
- Embedding examples → Embedding provider: requests embeddings
- Embedding examples → Exercise output: prints vectors
- In-memory vector store → Embedding helper: embeds documents
- In-memory vector store → Embedding helper: embeds queries
- In-memory vector store → Embedding provider: requests embeddings
- Retrieval evaluation → In-memory vector store: imports and indexes
- Retrieval evaluation → In-memory vector store: searches cases
- Retrieval evaluation → Exercise output: prints metrics
- Extended retrieval → Embedding provider: requests embeddings