Video Course: ChatGPT Course – Use The OpenAI API to Code 5 Projects
Master OpenAI API with our course, guiding you from beginner to adept in building applications using ChatGPT. Learn prompt crafting, API security, and integrate AI into web projects with hands-on practice. Ideal for developers and business professionals alike.
Related Certification: Certification: ChatGPT Developer – Build 5 Projects Using the OpenAI API

Also includes Access to All:
What You Will Learn
- Use the OpenAI ChatGPT Completions API and key parameters
- Design effective prompts and understand tokenisation
- Build a secure Node.js/Express backend to protect API keys
- Create a React chat UI and integrate DALL-E image generation
Study Guide
Introduction
Welcome to the comprehensive guide on using the OpenAI API to code five exciting projects with ChatGPT. This course is designed to take you from a complete beginner to a proficient user of the OpenAI API, enabling you to build sophisticated applications that leverage state-of-the-art language models. By the end of this course, you'll have a solid understanding of how to interact with the ChatGPT and DALL-E APIs, create effective prompts, manage API security, and integrate these powerful tools into web applications. Whether you're a developer looking to expand your skill set or a business professional eager to harness AI's capabilities, this course offers invaluable insights and practical skills.
Understanding the ChatGPT Completions API
The ChatGPT Completions API is the cornerstone of creating text-based applications using OpenAI's language models. At its core, this API allows you to generate human-like text by sending a POST request to the API endpoint. The request body must include a mandatory "model" parameter, specifying which language model you wish to use, such as "text-davinci-003" or "gpt-4".
Example:
To illustrate, let's say you want to generate a text completion using the "text-davinci-003" model. Your POST request might look something like this:
{ "model": "text-davinci-003", "prompt": "Write a short story about a robot learning to dance.", "max_tokens": 150 }
In this example, the "prompt" parameter provides the initial text input for the model to generate a completion. The "max_tokens" parameter limits the number of tokens in the response, ensuring the output is concise.
Essential Parameters
Besides the mandatory "model" parameter, several optional parameters can be used to fine-tune the API's response:
- prompt: The text input for the model to generate completions. This can be a string or an array.
- max_tokens: Specifies the maximum number of tokens in the generated completion.
- temperature: Controls the randomness of the output. Higher values (e.g., 0.8) make the output more random, while lower values (e.g., 0.2) make it more focused.
- top_p: An alternative to temperature, using nucleus sampling. It's recommended to use either temperature or top_p, not both.
- n: Specifies how many completions to generate for each prompt.
Example:
Suppose you want to generate multiple creative responses to a prompt. You might set the temperature to 0.9 and n to 3:
{ "model": "gpt-4", "prompt": "What are the benefits of meditation?", "max_tokens": 100, "temperature": 0.9, "n": 3 }
This request would yield three different completions, each potentially offering unique insights into the benefits of meditation.
Tokenisation
Tokens are the basic units of text that the models process. Understanding tokenisation is crucial because it affects how much text can be processed in a single API call. Typically, one token corresponds to roughly four characters of text in English.
Example:
If your prompt is "Hello, world!", it may be tokenized into two tokens: "Hello" and ", world!".
Each model has a context length limit, such as 2048 or 4096 tokens. This limit includes both your input and the generated output, so it's essential to plan your prompts accordingly.
Prompt Engineering
Crafting effective prompts is an art that can significantly impact the quality of the generated text. Here are some guidelines:
- Show and Tell: Provide clear instructions or examples.
- Provide Quality Data: Use well-proofread examples to guide the model.
- Check Your Settings: Adjust parameters like temperature and top_p based on the desired output.
Example:
If you want the model to list items alphabetically, you might craft a prompt like this:
"List the following fruits in alphabetical order: banana, apple, cherry."
Providing a clear task helps the model understand and execute your request effectively.
Practical Implementation
Interacting with the API can be done using various programming languages. JavaScript's fetch API and curl commands are popular choices for making API calls.
Example:
Using JavaScript, you might write:
fetch('https://api.openai.com/v1/completions', { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer YOUR_API_KEY` }, body: JSON.stringify({ model: 'text-davinci-003', prompt: 'Explain the theory of relativity in simple terms.', max_tokens: 150 }) }) .then(response => response.json()) .then(data => console.log(data.choices[0].text));
This code sends a POST request to the API and logs the generated completion to the console.
Security Considerations
When making API calls from the front end, it's crucial to protect your API key. Exposing it in front-end code can lead to unauthorized access and misuse.
Best Practice:
Use a back-end server to handle API requests securely. Store your API key in an environment variable and keep it out of the front-end codebase.
Project-Based Learning
This course emphasizes learning through projects, gradually increasing in complexity. You'll build a ChatGPT clone using JavaScript and React, incorporating features like chat history and user authentication.
Example Projects:
1. A simple chatbot that responds to user input.
2. An interactive application that generates creative writing prompts.
Basic Front-End Structure
Creating a user-friendly interface is essential for any application. Start with a simple HTML and CSS structure to build a ChatGPT-like interface.
Example:
A basic HTML structure might include a sidebar for navigation and a main content area for displaying responses.
Styling with CSS
CSS is used to style the front-end interface, ensuring it is visually appealing and responsive. Flexbox is a popular choice for creating flexible layouts.
Example:
Using Flexbox, you can create a responsive layout that adapts to different screen sizes:
.container { display: flex; flex-direction: column; align-items: center; }
JavaScript Interaction
JavaScript adds interactivity to your application, allowing you to make API calls and update the user interface dynamically.
Example:
Use JavaScript to capture user input and display the API's response:
document.getElementById('submit').addEventListener('click', () => { const userInput = document.getElementById('input').value; // Make API call and display response });
Backend Development with Node.js and Express
To securely handle API calls, you'll build a backend using Node.js and Express. This setup allows you to manage API keys and process requests without exposing sensitive information.
Example:
Set up a basic Express server:
const express = require('express'); const app = express(); app.use(express.json()); app.post('/api', (req, res) => { // Handle API request }); app.listen(3000, () => console.log('Server running on port 3000'));
Image Generation with DALL-E
The DALL-E model allows you to generate images from text prompts. This powerful tool can create original images or variations of existing ones.
Example:
To generate an image, provide a text prompt and specify parameters:
{ "prompt": "A futuristic cityscape", "n": 2, "size": "1024x1024" }
This request generates two images based on the provided description.
React UI Development
Building a chat interface using React involves creating reusable components and managing state effectively. This approach makes your application modular and easier to maintain.
Example:
Create a functional component for the chat input:
function ChatInput() { const [inputValue, setInputValue] = useState(''); return ( setInputValue(e.target.value)} /> ); }
Styling React Components
Apply CSS to style your React components, ensuring a clean and functional user interface. You can use CSS-in-JS libraries or traditional CSS files to achieve this.
Example:
Style a chat message component:
.chat-message { background-color: #f1f1f1; padding: 10px; border-radius: 5px; }
State Management in React
React's useState hook is essential for managing component-level state, such as input values and API responses.
Example:
Manage the state of a modal component:
const [isModalOpen, setIsModalOpen] = useState(false);
Event Handling in React
React's event handling allows you to respond to user interactions, such as button clicks and input changes.
Example:
Handle a button click event:
function handleClick() { console.log('Button clicked'); }
Backend Integration with TypeScript
Using TypeScript with Node.js and Express enhances code maintainability and reduces errors by providing type safety.
Example:
Define a type for an API request:
interface ApiRequest { model: string; prompt: string; max_tokens: number; }
File Handling with Multer
Multer is a middleware for handling file uploads in Node.js. It's particularly useful for the DALL-E image variation feature.
Example:
Set up Multer for file uploads:
const multer = require('multer'); const upload = multer({ dest: 'uploads/' });
Environment Variables (.env)
Storing sensitive information like API keys in a .env file helps keep your application secure.
Example:
Create a .env file with your API key:
API_KEY=your_api_key_here
Displaying Generated Images
Dynamically display images fetched from the DALL-E API in your React front end, creating an engaging user experience.
Example:
Render a list of images:
{images.map((image, index) => ())}
Input Validation and Error Handling
Implement basic error handling and user feedback mechanisms to ensure a robust application.
Example:
Display an error message for invalid input:
{error &&{error}
}
Surprise Prompt Feature
Add a "Surprise Me" button that randomly populates the input field with predefined prompts, enhancing user engagement.
Example:
Define a function to set a random prompt:
function surpriseMe() { const prompts = ['Describe a sunset', 'Write a poem about love']; setInputValue(prompts[Math.floor(Math.random() * prompts.length)]); }
Image Size Constraints for Variation
When using the DALL-E variation endpoint, ensure images are of a specific size (256x256) to meet the API's requirements.
Example:
Check image size before uploading:
if (image.width !== 256 || image.height !== 256) { setError('Image must be 256x256 pixels'); }
Conclusion
Congratulations! You've completed the comprehensive guide on using the OpenAI API to code five projects with ChatGPT. By mastering the concepts and techniques covered in this course, you can now build sophisticated applications that leverage the power of AI. From understanding API parameters to implementing secure back-end solutions, you've gained valuable skills that will serve you well in the rapidly evolving field of artificial intelligence. Remember, the thoughtful application of these skills can unlock new possibilities and drive innovation in your projects. Keep experimenting, keep learning, and continue to push the boundaries of what's possible with AI.
Podcast
There'll soon be a podcast available for this course.
Frequently Asked Questions
Welcome to the comprehensive FAQ section for the 'Video Course: ChatGPT Course – Use The OpenAI API to Code 5 Projects.' This resource is designed to address common questions and provide insights into using OpenAI's API effectively. Whether you're a beginner exploring AI for the first time or an experienced developer looking to refine your skills, this FAQ aims to enhance your understanding and application of AI technologies.
What is a POST request in the context of interacting with language model APIs?
A POST request is a method used in HTTP (Hypertext Transfer Protocol) to send data to a server to create or update a resource. When interacting with language model APIs, you typically use a POST request to send your instructions (the prompt) and various configuration parameters to the API endpoint to generate a response. It's in the body of this POST request that you include the necessary information for the model.
What are the key components of the request body when making a text completion request?
The request body for a text completion task typically includes several parameters, but the only mandatory one is the model you wish to use (e.g., text-davinci-003, gpt-4). Other common, but optional, parameters include:
- prompt: This is the input text or instructions you provide to the model as a string or an array.
- suffix: An optional string that will appear after the model's generated completion.
- max_tokens: An integer specifying the maximum number of tokens to generate in the completion. Tokens are the basic units the model uses to process text (roughly four characters or three-quarters of a word for English).
- temperature: A number between 0 and 2 that controls the randomness of the output. Higher values (e.g., 0.8) result in more random and creative responses, while lower values (e.g., 0.2) make the output more focused and deterministic.
- top_p: An alternative to temperature that uses nuclear sampling. It considers the tokens comprising the top P probability mass. For example, 0.1 means only the tokens within the top 10% probability are considered. It's generally recommended to use either temperature or top_p, but not both.
- n: An integer specifying how many completions to generate for a single prompt. Generating multiple completions will consume more tokens.
- user: An optional string representing the end-user, which can help with monitoring and abuse detection.
What are tokens and why are they important when using language models?
Tokens are the fundamental building blocks that language models use to process and generate text. They are essentially common sequences of characters found in text. For English text, one token roughly corresponds to about four characters or three-quarters of a word. The models understand the statistical relationships between these tokens and use this understanding to predict the next token in a sequence. When using language model APIs, you need to be mindful of token limits. The total token count of your prompt plus the max_tokens parameter cannot exceed the model's context length (e.g., 2048 or 4096 tokens for many models).
How do the temperature and top_p parameters affect the output of a language model?
Both temperature and top_p control the randomness and creativity of the language model's output.
- temperature: A higher temperature (closer to 2) makes the output more random, surprising, and potentially creative. It increases the probability of less likely tokens being chosen. A lower temperature (closer to 0) makes the output more focused, deterministic, and predictable, favouring the most likely next tokens.
- top_p: This parameter uses nuclear sampling. It considers a subset of the most probable tokens whose cumulative probability exceeds the value of top_p. For example, a top_p of 0.1 means the model only considers tokens within the top 10% of probability mass. Like temperature, a lower value makes the output more focused, while a higher value allows for more diverse results.
It is generally advised to experiment with these settings and to use either temperature or top_p, but not both, to achieve the desired balance between coherence and creativity.
What are some basic guidelines for creating effective prompts for language models?
To get the best results from language models, it's important to craft effective prompts. Three basic guidelines include:
- Show and Tell: Clearly communicate what you want the model to do through instructions, examples, or a combination of both. If you want the model to rank items alphabetically or classify text sentiment, demonstrate this in your prompt.
- Provide Quality Data: If you're training a classifier or asking the model to follow a specific pattern, ensure you provide sufficient and well-proofread examples. The model is usually smart enough to handle minor errors, but it might interpret mistakes as intentional.
- Check Your Settings: The temperature and top_p settings influence the determinism of the model's responses. For tasks with only one correct answer, lower these settings. For more diverse and creative outputs, higher values might be appropriate. Avoid the common mistake of assuming these settings control cleverness or creativity directly; they control randomness.
How can you interact with a language model API in a web application?
You can interact with a language model API from a web application (front-end) using JavaScript and the fetch API (or similar HTTP request libraries). This involves making a POST request to the API endpoint with the necessary headers (including your API key) and a JSON body containing your request parameters (model, prompt, etc.). However, directly including your API key in front-end code is insecure as it can be exposed to users. A more secure approach for production applications is to build a back-end (e.g., using Node.js with Express or a framework like React which facilitates back-end integration) to handle the API calls and keep your API key confidential on the server side. The front-end then communicates with your back-end, which in turn interacts with the language model API.
What are some security considerations when integrating language model APIs into web applications?
A crucial security consideration is protecting your API key. Avoid embedding it directly in front-end JavaScript code. Instead, handle API interactions through a secure back-end server that you control. This prevents unauthorized access and usage of your API key. Additionally, when building front-end applications that interact with these APIs, be mindful of potential abuse by end-users. Implementing rate limiting or user authentication on your back-end can help mitigate these risks. Avoid publishing front-end code containing API keys to public repositories like GitHub.
Beyond text completion, what other capabilities do language model APIs offer, such as the DALL-E model?
Language model APIs extend beyond just text completion. One notable example is OpenAI's DALL-E model, which focuses on image generation and manipulation. The DALL-E API allows you to:
- Create images from scratch: By providing a text prompt, the model can generate new and original images based on your description. You can specify the number of images to generate (up to 10) and the desired size (e.g., 1024x1024, 512x512, 256x256 pixels).
- Create variations of existing images: By uploading an image and providing parameters, the API can generate multiple variations of that image, maintaining a similar style and content. There are requirements on the size and format of the uploaded image (e.g., square images under 4MB, and for variations, specifically 256x256).
- Edit existing images based on text prompts: Although not explicitly detailed in the provided excerpts, this is another capability of the DALL-E API, allowing you to make changes to parts of an image based on textual instructions.
These image-based functionalities open up a wide range of creative and practical applications beyond text-based interactions.
What is an API and why is it important for interacting with AI models?
An API, or Application Programming Interface, is a set of rules and protocols that allows different software applications to communicate and exchange data. In the context of AI models, APIs are crucial because they provide a standardized way to access and interact with complex machine learning models without needing to understand the underlying code. This allows developers to integrate AI capabilities into their applications seamlessly.
What is an HTTP request and how does it relate to using AI APIs?
An HTTP request is a message sent by a client to a server in order to communicate and perform actions like retrieving or sending data. When using AI APIs, HTTP requests (especially POST requests) are used to send data to the server, such as the prompt and model parameters, and receive responses like text completions or image generations. Understanding HTTP requests is essential for effectively using AI APIs in applications.
What is the Fetch API and how is it used in web applications?
The Fetch API is a JavaScript interface for making network requests to servers. It's used in web applications to interact with APIs, including AI APIs, by sending HTTP requests and handling responses. The Fetch API is particularly useful for asynchronous operations, allowing web applications to perform tasks like fetching data from an API without blocking the user interface. This makes it ideal for integrating AI capabilities into web applications.
What is Node.js and why is it used for backend development?
Node.js is a JavaScript runtime environment that allows developers to run JavaScript code on the server side. It's used for backend development because it enables the creation of scalable and efficient web applications. Node.js is particularly popular for building APIs and handling server-side logic, making it a great choice for integrating AI capabilities into web applications. Its non-blocking, event-driven architecture is well-suited for handling multiple requests simultaneously.
What is React and how does it help in building web applications?
React is a JavaScript library for building user interfaces, particularly for single-page applications. It allows developers to create reusable UI components and manage application state efficiently. React is beneficial for building web applications that interact with AI APIs because it provides a structured way to handle user interactions and data updates. Its component-based architecture makes it easy to integrate AI functionalities into web applications.
What is CORS and why is it important in web development?
CORS, or Cross-Origin Resource Sharing, is a security feature implemented by web browsers to restrict web pages from making requests to a different domain than the one that served the original page. It's important in web development because it prevents unauthorized access to resources on other domains. When integrating AI APIs into web applications, configuring CORS correctly is crucial to ensure that requests from the frontend to the backend are allowed. This helps maintain security while enabling cross-origin interactions.
What is an .env file and how is it used in development?
An .env file is a configuration file used to store environment variables separately from the main codebase. This is especially useful for storing sensitive information like API keys, database credentials, and other configuration settings. In development, using an .env file helps keep sensitive data secure and makes it easy to manage different configurations for development, testing, and production environments. It also prevents sensitive information from being exposed in the code repository.
What is TypeScript and how does it benefit JavaScript developers?
TypeScript is a superset of JavaScript that adds optional static typing to the language. It benefits JavaScript developers by providing improved tooling, better error checking, and enhanced code readability. TypeScript helps catch errors during development, making it easier to maintain large codebases and reducing the likelihood of runtime errors. For developers integrating AI APIs, TypeScript can improve the reliability and maintainability of their applications.
What is Multer and how is it used in Node.js applications?
Multer is a middleware for handling multipart/form-data, which is commonly used for uploading files in web applications. In Node.js applications, Multer is used to handle file uploads by processing incoming files and storing them on the server. When integrating AI APIs that require image uploads, such as the DALL-E model, Multer can be used to manage file uploads securely and efficiently. This ensures that files are handled correctly and made available for further processing by the API.
What is image variation and how is it used with the DALL-E model?
Image variation is a feature of the DALL-E model that allows creating variations of an existing image uploaded by the user. By providing an image and specifying parameters, the API can generate multiple variations that maintain a similar style and content. This feature is useful for generating creative content and exploring different visual possibilities based on a single image. It opens up new opportunities for artists, designers, and developers to create unique and diverse visuals.
What is JSON and why is it commonly used with APIs?
JSON, or JavaScript Object Notation, is a lightweight data-interchange format that is easy for humans to read and write and easy for machines to parse and generate. It is commonly used with APIs because it provides a simple and structured way to exchange data between a client and a server. In the context of AI APIs, JSON is used to format request bodies and responses, making it easy to send and receive data like prompts, model parameters, and generated outputs. Its simplicity and compatibility with JavaScript make it a popular choice for web developers.
What are asynchronous operations and why are they important in web development?
Asynchronous operations allow a program to continue executing other tasks while waiting for a long-running operation, such as a network request, to complete. This is important in web development because it prevents blocking the user interface, ensuring a smooth and responsive user experience. When integrating AI APIs, asynchronous operations enable web applications to fetch data, generate completions, or create images without interrupting the user's interaction with the application. This is achieved using JavaScript features like promises, async/await, and callbacks.
What is an event listener in JavaScript and how is it used in web applications?
An event listener is a function that is called when a specific event occurs on an element in a web page, such as a mouse click, key press, or form submission. In web applications, event listeners are used to respond to user interactions and trigger actions like sending API requests, updating the user interface, or handling form inputs. When integrating AI APIs, event listeners can be used to initiate requests to generate text or images based on user input, providing a dynamic and interactive experience. This is a key aspect of creating responsive and user-friendly web applications.
What is JSX and how is it used in React applications?
JSX, or JavaScript XML, is a syntax extension for JavaScript that allows developers to write HTML-like structures within JavaScript code. It is commonly used in React applications to describe the structure of UI components. JSX makes it easier to visualize the component hierarchy and manage the layout of a React application. When integrating AI APIs, JSX can be used to create components that display generated text or images, update based on user interactions, and provide a seamless user experience. Its readability and expressiveness make it a valuable tool for React developers.
What are components in React and why are they important for building web applications?
Components are reusable and independent parts of a React user interface. They encapsulate logic, structure, and styling, making it easy to manage and maintain complex web applications. Components are important for building web applications because they promote code reusability, modularity, and separation of concerns. When integrating AI APIs, components can be used to handle specific tasks like displaying generated content, managing user input, and interacting with the API. This component-based architecture simplifies the development process and enhances the scalability of web applications.
What are props in React and how are they used?
Props, short for properties, are data passed from a parent component to a child component in React. They allow components to communicate and share information, making it possible to build dynamic and interactive user interfaces. Props are used to customize the behavior and appearance of child components based on the data provided by the parent component. When integrating AI APIs, props can be used to pass data like prompts, model parameters, or generated content between components, ensuring a cohesive and responsive user experience. This enables developers to create flexible and adaptable applications.
What is state in React and how does it affect component behavior?
State is data that is managed within a React component and can change over time, causing the component to re-render. It is used to store information that affects the component's behavior and appearance, such as user input, fetched data, or application status. State is important for building interactive and dynamic web applications because it allows components to respond to changes and update the user interface accordingly. When integrating AI APIs, state can be used to manage data like generated text or images, ensuring that the application remains responsive and up-to-date. This is a key aspect of creating engaging and user-friendly applications.
What is Express and how does it facilitate backend development?
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for building web and mobile applications. It facilitates backend development by simplifying the process of creating APIs, handling HTTP requests, and managing server-side logic. Express is particularly useful for integrating AI APIs because it allows developers to create secure and efficient endpoints for handling API interactions, managing data, and serving client requests. Its simplicity and extensibility make it a popular choice for building scalable and maintainable backend applications.
What is the DALL-E model and how is it used for image generation?
The DALL-E model is an AI model developed by OpenAI that is capable of generating digital images from natural language descriptions. It is used for image generation by providing a text prompt that describes the desired image, and the model generates an image based on that description. The DALL-E model can create unique and original images, making it a powerful tool for artists, designers, and developers. Its ability to generate images from text opens up new creative possibilities and applications in various fields.
What is image variation and how is it used with the DALL-E model?
Image variation is a feature of the DALL-E model that allows creating variations of an existing image uploaded by the user. By providing an image and specifying parameters, the API can generate multiple variations that maintain a similar style and content. This feature is useful for generating creative content and exploring different visual possibilities based on a single image. It opens up new opportunities for artists, designers, and developers to create unique and diverse visuals.
What is image variation and how is it used with the DALL-E model?
Image variation is a feature of the DALL-E model that allows creating variations of an existing image uploaded by the user. By providing an image and specifying parameters, the API can generate multiple variations that maintain a similar style and content. This feature is useful for generating creative content and exploring different visual possibilities based on a single image. It opens up new opportunities for artists, designers, and developers to create unique and diverse visuals.
How can you handle API interactions securely in a React project?
In a React project, handling API interactions securely involves using a backend server to manage API requests and keep sensitive information like API keys secure. Instead of making API calls directly from the frontend, the frontend communicates with the backend, which then interacts with the API. This approach ensures that API keys and other sensitive data are not exposed to users, reducing the risk of unauthorized access and misuse. Additionally, using environment variables and secure storage practices can further enhance security.
How can you use the DALL-E model to create engaging web applications?
The DALL-E model can be used to create engaging web applications by integrating its image generation capabilities into the user interface. Developers can build applications that allow users to input text prompts and receive generated images in real-time. By leveraging the DALL-E model's ability to create unique and creative visuals, applications can offer interactive experiences for users, such as art creation tools, personalized content generation, and virtual design platforms. This opens up new possibilities for creativity and user engagement in web applications.
Certification
About the Certification
Master OpenAI API with our course, guiding you from beginner to adept in building applications using ChatGPT. Learn prompt crafting, API security, and integrate AI into web projects with hands-on practice. Ideal for developers and business professionals alike.
Official Certification
Upon successful completion of the "Video Course: ChatGPT Course – Use The OpenAI API to Code 5 Projects", you will receive a verifiable digital certificate. This certificate demonstrates your expertise in the subject matter covered in this course.
Benefits of Certification
- Enhance your professional credibility and stand out in the job market.
- Validate your skills and knowledge in a high-demand area of AI.
- Unlock new career opportunities in AI and HR technology.
- Share your achievement on your resume, LinkedIn, and other professional platforms.
How to complete your certification successfully?
To earn your certification, you’ll need to complete all video lessons, study the guide carefully, and review the FAQ. After that, you’ll be prepared to pass the certification requirements.
Join 20,000+ Professionals, Using AI to transform their Careers
Join professionals who didn’t just adapt, they thrived. You can too, with AI training designed for your job.