AI Python Engineer
Hands-on course on building AI applications with Python: integrations with LLM APIs (OpenAI, Anthropic, Gemini), prompt engineering, RAG, agentic systems (LangGraph, CrewAI, OpenAI Agents SDK, MCP) and production deployment with caching and cost monitoring.
Course Curriculum
AI API Ecosystem: Providers, Models, Tokens
6 tasks
Environment Setup: venv, `.env`, python-dotenv
7 tasks
OpenAI SDK: First Request Through OpenRouter (Free)
7 tasks
Response Anatomy: `choices`, `usage`, `finish_reason`
7 tasks
Anthropic SDK: `messages.create` and Differences from OpenAI
7 tasks
Gemini and Groq: Two Free Providers
7 tasks
Generation Parameters: temperature, max_tokens, top_p
6 tasks
Streaming Responses: `stream=True` in OpenAI and Anthropic
7 tasks
Parallel Requests with `asyncio.gather`
7 tasks
Handling API Errors: `try/except`, Timeout, Empty Response
7 tasks
Module Final Project: AI Chat Router
8 tasks
Chat Roles: system, user, assistant
7 tasks
System Prompt: Setting Context and Behavior Rules
6 tasks
Few-shot prompting: examples in context
8 tasks
Chain-of-Thought: "Think Step by Step"
6 tasks
Prompt templates: f-strings and Jinja2
7 tasks
Multi-turn Dialogue: Saving Message History
6 tasks
Parsing Loose Responses: Extract JSON from Text
8 tasks
Prompt Injection: Attacks and Defense
8 tasks
Module Final Project: AI Resume Analyzer
7 tasks
OpenAI JSON Mode: response_format={"type":"json_object"}
7 tasks
Pydantic v2: Models for Structured Output
6 tasks
OpenAI Structured Outputs: `response_format=MyModel`
5 tasks
Function Calling: Declaring Tools
8 tasks
Function Calling: Handling the Call Loop
8 tasks
Parallel Calls: `parallel_tool_calls`
8 tasks
Tool Use in the Anthropic API
7 tasks
Module Capstone: AI Data Extractor
7 tasks
What RAG Is and Why It Is Needed
7 tasks
Embeddings: Vector Representations of Text
6 tasks
Embeddings API: Generating Vectors with OpenAI and Free Alternatives
7 tasks
ChromaDB: Storing and Searching Embeddings
8 tasks
Cosine Similarity: Manual Search Implementation
8 tasks
Chunking Strategies: Splitting Documents
6 tasks
Loading Documents: PDF, TXT, Markdown
6 tasks
RAG Pipeline: Query -> Retrieval -> Prompt -> Answer
7 tasks
Reranking: Improving Relevance
7 tasks
Module Final Project: Knowledge Base
6 tasks
LangChain: LCEL and chains with the `|` operator
7 tasks
`ChatPromptTemplate`: Agent System Prompt
7 tasks
Memory: ConversationBufferMemory
7 tasks
Built-in LangChain Tools: DuckDuckGo and Wikipedia
8 tasks
Custom Tool: the `@tool` Decorator
7 tasks
ReAct Agent: Reason + Act
6 tasks
Introduction to LangGraph: Nodes, Edges, and StateGraph
6 tasks
Conditional Edges: add_conditional_edges
6 tasks
LangSmith: Tracing and Debugging
6 tasks
LangGraph: `MemorySaver` - Persistent Checkpoints
8 tasks
Module Final Project: Research Agent
8 tasks
Multi-Agent System Patterns: Pipeline, Supervisor, Debate
6 tasks
CrewAI: `Agent` with `role`, `goal`, and `backstory`
5 tasks
CrewAI: `Task` and `Crew`
7 tasks
CrewAI Processes: `sequential` vs `hierarchical`
6 tasks
Custom Tools for CrewAI
7 tasks
OpenAI Agents SDK: `Agent` and `handoff`
7 tasks
MCP (Model Context Protocol): Connecting an MCP Server
7 tasks
Debugging Multi-Agent Systems
8 tasks
Module Final Project: AI Content Team
7 tasks