Build robust AI agents. Integrate tools via function calling, generate structured outputs with Pydantic, manage agent state, and utilize short-term and long-term memory. Create data-driven agents that interact with external APIs, search the web, query SQL databases, and perform agentic RAG for dynamic retrieval. Learn to evaluate agent performance for reliable, real-world applications.
Overview
Syllabus
- Introduction to Building Agents
- Get to know your course instructors, set up OpenAI resources, and get an overview of the course.
- Extending Agents with Tools
- Extend AI agents beyond text with tool integrations, enabling reliable real-time actions and data access.
- Building Agents with Tools in Python
- Develop AI agents in Python using tools with OpenAI SDK. Interact through language models, build functionality-enhancing tools, and test via tool-augmented exercises.
- Structured Outputs
- Discover structured outputs in AI: transform responses into actionable JSON for integration. Utilize schemas, parsers, and function calls to enhance reliability and automation in workflows.
- Implementing Structured Outputs with Pydantic
- Master structured outputs with Pydantic and OpenAI SDK for LLMs. Learn parsing, type validation, and create validated AI agent responses in JSON format.
- Agent State Management
- Explore agent state management with state machines. Learn how agents track user input, instructions, and tool use for complex workflows, ensuring adaptability and reliability.
- Implementing Agent State Management with Python
- Master Python state machines: set up environment, define schemas, manage transitions, and run workflows. Explore advanced routing and loops for dynamic workflows.
- Short-Term Agent Memory
- Explore short-term memory in AI agents, enhancing coherence via state, ephemeral, and ephemeral memory strategies for efficient context retention in active sessions.
- Adding Agent Memory with Python
- Learn to implement short-term memory in Python for coherent AI interactions via a ChatBot with personas, enabling session continuity and dynamic responses.
- External Tools and APIs
- Explore using external APIs for real-time data, dynamic actions, and authenticating agents. Discover MCP, a protocol standardizing AI’s tool interoperability and safety.
- Integrating External Tools and APIs with OpenAI & Python
- Explore using OpenAI and Python to integrate external APIs, make GET/POST/PUT requests, manage API keys, and create agents for real-time data interactions.
- Web Search Agents
- Equip agents to search web for real-time, unstructured info. Ground responses in evidence using APIs, handle noise, and avoid hallucination for credible answers.
- Creating Web Search Agents with Python
- Build a web search agent using Python, Tavily API, to integrate real-time web data, parse results, and enhance language models' effectiveness.
- Interacting with Databases
- Equip agents to access and modify structured data by using SQL for interaction and vector databases for semantic tasks, ensuring seamless integration with private systems.
- Building Database Agents in Python
- Convert natural language to SQL using SQLAlchemy, SQLite, and text2SQL Agent to interact with databases efficiently through real-world examples and practical applications.
- Agentic Retrieval Augmented Generation
- Discover Agentic RAG: Enhance RAG by enabling reflection, query reformulation, and intelligent adaption for nuanced answers. Master retrieval, reasoning, and retry loops.
- Agentic RAG with Python and ChromaDB
- Explore agentic RAG in Python using ChromaDB, integrating AI with retrieval-augmented generation for intelligent document retrieval and processing with OpenAI embeddings.
- Long-Term Agent Memory
- Explore long-term agent memory: understand semantic, episodic, and procedural memories. Learn storage strategies and best practices for personalized, coherent interactions.
- Maintaining Long-Term Agent Memory in Python
- Implement long-term memory in Python agents using vector databases for enhanced user interaction, session persistence, and personalized responses.
- Agent Evaluation
- Agent Evaluation guides assessing an agent’s task completion, quality, tool use, and system metrics using response, step, or trajectory strategies to ensure reliable and efficient operations.
- Evaluating Agents with Python
- Evaluate Python-based agents by setting environments, creating tools, designing test cases, and using diverse evaluation methods to enhance performance and design.
- Course Conclusion
- Congratulations on completing the course!
- UdaPlay - An AI Research Agent for the Video Game Industry
- In this project, students will build a stateful AI Research Agent designed to explore the video game industry.
Taught by
Henrique Santana