{"id":5646869,"date":"2022-12-08T08:00:17","date_gmt":"2022-12-08T13:00:17","guid":{"rendered":"https:\/\/lightning.ai\/pages\/?p=5646869"},"modified":"2023-03-07T17:21:14","modified_gmt":"2023-03-07T22:21:14","slug":"deploy-openai-whisper","status":"publish","type":"post","link":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/","title":{"rendered":"Deploy OpenAI Whisper as a Cloud Product"},"content":{"rendered":"<h2>A New ML Model, a New Startup Opportunity<\/h2>\n<p style=\"text-align: right;\"><em><strong><a href=\"https:\/\/lightning.ai\/echo\/view\/home\">&#8212; give Echo, our free transcription app powered by OpenAI&#8217;s Whisper, a try!<\/a><\/strong><\/em><\/p>\n<p>&nbsp;<\/p>\n<p>Times are moving fast in the machine learning space. Just a short while ago, <a href=\"https:\/\/openai.com\/blog\/whisper\/\">OpenAI released Whisper<\/a>, a general-purpose speech recognition model. Not only did they <a href=\"https:\/\/github.com\/openai\/whisper\">open-source the model code<\/a>, they also provided the model weights, making it fully usable in just a few lines of Python. When I saw how simple the code snippet was to use Whisper, my immediate thought was to build an app with the model at its core. Below, I&#8217;ll show you how I used Lightning to deploy Whisper by OpenAI.<\/p>\n<p>There are several audio\/video captioning services available, but most of them are proprietary and relatively expensive to use, charging upwards of $5\/minute of video, and more for languages other than English. Additionally, these services cannot be used for certain industries like healthcare and finance because of data security policies. This creates the perfect opportunity for a new app to disrupt this industry that can run using low-cost commodity GPUs and even in a private AWS account. So I pretended to be a startup company and set out to build an app!<\/p>\n<p>My background is <strong>not<\/strong> in machine learning. I would call myself a full-stack developer who loves building end-to-end features using React. <a href=\"https:\/\/lightning.ai\/docs\/stable\/\">The Lightning Framework<\/a> looks and feels a lot like React, just written in Python, so it was very intuitive to learn and use as a backend for my transcription app. (<a href=\"https:\/\/github.com\/Lightning-AI\/echo\">You can look through Echo&#8217;s code here.<\/a>)<\/p>\n<p>I decided to call my app Echo, after <a href=\"https:\/\/en.wikipedia.org\/wiki\/Echo_(mythology)\">the Greek nymph<\/a> who was cursed to only repeat words that were spoken to her. Each piece of content that was transcribed would be turned into an \u201cEcho\u201d.<\/p>\n<p>&nbsp;<\/p>\n<h4 style=\"text-align: center;\">. . .<\/h4>\n<p>&nbsp;<\/p>\n<h2>Creating an App from a Model<\/h2>\n<p>If you have worked at a startup before, you know that time is the most valuable resource. The faster you can take your great idea and turn it into a working prototype, the faster you can show it off to potential investors or customers.<\/p>\n<p>With that in mind, our first goal was to validate that the Whisper model works and can be embedded into an app. The Whisper model runs much faster on a machine with a GPU. The Lightning Framework provides the perfect abstraction to run models and other compute-intensive workloads, <a href=\"https:\/\/lightning.ai\/docs\/stable\/core_api\/lightning_work\/\">called a \u201cWork\u201d<\/a> (<code>LightningWork<\/code> in Python). All we need to do was to create a subclass of <code>LightningWork<\/code> , and copy the Whisper sample code into its <code>run()<\/code> method:<\/p>\n<script src=\"https:\/\/gist.github.com\/23c127cbe8e097020bf66eb1acce9536.js\"><\/script>\n<p>&nbsp;<\/p>\n<p>That\u2019s all the code we need to use the Whisper model in our app! Now we just need to use this Work component in our app, which only takes a few lines of code:<\/p>\n<script src=\"https:\/\/gist.github.com\/532ed5aebee030980bab8035e71e45ef.js\"><\/script>\n<p>&nbsp;<\/p>\n<p>After running the app locally using <code>lightning run app [app.py]<\/code>\u00a0and verifying that it works, we can run it in the cloud and have the <code>SpeechRecognizer<\/code> Work run on a GPU by just adding <code>--cloud<\/code>: <code>lightning run app --cloud app.py<\/code>.<\/p>\n<p>Within a few minutes, we have already created the building blocks of a speech recognition app that can be shown to potential investors or customers of our theoretical startup.<\/p>\n<p>&nbsp;<\/p>\n<h4 style=\"text-align: center;\">. . .<\/h4>\n<p>&nbsp;<\/p>\n<h2>Rapid Feature Development Phase<\/h2>\n<p>Now that we\u2019ve validated the core app idea, we can start building out features and take the app beyond just a demo into a <strong>real product<\/strong>. The Lightning Framework enabled a fast development cycle in the following ways.<\/p>\n<p>&nbsp;<\/p>\n<h3>Lightning Commands<\/h3>\n<p>The Lightning Framework provides a <a href=\"https:\/\/lightning.ai\/docs\/stable\/workflows\/build_command_line_interface\/\">convenient way to generate a command-line interface (CLI) for your app<\/a>, which acts as an alternative to a conventional React UI. <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/82795f7aac65fecb7ceb9bf42229aaa6b460bc9a\/app.py#L359\">We used this extensively<\/a> to prototype and test new features of the app before we were ready to commit to building the frontend. CLI commands are generated by overriding the <code>configure_commands()<\/code> method:<\/p>\n<script src=\"https:\/\/gist.github.com\/a1d8a9945b2c8a2cc6ac4138cee435b3.js\"><\/script>\n<p>&nbsp;<\/p>\n<p>We then connect to our app via the Lightning CLI and invoke the commands we just defined:<\/p>\n<div id=\"attachment_5646870\" style=\"width: 960px\" class=\"wp-caption alignnone\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-5646870\" class=\"wp-image-5646870 size-full\" src=\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Invoke-Commands.png\" alt=\"Invoke commands via the Lightning CLI to deploy OpenAI Whisper\" width=\"950\" height=\"214\" srcset=\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Invoke-Commands.png 950w, https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Invoke-Commands-300x68.png 300w, https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Invoke-Commands-300x68@2x.png 600w\" sizes=\"(max-width: 950px) 100vw, 950px\" \/><p id=\"caption-attachment-5646870\" class=\"wp-caption-text\">Connect app via Lightning CLI and invoke commands<\/p><\/div>\n<p>&nbsp;<\/p>\n<h3>Generating a REST API<\/h3>\n<p>Once we were ready to start writing some React, we needed a way to communicate with the Python backend. REST APIs are commonly used for this purpose, which is why the Lightning Framework provides a <a href=\"https:\/\/lightning.ai\/docs\/stable\/workflows\/build_rest_api\/\">way to generate one for your app, complete with an OpenAPI definition for automatic JavaScript\/TypeScript client generation (using FastAPI)<\/a>. <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/82795f7aac65fecb7ceb9bf42229aaa6b460bc9a\/app.py#L348\">We were able to reuse all the logic<\/a> from our <code>configure_commands()<\/code> by overriding the <code>configure_api()<\/code> method, then take the OpenAPI definition\u00a0to <a href=\"https:\/\/github.com\/ferdikoomen\/openapi-typescript-codegen\/tree\/853f0f5acf39e742bf5b4c6c324c3ac131177d25\">generate our TypeScript client instead of writing it by hand<\/a>, which takes time and can have hard-to-find bugs.<\/p>\n<script src=\"https:\/\/gist.github.com\/d7aab722e75f4c0499990b032dfd915e.js\"><\/script>\n<p>&nbsp;<\/p>\n<p>With our generated API client, it was straightforward to use <a href=\"https:\/\/tanstack.com\/query\/v4\/docs\/overview\"><code>[react-query]<\/code><\/a>\u00a0to write some data fetching hooks and we were free to build out several cool features of the app, which you can <a href=\"https:\/\/lightning.ai\/echo\">check out here<\/a>!<\/p>\n<p>&nbsp;<\/p>\n<h4 style=\"text-align: center;\">. . .<\/h4>\n<p>&nbsp;<\/p>\n<h2>Adding Enterprise Features<\/h2>\n<p>Since we were building an app that was targeting enterprise use-cases, our app needed some features that these customers have come to expect. <a href=\"https:\/\/lightning.ai\/docs\/stable\/\">The Lightning Framework<\/a> makes these easy and quick to implement. Below are just a few highlights of some enterprise features in Echo.<\/p>\n<p>&nbsp;<\/p>\n<h3>Handling Scale<\/h3>\n<p>To handle processing multiple Echoes at a time, having more than one <code>SpeechRecognizer<\/code> Work running was necessary. However, GPU Works cost money, and we only want to run them if the load on our app is high enough. I made a <code><a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/82795f7aac65fecb7ceb9bf42229aaa6b460bc9a\/echo\/components\/loadbalancing\/loadbalancer.py#L21\">[LoadBalancer]<\/a><\/code>\u00a0component which handles autoscaling up\/down the number of Works and distributing the load evenly across them. Normally, load balancing and autoscaling are boring chores that developers have to do using ugly infrastructure-specific templates (no one likes writing YAML). But with the Lightning Framework, it was surprisingly fun to implement a <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/main\/echo\/components\/loadbalancing\/loadbalancer.py\">load balancing algorithm in just a few lines of pure Python<\/a>!<\/p>\n<p>&nbsp;<\/p>\n<h3>Configuration using Environment Variables and Secrets<\/h3>\n<p>Being able to change the behavior of your app without changing the code is known as configuration. Here are just a few things that can be configured in the Echo app:<\/p>\n<ul>\n<li>Minimum number of <code>SpeechRecognizer<\/code> Works (for autoscaling)<\/li>\n<li>Which media sources are enabled (YouTube, device microphone, file upload)\n<ul>\n<li>In our hosted app, you will notice that file upload is disabled. This is done using an environment variable! If you run the app yourself, you can enable this feature.<\/li>\n<\/ul>\n<\/li>\n<li>Maximum YouTube video duration allowed<\/li>\n<li>Maximum number of Echoes per user<\/li>\n<\/ul>\n<p>The full list of each configuration option, its associated environment variable name, and the default value can be found <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App#configuration\">here<\/a>. Lightning Apps support both <a href=\"https:\/\/lightning.ai\/docs\/stable\/glossary\/environment_variables.html#environment-variables\">environment variables<\/a> and <a href=\"https:\/\/lightning.ai\/docs\/stable\/glossary\/secrets.html\">secrets<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<h3>Exception Monitoring with Sentry<\/h3>\n<p>Uncaught Python exceptions are annoying when running locally, but can be disastrous for a production app running in the cloud with many users. Tools like <a href=\"https:\/\/sentry.io\">Sentry<\/a> help us <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/82795f7aac65fecb7ceb9bf42229aaa6b460bc9a\/app.py#L92\">monitor exceptions<\/a> in both the backend and frontend so that we can fix them quickly. This is optional but highly recommended for production apps.<\/p>\n<p>&nbsp;<\/p>\n<h3>Easy Deployment using GitHub Workflow<\/h3>\n<p>We were able to create a one-click deploy experience to <a href=\"http:\/\/lightning.ai\">lightning.ai<\/a> using a simple <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\/blob\/main\/.github\/workflows\/deploy.yaml\">GitHub Workflow<\/a> that just calls <code>lightning run app --cloud [app.py]<\/code>. Use it as inspiration for your own app\u2019s CI\/CD!<\/p>\n<p>&nbsp;<\/p>\n<h4 style=\"text-align: center;\">. . .<\/h4>\n<p>&nbsp;<\/p>\n<h2>Next Steps<\/h2>\n<p>There are still so many ideas for features we could add to Echo, but we wanted to launch a minimal version to users before we decided to add anything else. The <a href=\"https:\/\/github.com\/Lightning-AI\/LAI-Echo-App\">source code is available on GitHub<\/a>, and we hope that people will be inspired to fork the app and customize it with their own code. Here are some possible feature ideas if you need inspiration:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/openai\/whisper\/discussions\/2\">Real-time transcription via streaming<\/a><\/li>\n<li>Email\/Slack\/SMS notification when your transcription completes<\/li>\n<li>Detecting different speakers in the audio and displaying them in a different color<\/li>\n<\/ul>\n<p>I hope that I have managed to show you how fast a single developer can take the next hyped ML model and turn it into a real product in just a few weeks using the Lightning Framework. I\u2019m excited to see what you build!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A New ML Model, a New Startup Opportunity &#8212; give Echo, our free transcription app powered by OpenAI&#8217;s Whisper, a try! &nbsp; Times are moving fast in the machine learning space. Just a short while ago, OpenAI released Whisper, a general-purpose speech recognition model. Not only did they open-source the model code, they also provided<a class=\"excerpt-read-more\" href=\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\" title=\"ReadDeploy OpenAI Whisper as a Cloud Product\">&#8230; Read more &raquo;<\/a><\/p>\n","protected":false},"author":16,"featured_media":5646917,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[41],"tags":[96,122,124,97,123,125,126],"glossary":[],"acf":{"additional_authors":false,"hide_from_archive":false,"content_type":"Blog Post","custom_styles":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Deploy OpenAI Whisper as a Cloud Product<\/title>\n<meta name=\"description\" content=\"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Deploy OpenAI Whisper as a Cloud Product\" \/>\n<meta property=\"og:description\" content=\"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\" \/>\n<meta property=\"og:site_name\" content=\"Lightning AI\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-08T13:00:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-03-07T22:21:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1740\" \/>\n\t<meta property=\"og:image:height\" content=\"900\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"JP Hennessy\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@LightningAI\" \/>\n<meta name=\"twitter:site\" content=\"@LightningAI\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"JP Hennessy\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\"},\"author\":{\"name\":\"JP Hennessy\",\"@id\":\"https:\/\/lightning.ai\/pages\/#\/schema\/person\/2518f4d5541f8e98016f6289169141a6\"},\"headline\":\"Deploy OpenAI Whisper as a Cloud Product\",\"datePublished\":\"2022-12-08T13:00:17+00:00\",\"dateModified\":\"2023-03-07T22:21:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\"},\"wordCount\":1346,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/lightning.ai\/pages\/#organization\"},\"image\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png\",\"keywords\":[\"ai\",\"ai app\",\"build ai app\",\"ml\",\"ml app\",\"openai\",\"whisper\"],\"articleSection\":[\"Tutorials\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\",\"url\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\",\"name\":\"Deploy OpenAI Whisper as a Cloud Product\",\"isPartOf\":{\"@id\":\"https:\/\/lightning.ai\/pages\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png\",\"datePublished\":\"2022-12-08T13:00:17+00:00\",\"dateModified\":\"2023-03-07T22:21:14+00:00\",\"description\":\"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.\",\"breadcrumb\":{\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage\",\"url\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png\",\"contentUrl\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png\",\"width\":1740,\"height\":900},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/lightning.ai\/pages\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Deploy OpenAI Whisper as a Cloud Product\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/lightning.ai\/pages\/#website\",\"url\":\"https:\/\/lightning.ai\/pages\/\",\"name\":\"Lightning AI\",\"description\":\"The platform for teams to build AI.\",\"publisher\":{\"@id\":\"https:\/\/lightning.ai\/pages\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/lightning.ai\/pages\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/lightning.ai\/pages\/#organization\",\"name\":\"Lightning AI\",\"url\":\"https:\/\/lightning.ai\/pages\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lightning.ai\/pages\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2023\/02\/image-17.png\",\"contentUrl\":\"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2023\/02\/image-17.png\",\"width\":1744,\"height\":856,\"caption\":\"Lightning AI\"},\"image\":{\"@id\":\"https:\/\/lightning.ai\/pages\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/x.com\/LightningAI\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/lightning.ai\/pages\/#\/schema\/person\/2518f4d5541f8e98016f6289169141a6\",\"name\":\"JP Hennessy\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/lightning.ai\/pages\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/28ade268218ae45f723b0b62499f527a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/28ade268218ae45f723b0b62499f527a?s=96&d=mm&r=g\",\"caption\":\"JP Hennessy\"},\"url\":\"https:\/\/lightning.ai\/pages\/author\/jplightning-ai\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Deploy OpenAI Whisper as a Cloud Product","description":"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/","og_locale":"en_US","og_type":"article","og_title":"Deploy OpenAI Whisper as a Cloud Product","og_description":"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.","og_url":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/","og_site_name":"Lightning AI","article_published_time":"2022-12-08T13:00:17+00:00","article_modified_time":"2023-03-07T22:21:14+00:00","og_image":[{"width":1740,"height":900,"url":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png","type":"image\/png"}],"author":"JP Hennessy","twitter_card":"summary_large_image","twitter_creator":"@LightningAI","twitter_site":"@LightningAI","twitter_misc":{"Written by":"JP Hennessy","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#article","isPartOf":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/"},"author":{"name":"JP Hennessy","@id":"https:\/\/lightning.ai\/pages\/#\/schema\/person\/2518f4d5541f8e98016f6289169141a6"},"headline":"Deploy OpenAI Whisper as a Cloud Product","datePublished":"2022-12-08T13:00:17+00:00","dateModified":"2023-03-07T22:21:14+00:00","mainEntityOfPage":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/"},"wordCount":1346,"commentCount":0,"publisher":{"@id":"https:\/\/lightning.ai\/pages\/#organization"},"image":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage"},"thumbnailUrl":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png","keywords":["ai","ai app","build ai app","ml","ml app","openai","whisper"],"articleSection":["Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/","url":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/","name":"Deploy OpenAI Whisper as a Cloud Product","isPartOf":{"@id":"https:\/\/lightning.ai\/pages\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage"},"image":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage"},"thumbnailUrl":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png","datePublished":"2022-12-08T13:00:17+00:00","dateModified":"2023-03-07T22:21:14+00:00","description":"Learn how to build an end-to-end AI app and deploy OpenAI Whisper (or any machine learning model) using the Lightning Framework.","breadcrumb":{"@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#primaryimage","url":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png","contentUrl":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2022\/11\/Echo-B.png","width":1740,"height":900},{"@type":"BreadcrumbList","@id":"https:\/\/lightning.ai\/pages\/community\/tutorial\/deploy-openai-whisper\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lightning.ai\/pages\/"},{"@type":"ListItem","position":2,"name":"Deploy OpenAI Whisper as a Cloud Product"}]},{"@type":"WebSite","@id":"https:\/\/lightning.ai\/pages\/#website","url":"https:\/\/lightning.ai\/pages\/","name":"Lightning AI","description":"The platform for teams to build AI.","publisher":{"@id":"https:\/\/lightning.ai\/pages\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lightning.ai\/pages\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lightning.ai\/pages\/#organization","name":"Lightning AI","url":"https:\/\/lightning.ai\/pages\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lightning.ai\/pages\/#\/schema\/logo\/image\/","url":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2023\/02\/image-17.png","contentUrl":"https:\/\/lightningaidev.wpengine.com\/wp-content\/uploads\/2023\/02\/image-17.png","width":1744,"height":856,"caption":"Lightning AI"},"image":{"@id":"https:\/\/lightning.ai\/pages\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/LightningAI"]},{"@type":"Person","@id":"https:\/\/lightning.ai\/pages\/#\/schema\/person\/2518f4d5541f8e98016f6289169141a6","name":"JP Hennessy","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lightning.ai\/pages\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/28ade268218ae45f723b0b62499f527a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/28ade268218ae45f723b0b62499f527a?s=96&d=mm&r=g","caption":"JP Hennessy"},"url":"https:\/\/lightning.ai\/pages\/author\/jplightning-ai\/"}]}},"_links":{"self":[{"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/posts\/5646869"}],"collection":[{"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/comments?post=5646869"}],"version-history":[{"count":0,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/posts\/5646869\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/media\/5646917"}],"wp:attachment":[{"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/media?parent=5646869"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/categories?post=5646869"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/tags?post=5646869"},{"taxonomy":"glossary","embeddable":true,"href":"https:\/\/lightning.ai\/pages\/wp-json\/wp\/v2\/glossary?post=5646869"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}