<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Deepgram</title>
    <description>The latest articles on DEV Community by Deepgram (@deepgram).</description>
    <link>https://dev.to/deepgram</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Forganization%2Fprofile_image%2F4019%2Fb921b72d-3c60-425e-a223-189a5fce8839.jpg</url>
      <title>DEV Community: Deepgram</title>
      <link>https://dev.to/deepgram</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/deepgram"/>
    <language>en</language>
    <item>
      <title>Introducing Deepgram Starter Apps</title>
      <dc:creator>@lukeocodes 🕹👨‍💻</dc:creator>
      <pubDate>Tue, 18 Apr 2023 11:15:06 +0000</pubDate>
      <link>https://dev.to/deepgram/introducing-deepgram-starter-apps-33m5</link>
      <guid>https://dev.to/deepgram/introducing-deepgram-starter-apps-33m5</guid>
      <description>&lt;p&gt;Deepgram aims to make world-class language AI available to any developer through just an API call. With today’s launch of Deepgram Starter Apps, it’s even easier to start building applications which take real-time and prerecorded audio data and transform them into transcripts enriched with natural language understanding metadata.&lt;/p&gt;

&lt;p&gt;Put simply, we help developers build quickly because we’ve already taken care of integrating Deepgram into Starter Apps. Whether you've been coding for decades or just passed CS50, Deepgram's Starter apps provide all users with a seamless and efficient onboarding experience.&lt;/p&gt;

&lt;h3&gt;
  
  
  JavaScript Starter
&lt;/h3&gt;

&lt;p&gt;The JavaScript Starter is the first arrival from the collection and provides developers with a pre-built Deepgram integration on Node.js, with a React frontend, to quickly get started with the Deepgram platform. With the JavaScript Starter, all developers can rapidly explore what Deepgram's platform can do.&lt;/p&gt;

&lt;p&gt;Check out our &lt;a href="https://github.com/deepgram-starters/deepgram-javascript-starters" rel="noopener noreferrer"&gt;JavaScript Starter Apps on Github&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Python Starter
&lt;/h3&gt;

&lt;p&gt;The Python Starter is our follow up to the collection and provides developers with a pre-built Flask integration with Deepgram. Presently, there is a static frontend to interact with the Flask server.&lt;/p&gt;

&lt;p&gt;Check out our &lt;a href="https://github.com/deepgram-starters/deepgram-python-starters" rel="noopener noreferrer"&gt;Python Starter Apps on Github&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  New transcription models included
&lt;/h2&gt;

&lt;p&gt;Deepgram introduces two new models this week. These are available to try out immediately in our new Starter applications.&lt;/p&gt;

&lt;h3&gt;
  
  
  Deepgram Nova
&lt;/h3&gt;

&lt;p&gt;On April 13th, 2023, we announced Deepgram Nova, a cutting-edge Automatic Speech Recognition (ASR) system. Deepgram Nova achieves unprecedented performance, beating competitors in speed, accuracy, and efficiency.&lt;/p&gt;

&lt;h3&gt;
  
  
  Whisper Cloud
&lt;/h3&gt;

&lt;p&gt;Alongside Deepgram Nova’s release, we announced Deepgram Whisper Cloud. Following last month's release of OpenAI's Whisper API, we noticed its popularity, despite its limitations. We've developed our own fully managed Whisper API to address those limitations.&lt;/p&gt;

&lt;p&gt;Read more about our &lt;a href="https://blog.deepgram.com/nova-speech-to-text-whisper-api/" rel="noopener noreferrer"&gt;Deepgram Nova and Deepgram Whisper Cloud release here&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Read more
&lt;/h2&gt;

&lt;p&gt;Read more about our new opensource projects in our latest post, &lt;a href="https://blog.deepgram.com/introducing-the-deepgram-starter-apps/" rel="noopener noreferrer"&gt;Introducing Deepgram Starter Apps&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>news</category>
      <category>ai</category>
      <category>python</category>
      <category>deepgram</category>
    </item>
    <item>
      <title>How to Add Speech AI Into Your Next.js App</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Thu, 16 Feb 2023 18:15:00 +0000</pubDate>
      <link>https://dev.to/deepgram/how-to-add-speech-ai-into-your-nextjs-app-491b</link>
      <guid>https://dev.to/deepgram/how-to-add-speech-ai-into-your-nextjs-app-491b</guid>
      <description>&lt;p&gt;I am a podcast addict. I admit it. From the moment I wake up, I have my headphones in my ears. But there are some times when it would be frowned upon to be listening to a podcast while in a room full of others. In some of those cases, it would not be frowned upon to look at my phone. So as a compromise, I could grab the transcript of my favorite podcast and read it while in those situations. I know I’m not the only one who’s done that. From the desire to get away with podcast listening, I put together a basic Next.js and Deepgram web app that allows the user to submit a link to audio, which is then transcribed using Deepgram, and output in the browser. If you too want to get away with reading your podcast, check out the tutorial below. &lt;/p&gt;

&lt;h2&gt;
  
  
  Getting Started with Repl.it, Next, and Deepgram
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Prerequisites&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Understanding of JavaScript and React&lt;/li&gt;
&lt;li&gt;Familiarity of &lt;a href="https://reactjs.org/docs/hooks-intro.html" rel="noopener noreferrer"&gt;hooks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Understanding of HTML and CSS
For this project, I worked with Repl.it, an instant IDE that runs in the browser. You can find the final project on my &lt;a href="https://replit.com/@BekahHW/Next-Deepgram" rel="noopener noreferrer"&gt;Next + DG Repl&lt;/a&gt; and this tutorial will explain how to utilize Repl to create your project.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To complete this project, you’ll need:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;a href="https://replit.com/" rel="noopener noreferrer"&gt;Repl.it account&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;A Deepgram API Key - &lt;a href="https://console.deepgram.com/signup?jump=keys" rel="noopener noreferrer"&gt;get it here&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Getting Started with Next.js
&lt;/h2&gt;

&lt;p&gt;Create a new Repl using the Next.js template.  This will give you the basic Next file structure and provide access to the Next.js built-in features. If you’d like to learn more about Next.js, check out the &lt;a href="https://nextjs.org/learn/foundations/about-nextjs" rel="noopener noreferrer"&gt;Foundations section&lt;/a&gt; of their site. &lt;/p&gt;

&lt;p&gt;For this project, we’ll be working in the &lt;code&gt;pages&lt;/code&gt; folder in the index.tsx file and within the &lt;code&gt;api&lt;/code&gt; folder. &lt;/p&gt;

&lt;p&gt;We’re going to keep it simple and add our new code to the existing template. You’ll notice that I’ve made some updates in my Repl to link to Deepgram’s &lt;a href="https://developers.deepgram.com/documentation/" rel="noopener noreferrer"&gt;documentation&lt;/a&gt;, &lt;a href="https://blog.deepgram.com/" rel="noopener noreferrer"&gt;blog&lt;/a&gt;, and &lt;a href="https://github.com/orgs/deepgram/discussions" rel="noopener noreferrer"&gt;community&lt;/a&gt;, but our code to transcribe the audio will go above that. &lt;br&gt;
Let’s get started. In the &lt;code&gt;index.tsx&lt;/code&gt; file, we’ll need to create an input for the audio file link, add some &lt;code&gt;useState&lt;/code&gt; hooks to handle the submission, transcription, and formatting, and we’ll need a transcribe function. In the &lt;code&gt;api&lt;/code&gt; folder, we’ll need to add the server side code to handle the request to Deepgram. Lastly, we need to utalize Repl’s Secrets feature to handle our Deepgram API key.&lt;/p&gt;

&lt;p&gt;The code you posted is a React.js application that uses the Deepgram API to transcribe audio files. The user inputs a link to the audio file in a form, and then the app sends a request to the API to transcribe the file. The transcript is then displayed on the page with a &lt;code&gt;useEffect&lt;/code&gt; hook that splits the transcript into individual lines and maps over them, rendering them in separate paragraphs.&lt;/p&gt;

&lt;p&gt;Let’s get started with the front-end code in the &lt;code&gt;index.tsx&lt;/code&gt; file. At the top of the file, import the required dependencies that aren’t included: React's &lt;code&gt;useState&lt;/code&gt; and &lt;code&gt;useEffect&lt;/code&gt;  hooks.&lt;br&gt;
Before the resources, add a form input for the audio file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;form&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;label&lt;/span&gt; &lt;span class="nx"&gt;htmlFor&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;audio-file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Link&lt;/span&gt; &lt;span class="nx"&gt;to&lt;/span&gt; &lt;span class="nx"&gt;Audio&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/label&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;input&lt;/span&gt; &lt;span class="nx"&gt;onChange&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nf"&gt;setFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;e&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;target&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)}&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;audio-file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;audio-file&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="nx"&gt;required&lt;/span&gt; &lt;span class="o"&gt;/&amp;gt;&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;button&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="nx"&gt;onClick&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;transcribe&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;button&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;Transcribe&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/button&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/form&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To get this to work, we need to add a hook for &lt;code&gt;setFile&lt;/code&gt;. On line 8, add &lt;code&gt;const [file, setFile] = useState(' ');&lt;/code&gt;&lt;br&gt;
This will allow our application to keep track of the url to the audio file. Now we need to use that audio file and transcribe it. Grab your API key, and add that into your Repl Secrets. &lt;/p&gt;

&lt;p&gt;We’re going to do some going back and forth between files here. Let’s start by creating a new file in our &lt;code&gt;api&lt;/code&gt; folder called &lt;code&gt;transcribe.tsx&lt;/code&gt;. This will be the path to deal with our server side logic and to utilize our API key. According to the &lt;a href="https://nextjs.org/docs/api-routes/introduction" rel="noopener noreferrer"&gt;Next.js documentation on API routes&lt;/a&gt;, “Any file inside the folder pages/api is mapped to /api/* and will be treated as an API endpoint instead of a page. They are server-side only bundles and won't increase your client-side bundle size.”&lt;/p&gt;

&lt;p&gt;We’re going to create an async function to handle the incoming request and the response sent back to the client.&lt;br&gt;
We’ll start by adding the DeepGram API key from the environment variables.&lt;/p&gt;

&lt;p&gt;Next, we’ll use destructuring to extract the url from the parsed body of the incoming request--which we find in req.body. Now we’ll make a fetch request to make a POST request to the Deepgram API endpoint. We await the response from the API, convert to JSON format, and send it back to the client as the response.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;export&lt;/span&gt; &lt;span class="k"&gt;default&lt;/span&gt; &lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;handler&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="c1"&gt;// Get data submitted in request's body.&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;mySecret&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;env&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;DG_API_KEY&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;url&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;req&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;body&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

 &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;https://api.deepgram.com/v1/listen?tier=enhanced&amp;amp;punctuate=true&amp;amp;paragraphs=true&amp;amp;diarize=true&amp;amp;keywords=Bekah:2&amp;amp;keywords=Hacktoberfest:2&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;headers&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Authorization&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Token &lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;mySecret&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
          &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Content-Type&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;application/json&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;},&lt;/span&gt;
        &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
&lt;span class="nx"&gt;url&lt;/span&gt;        &lt;span class="p"&gt;})&lt;/span&gt;
      &lt;span class="p"&gt;});&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;json&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; 
  &lt;span class="nx"&gt;res&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;status&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;json&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Notice in the API call, we include &lt;code&gt;&amp;amp;punctuate=true&amp;amp;paragraphs=true&amp;amp;diarize=true&lt;/code&gt;. Because we want to use an example where there is more than one person on the podcast, and we want to make it readable, we add these properties. Diarization allows the transcript to be broken down into different speakers. Now that the server-side code is set up, let’s connect it to our &lt;code&gt;index.tsx&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Below the &lt;code&gt;setFile&lt;/code&gt; hook, let’s create a &lt;code&gt;transcribe&lt;/code&gt; function. We need to connect to our api route, which is &lt;code&gt;api/transcribe&lt;/code&gt;, send the &lt;code&gt;file&lt;/code&gt; , get the response back with our transcription, and store that transcript in a new hook that we’ll call &lt;code&gt;setTranscription&lt;/code&gt;, so we can render it on the page. Here’s what the will look like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt; &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;transcribe&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;async &lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nf"&gt;fetch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;/api/transcribe&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="na"&gt;method&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;POST&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;stringify&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
          &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;url&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;file&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="p"&gt;})&lt;/span&gt;
      &lt;span class="p"&gt;});&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;received&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;response&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;json&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
            &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;JSON&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;received&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;transcription&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;data&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;results&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;channels&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;alternatives&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;].&lt;/span&gt;&lt;span class="nx"&gt;paragraphs&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;transcript&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
      &lt;span class="nf"&gt;setTranscription&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now we need to handle how the text is displayed on the page. To decrease confusion, we should display a new line everytime the speaker changes. To do that, we’re going to create a new useState hook called &lt;code&gt;lines&lt;/code&gt; and implement some logic to break the speakers into different lines. We’ll conditionally render a div if there’s a transcript. Here’s the code to handle this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;  &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;setLines&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;useState&lt;/span&gt;&lt;span class="p"&gt;([]);&lt;/span&gt;

 &lt;span class="nf"&gt;useEffect&lt;/span&gt;&lt;span class="p"&gt;(()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nf"&gt;setLines&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;split&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;.&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;));&lt;/span&gt;
  &lt;span class="p"&gt;},&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nx"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;]);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here’s the &lt;code&gt;html&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;transcription&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt;  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="nx"&gt;className&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;styles&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;transcript&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="nx"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;new-transcription&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;lines&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;map&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
        &lt;span class="k"&gt;if &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;startsWith&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Speaker 0:&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
          &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt; &lt;span class="nx"&gt;key&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;index&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="nx"&gt;line&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/p&lt;/span&gt;&lt;span class="err"&gt;&amp;gt;
&lt;/span&gt;        &lt;span class="p"&gt;}&lt;/span&gt;
      &lt;span class="p"&gt;})}&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="sr"&gt;/div&amp;gt;&lt;/span&gt;&lt;span class="err"&gt;}
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you want to try it out, you can use this &lt;a href="https://www.buzzsprout.com/1976304/11410388-whisper-by-openai-everything-you-need-to-know-about-the-latest-in-open-source-speech-recognition.mp3" rel="noopener noreferrer"&gt;sample audio&lt;/a&gt;. At this point, our Next.js + Deepgram project should allow you to turn audio files into transcripts. Happy listening!&lt;/p&gt;

</description>
      <category>gratitude</category>
      <category>career</category>
      <category>productivity</category>
    </item>
    <item>
      <title>ChatGPT vs. Bard: What Can We Expect?</title>
      <dc:creator>Jose Francisco</dc:creator>
      <pubDate>Thu, 16 Feb 2023 04:23:35 +0000</pubDate>
      <link>https://dev.to/deepgram/chatgpt-vs-bard-what-can-we-expect-9cm</link>
      <guid>https://dev.to/deepgram/chatgpt-vs-bard-what-can-we-expect-9cm</guid>
      <description>&lt;p&gt;Big tech just dropped some big news: Google is soon releasing its own ChatGPT-like large language model (LLM) called &lt;a href="https://blog.google/technology/ai/bard-google-ai-search-updates/" rel="noopener noreferrer"&gt;Bard&lt;/a&gt;. And now &lt;a href="https://www.reuters.com/technology/bard-vs-chatgpt-what-do-we-know-about-googles-ai-chatbot-2023-02-07/" rel="noopener noreferrer"&gt;many are beginning to speculate&lt;/a&gt; about what exactly this AI battle is going to look like. Will the newcomer Bard dominate our reigning champion, ChatGPT? Or will the incumbent conversational AI model defend its crown? It's a real Rocky vs. Creed story. But honestly it's hard to tell which AI is the main character. To each, the other is a worthy opponent.&lt;/p&gt;

&lt;p&gt;But here's what we can expect. Here, we'll take a look at how these models were trained (pun intended) and then examine their build (again, pun intended). By the end, we might be able to determine which model is the underdog and which is the public's favorite. 🥊&lt;/p&gt;

&lt;h2&gt;
  
  
  Their training...
&lt;/h2&gt;

&lt;p&gt;Just like boxers, AI models have to train before they can show their skills to the public. Both ChatGPT and Bard have unique training styles. Specifically, ChatGPT runs on a GPT-3.5 model while Bard runs on LaMDA.&lt;/p&gt;

&lt;p&gt;But what does that mean?&lt;/p&gt;

&lt;p&gt;Well, we can think of GPT-3.5 as ChatGPT's "brain" while LaMDA is Bard's. The main commonality between them is the fact that they are both built on Transformers. Now, transformers are quite a hefty topic, so if you'd like to do a deep-dive, read our definitive guide on transformers &lt;a href="https://blog.deepgram.com/visualizing-and-explaining-transformer-models-from-the-ground-up/" rel="noopener noreferrer"&gt;here&lt;/a&gt;. But for our purposes here, the only thing you have to know about transformers is that they allow these language models to "read" human writing, to pay &lt;a href="https://arxiv.org/abs/1706.03762" rel="noopener noreferrer"&gt;attention&lt;/a&gt; to how the words in such writing relate to one another, and to predict what words will come next based on the words that came ___.&lt;/p&gt;

&lt;p&gt;(If you can fill in the blank above, you think like a Transformer-based AI language model. Or, more properly, the model thinks like you 😉)&lt;/p&gt;

&lt;p&gt;Okay, so we know that both ChatGPT and LaMDA have neural net "brains" that can read. But as far as we know, that's where the commonalities end. Now come the differences. Mainly, they differ in what they read.&lt;/p&gt;

&lt;p&gt;OpenAI has been relatively secretive about what dataset GPT-3.5 was trained on. But we do know that GPT-2 and GPT-3 were both trained at least in part on &lt;a href="https://pile.eleuther.ai/" rel="noopener noreferrer"&gt;The Pile&lt;/a&gt;---a dataset that contains multiple, complete fiction and non-fiction books, texts from Github, all of Wikipedia, StackExchange, PubMed, and much more. As a result, we can assume that GPT-3.5 has at least a little bit of The Pile within its metaphorical gears as well. And &lt;a href="https://arxiv.org/pdf/2101.00027.pdf" rel="noopener noreferrer"&gt;this dataset is &lt;/a&gt;&lt;em&gt;massive&lt;/em&gt;, weighing in at a little over 825 gigabytes of raw text.&lt;/p&gt;

&lt;p&gt;Check out the contents of The Pile below (&lt;a href="https://arxiv.org/pdf/2101.00027.pdf" rel="noopener noreferrer"&gt;source&lt;/a&gt;):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanb6mek7p5f59vpg4igl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fanb6mek7p5f59vpg4igl.png" alt=" " width="800" height="537"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But here's the rub: &lt;em&gt;Conversational language is not the same as written language&lt;/em&gt;. An author may write rhapsodically but come off as curt in one-on-one conversation. Likewise, the way that &lt;em&gt;I&lt;/em&gt; am writing in this article is different from the way I'd speak if you were in the same room as me. As a result, OpenAI couldn't just release GPT-3.5 under the alias "ChatGPT" and call it a day. Rather, &lt;a href="https://openai.com/blog/openai-baselines-ppo/" rel="noopener noreferrer"&gt;OpenAI needed to&lt;/a&gt; &lt;em&gt;fine-tune&lt;/em&gt; GPT-3.5 on conversational texts to create ChatGPT. &lt;/p&gt;

&lt;p&gt;That is, OpenAI literally had humans roleplay with themselves---acting both as an AI assistant and its user through a process known as reinforcement learning from human feedback (RLHF). Then, after enough of these conversations were constructed, they were fed to GPT-3.5. And after enough exposure to conversational dialogue, ChatGPT emerged. You can read about this fine-tuning process in more detail under the "Methods" section of &lt;a href="https://openai.com/blog/chatgpt/#:~:text=We%20trained%20an%20initial%20model%20using%20supervised%20fine%2Dtuning%3A%20human%20AI%20trainers%20provided%20conversations%20in%20which%20they%20played%20both%20sides%E2%80%94the%20user%20and%20an%20AI%20assistant." rel="noopener noreferrer"&gt;OpenAI's blog on ChatGPT&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And this is where some may feel that Bard has an edge. See, LaMDA wasn't trained on The Pile. Rather, LaMDA specialized in reading dialogue from the get-go. It didn't read books; it's patterned on the pace and patois of conversation. As a result, Bard's brain picked up on the details that distinguish open-ended conversation from other forms of communication.&lt;/p&gt;

&lt;p&gt;For example, an article like this one focuses on a single topic the whole time over the period of around 1,200-1,300 words. Meanwhile, a conversation of the same word-count may shift from "How are you doing?" to "Oh my goodness, no way" to "I love that song, have you heard the album yet?" to "Wait, my boyfriend's calling. One sec."&lt;/p&gt;

&lt;p&gt;In other words, whereas ChatGPT's brain first learned to read novels, research papers, code, and Wikipedia before it learned how to have a human-like conversation, Bard's brain learned nothing but conversation. Does this mean that Bard is going to be a better conversationalist than ChatGPT? Well, we're going to have to talk to it to find out.&lt;/p&gt;

&lt;h2&gt;
  
  
  Their build 💪🧠
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://blog.google/technology/ai/bard-google-ai-search-updates/#:~:text=We%E2%80%99re%20releasing%20it%20initially%20with%20our%20lightweight%20model%20version%20of%20LaMDA." rel="noopener noreferrer"&gt;Google's CEO states&lt;/a&gt; that, at least to start, Bard is backed by a lightweight version of the LaMDA model. But does that mean Bard is going to be in a lower weight class than ChatGPT?&lt;/p&gt;

&lt;p&gt;Not necessarily.&lt;/p&gt;

&lt;p&gt;The stats would indicate that both these models are in the same weight class. Take a look:&lt;/p&gt;

&lt;h3&gt;
  
  
  🪙 Tokens 🪙
&lt;/h3&gt;

&lt;p&gt;For our purposes, think of tokens as word fragments. For instance, the word "reorganizing" can be broken down into three tokens: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;"re" → a prefix meaning "again", &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;"organiz" → the root of the word "organize"&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;"ing" → a suffix that denotes a gerund or present participle&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Check out the image below to see more examples of tokenized word fragments:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fii2py9wi6mn9c93ep29u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fii2py9wi6mn9c93ep29u.png" alt=" " width="800" height="761"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;See, GPT-3 and GPT-3.5 were trained on something to the order of &lt;a href="https://lifearchitect.ai/chatgpt/" rel="noopener noreferrer"&gt;300-400 billion tokens&lt;/a&gt;. LaMDA, on the other hand, was trained on &lt;a href="https://ai.googleblog.com/2022/01/lamda-towards-safe-grounded-and-high.html" rel="noopener noreferrer"&gt;1.56 trillion (with a T) tokens that were then broken down into 2.81 trillion SentencePiece tokens&lt;/a&gt;. And while this initial version of Bard contains a lightweight version of LaMDA, future iterations of the AI may come equipped with a full, heavyweight LaMDA. And who knows how that'll perform...&lt;/p&gt;

&lt;h3&gt;
  
  
  🤖 Parameters 🤖
&lt;/h3&gt;

&lt;p&gt;Google publicly shares that LaMDA contains up to &lt;a href="https://ai.googleblog.com/2022/01/lamda-towards-safe-grounded-and-high.html#:~:text=with%20up%20to%20137B%20model%20parameters" rel="noopener noreferrer"&gt;137B model parameters&lt;/a&gt; while OpenAI says GPT-3.5 models hover around &lt;a href="https://platform.openai.com/docs/model-index-for-researchers#:~:text=davinci-,175B,-GPT%2D3%206.7B" rel="noopener noreferrer"&gt;175B parameters&lt;/a&gt;. It seems that, unlike tokens, the favor leans towards GPT in this category.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff72zw5cuydl3g74sjvoo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff72zw5cuydl3g74sjvoo.png" alt=" " width="800" height="371"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  ✅ Factual Correctness ✅
&lt;/h3&gt;

&lt;p&gt;Here, &lt;a href="https://ai.googleblog.com/2022/01/lamda-towards-safe-grounded-and-high.html#:~:text=While%20people%20are,seeing%20promising%20results." rel="noopener noreferrer"&gt;Google proudly proclaims&lt;/a&gt; that they intentionally fleshed out the correctness of LaMDA's responses to knowledge-based questions by actively going through their dataset and annotating moments where LaMDA would have to resort to looking up factual information. When such questions arise, LaMDA is trained to call an external system to retrieve this encyclopedic information. This process is creatively called "information retrieval."&lt;/p&gt;

&lt;p&gt;OpenAI, on the other hand, &lt;a href="https://openai.com/blog/chatgpt/#:~:text=ChatGPT%20sometimes%20writes,human%20demonstrator%C2%A0knows." rel="noopener noreferrer"&gt;admits its limitations&lt;/a&gt; in this particular field. If you've ever used ChatGPT, you know about these shortcomings first-hand. Warnings are posted all over the place in the ChatGPT UI. So while we love our reigning champion, we have to admit that it isn't perfect. &lt;/p&gt;

&lt;p&gt;In fact, ChatGPT---at least to date---is pretty definitive about saying "my training data ends in 2021." But Bard &lt;em&gt;ostensibly&lt;/em&gt; remains okay with discussing more current events. But anyone outside of the current beta-testing group doesn't exactly know the extent to which that is the case.&lt;/p&gt;

&lt;p&gt;The edge seems to lean towards Bard here---at least when it comes to discussing current-ish events. But we'll have to wait to use it to see for ourselves.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;When it comes to conversation, Bard really seems to be a formidable competitor to ChatGPT. &lt;em&gt;With its edge in conversational training and its explicit training in factual grounding, Bard might come out as the favorite. But this by no means makes ChatGPT an underdog.&lt;/em&gt; Again, we'll have to wait and see. &lt;/p&gt;

&lt;p&gt;This battle may be the next iPhone vs. Android. Or the next Mac vs. PC. Or even the legendary &lt;code&gt;emacs&lt;/code&gt; vs. &lt;code&gt;vim&lt;/code&gt;. (Just don't get us started on tabs versus spaces.) Our headliners will indeed provide us with some interesting content. But for now, let's all rest happy, knowing that---regardless of the victor---we're all champions for being able to access, use, and analyze such incredible technology.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;🎵Rocky outro theme fades into the background 🎵&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(This blog post was written on February 8th 2023, two days after Google AI announced Bard.)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>chatgpt</category>
      <category>openai</category>
      <category>coding</category>
    </item>
    <item>
      <title>What do you love most about Tech?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 13 Feb 2023 10:06:00 +0000</pubDate>
      <link>https://dev.to/deepgram/what-do-you-love-most-about-tech-139p</link>
      <guid>https://dev.to/deepgram/what-do-you-love-most-about-tech-139p</guid>
      <description>&lt;p&gt;Tomorrow is Valentine's Day, and we want to celebrate what you love most about tech! Share and tag the people, orgs, and communities in the comments below ❤️&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>What are the biggest problems AI can solve in the future you're most interested in?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 06 Feb 2023 14:24:20 +0000</pubDate>
      <link>https://dev.to/deepgram/what-are-the-biggest-problems-ai-can-solve-in-the-future-youre-most-interested-in-1g3k</link>
      <guid>https://dev.to/deepgram/what-are-the-biggest-problems-ai-can-solve-in-the-future-youre-most-interested-in-1g3k</guid>
      <description>&lt;p&gt;From medical innovation, to writing the next great novel, to solving environmental issues, there's a lot of talk around the amazing things AI can do.  &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some use cases you'd like to see implemented?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>CHALLENGE: Describe AI in five words or less.</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 30 Jan 2023 10:06:00 +0000</pubDate>
      <link>https://dev.to/deepgram/challenge-describe-ai-in-five-words-or-less-445c</link>
      <guid>https://dev.to/deepgram/challenge-describe-ai-in-five-words-or-less-445c</guid>
      <description>&lt;p&gt;We thought it'd be fun to end the month with a challenge. If you have the best answer, we'll send you some Deepgram swag! &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>What's your favorite science fiction technology that's been turned into something real?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 23 Jan 2023 15:45:43 +0000</pubDate>
      <link>https://dev.to/deepgram/whats-your-favorite-science-fiction-technology-thats-been-turned-into-something-real-1bel</link>
      <guid>https://dev.to/deepgram/whats-your-favorite-science-fiction-technology-thats-been-turned-into-something-real-1bel</guid>
      <description>&lt;p&gt;In 1865, Jules Verne wrote &lt;em&gt;From the Earth to the Moon,&lt;/em&gt; where he described spacecrafts and rockets, that eventually sounded a lot like Apollo-11. &lt;/p&gt;

&lt;p&gt;Start-ups today are even using ideas from science fiction as the imagination to power their innovation. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are some things you've read in sci fi that have become true-to-life?&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>How Does GPT-3 Work?</title>
      <dc:creator>Michael Jolley</dc:creator>
      <pubDate>Tue, 17 Jan 2023 15:47:15 +0000</pubDate>
      <link>https://dev.to/deepgram/how-does-gpt-3-work-hco</link>
      <guid>https://dev.to/deepgram/how-does-gpt-3-work-hco</guid>
      <description>&lt;p&gt;GPT-3 is a large language model (LLM), and it’s been making headlines in nearly every industry. From the release of the &lt;a href="https://time.com/6238781/chatbot-chatgpt-ai-interview/#:~:text=No%2C%20it%20would%20not%20be,awareness%20that%20a%20human%20does"&gt;seemingly self-aware&lt;/a&gt;. ChatGPT to copywriting and coding AI apps, GPT-3 is spreading like wildfire, first through the tech press and now through mainstream media.  &lt;/p&gt;

&lt;p&gt;Originally released in 2020, &lt;a href="https://openai.com/blog/gpt-3-apps/"&gt;GPT-3&lt;/a&gt; was developed by OpenAI, an artificial intelligence research lab in San Francisco. It’s a pre-trained universal language model that uses deep learning transformers to generate human-like text—and it’s pretty good at it. &lt;/p&gt;

&lt;p&gt;ChatGPT and the GPT-3 API family have been used to write poetry and fiction, code websites, respond to customer reviews, suggest better grammar, translate languages, generate dialogue, find tax deductions, and automate A/B testing. The use cases are seemingly endless and its results are surprisingly high-quality. &lt;/p&gt;

&lt;p&gt;While this large language model can do some incredible, useful things, it still has its flaws. We’ll cover that later, though. First, let’s cover the basics like “What is GPT-3?” and “How does GPT-3 work?”&lt;/p&gt;

&lt;h2&gt;
  
  
  What is GPT-3?
&lt;/h2&gt;

&lt;p&gt;GPT-3 stands for Generative Pre-trained Transformer 3, the third iteration of OpenAI’s GPT architecture. It’s a transformer-based language model that can generate human-like text. &lt;/p&gt;

&lt;p&gt;This deep learning model was pre-trained on over 175 billion parameters, among the largest of large language models in production today. Because of its size, GPT-3 is much better than any previous model for producing long-form and specialized text.&lt;/p&gt;

&lt;h3&gt;
  
  
  Is GPT-3 open source?
&lt;/h3&gt;

&lt;p&gt;GPT-3 is not open source. OpenAI reasons that GPT-3 could be misused and therefore shouldn’t be available for open-source use. Additionally, Microsoft acquired an &lt;a href="https://blogs.microsoft.com/blog/2020/09/22/microsoft-teams-up-with-openai-to-exclusively-license-gpt-3-language-model/"&gt;exclusive license&lt;/a&gt; to GPT-3 in September 2020.&lt;/p&gt;

&lt;p&gt;Microsoft is the only entity aside from OpenAI to have access to the underlying GPT-3 model. Others can still use GPT-3 via the &lt;a href="https://openai.com/blog/openai-api/"&gt;public API&lt;/a&gt; and during &lt;a href="https://openai.com/blog/chatgpt/"&gt;ChatGPT&lt;/a&gt;’s testing phase. The project was backed by Microsoft (contributing $1 billion). &lt;/p&gt;

&lt;p&gt;The closest open-source alternative to GPT-3 is GPT-JT, released by &lt;a href="https://www.together.xyz/blog/releasing-v1-of-gpt-jt-powered-by-open-source-ai"&gt;Together&lt;/a&gt; in November 2022. It was trained using a decentralized approach on 3.53 billion tokens, and they claim it can outperform other models. You can find &lt;a href="https://huggingface.co/spaces/togethercomputer/GPT-JT"&gt;GPT-JT on Hugging Face&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  Why was GPT-3 created?
&lt;/h3&gt;

&lt;p&gt;Before GPT-3, the largest trained language model was Microsoft’s Turin NLG model, which had 10 billion parameters. Previously, most generative language models could only produce simple sentences or yes and no answers. &lt;/p&gt;

&lt;h3&gt;
  
  
  What is GPT-3.5?
&lt;/h3&gt;

&lt;p&gt;GPT-3 was released in 2020. &lt;a href="https://techcrunch.com/2022/12/01/while-anticipation-builds-for-gpt-4-openai-quietly-releases-gpt-3-5/"&gt;GPT-4’s anticipated release&lt;/a&gt; could happen as soon as 2023. In the meantime, OpenAI quietly released GPT-3.5—which has a better grasp of relationships between words, parts of words, and sentences—with no formal announcement in November 2022. &lt;/p&gt;

&lt;p&gt;After complaints that GPT-3 was generating &lt;a href="https://techcrunch.com/2020/08/07/here-are-a-few-ways-gpt-3-can-go-wrong/"&gt;toxic and biased&lt;/a&gt; text, OpenAI began experimenting. GPT3.5 is similar to &lt;a href="https://gpt3demo.com/apps/instructgpt"&gt;InstructGPT&lt;/a&gt;, a version of GPT-3 that was re-trained to better align with users’ intentions. &lt;/p&gt;

&lt;p&gt;OpenAI trained GPT-3 on a corpus of code and text it sourced through a crawl of open web content published through 2021. Its knowledge of events and developments post-2021 is limited. This new version of GPT learned relationships between words, parts of words, and sentences. GPT-3.5 is only available through OpenAI’s APIs and ChatGPT. &lt;/p&gt;

&lt;h2&gt;
  
  
  How does GPT-3 Work? 
&lt;/h2&gt;

&lt;p&gt;When a user inputs text, known as a prompt, the model analyzes the language using a text predictor and generates the most helpful result. &lt;/p&gt;

&lt;p&gt;GPT-3 uses patterns from billions of parameters gleaned from over 570GB of internet-sourced text data to predict the most useful output. It expects the next appropriate token in a given sequence of tokens, even ones it hasn’t been trained on. &lt;/p&gt;

&lt;p&gt;GPT-3 is a meta learner, meaning it’s been taught to learn. It understands, to an extent, how to perform new tasks similarly to how a human would. The original baseline GPT-3 doesn’t actually know how to perform any specific task; it knows how to learn. This makes it a powerfully versatile model. &lt;/p&gt;

&lt;p&gt;Let’s dive deeper. First, GPT-3 goes through unsupervised training with its massive, internet-harvested set of parameters. Then, it’s ready to accept text inputs, a.k.a. prompts. It converts the inputted words into a vector representing the word, a list of numbers. Those vectors are used to compute predictions in transformer decoders, 96 of them to be exact. Then they’re converted back to words. &lt;/p&gt;

&lt;h3&gt;
  
  
  How is GPT-3 trained? 
&lt;/h3&gt;

&lt;p&gt;OpenAI used internet data to train GPT-3 to generate any type of text. It was trained in a generative, unsupervised manner. In simple terms, it was taught to transform prompts into large amounts of appropriate text without supervision. &lt;/p&gt;

&lt;h3&gt;
  
  
  Is GPT-3 conscious?
&lt;/h3&gt;

&lt;p&gt;While they designed GPT-3 to sound like a human and learn, it’s not sentient. GPT-3 can logically reason with a level of understanding that’s not as good as the average adult. It is, however, about as close to human-like verbal output as any model yet released. Some people did &lt;a href="https://twitter.com/sonyasupposedly/status/1284188369631629312?s=20"&gt;wonder if GPT-3 was self-aware&lt;/a&gt;. In reality, unlike its predecessors, the model was trained to have a degree of common sense. &lt;/p&gt;

&lt;p&gt;How to use GPT-3&lt;/p&gt;

&lt;p&gt;Where to use GPT-3 is simple. Head to OpenAI’s &lt;a href="https://chat.openai.com/"&gt;ChatGPT&lt;/a&gt; to get started. If you want more control, you can mess around in the playground. Developers can incorporate GPT-3 into their applications through &lt;a href="https://openai.com/blog/openai-api/"&gt;OpenAI's API&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;What can GPT-3 do?&lt;/p&gt;

&lt;p&gt;GPT-3 is used for generating realistic human text. It’s been used to write articles, essays, &lt;a href="https://www.gwern.net/docs/ai/nn/transformer/gpt/fiction/index"&gt;stories&lt;/a&gt;, &lt;a href="https://www.gwern.net/docs/ai/nn/transformer/gpt/poetry/index"&gt;poetry&lt;/a&gt;, news reports, dialogue, &lt;a href="https://www.gwern.net/docs/fiction/humor/index"&gt;humor&lt;/a&gt;, advertisements, and social media copy. It can even &lt;a href="https://www.gwern.net/docs/philosophy/mind/index"&gt;philosophize&lt;/a&gt;, albeit &lt;a href="https://dailynous.com/2020/07/30/philosophers-gpt-3/"&gt;badly&lt;/a&gt;. GPT-3 can mimic the styles of specific writers, generate memes, &lt;a href="https://blog.deepgram.com/the-what-why-and-how-of-ai-generated-recipes-using-chatgpt/"&gt;write recipes&lt;/a&gt;, and produce comic strips. &lt;/p&gt;

&lt;p&gt;GPT-3 is capable of generating code, too. It’s written working code, created mock-up websites, and designed UI prototyping from just a few sentence descriptions. Users can also create plots, charts, and excel functions with GPT-3. &lt;/p&gt;

&lt;p&gt;In addition to producing convincingly human text and code, it can generate automated conversations. GPT-3, as implemented in &lt;a href="https://openai.com/blog/chatgpt/"&gt;ChatGPT&lt;/a&gt;, responds to any text that a user types in with a new piece of contextual text. This feature is often implemented to add realistic dialogue to games and provide customer service through chatbots. &lt;/p&gt;

&lt;p&gt;GPT-3’s predecessors, aptly named GPT-1 and GPT-2, were criticized for not actually “knowing” anything and not having common sense. This generation of GPT was trained to follow a sequence of events and predict what’s next. It has at least some common sense, the ability to learn, and even the capability of philosophizing. &lt;/p&gt;

&lt;h2&gt;
  
  
  Examples of GPT-3
&lt;/h2&gt;

&lt;p&gt;Here are the top projects and applications powered by GPT-3 that you need to know. &lt;/p&gt;

&lt;h3&gt;
  
  
  ChatGPT
&lt;/h3&gt;

&lt;p&gt;From OpenAI, &lt;a href="https://thegradient.pub/gpt2-and-the-nature-of-intelligence/"&gt;ChatGPT&lt;/a&gt; is a chatbot. It answers questions, remembers what a user said earlier in a conversation, answers follow-up questions, admits mistakes, challenges incorrect premises, and rejects inappropriate requests. &lt;/p&gt;

&lt;p&gt;Since it’s based on GPT-3, it’s pretrained. &lt;a href="https://openai.com/"&gt;OpenAI&lt;/a&gt; has also fine tuned it with supervised and reinforcement learning techniques. Its &lt;a href="https://openai.com/blog/chatgpt/"&gt;research release&lt;/a&gt; in November 2022 sparked headlines in mainstream news outlets and tech sources alike. &lt;/p&gt;

&lt;h3&gt;
  
  
  Copilot
&lt;/h3&gt;

&lt;p&gt;Part of &lt;a href="https://code.visualstudio.com/"&gt;Visual Studio Code&lt;/a&gt;, &lt;a href="https://github.com/features/copilot"&gt;Copilot&lt;/a&gt; autocompletes code snippets. It was released by &lt;a href="https://github.blog/2022-06-21-github-copilot-is-generally-available-to-all-developers/"&gt;GitHub&lt;/a&gt; and OpenAI, based on Codex—a product of GPT-3. &lt;a href="https://openai.com/blog/openai-codex/"&gt;Codex&lt;/a&gt; came out in 2020, while Copilot was released in autumn 2021. &lt;/p&gt;

&lt;h3&gt;
  
  
  Debuild
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://debuild.app/"&gt;Debuild&lt;/a&gt; creates code for web apps on-demand using GPT-3 as its base model.  It asks for a description of the user’s app and use cases. Then, it generates React components, SQL code, and helps assemble interfaces visually. Currently, Debuild is &lt;a href="https://debuild.app/signup"&gt;waitlisted&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;
  
  
  A/BTesting  
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://abtesting.ai/"&gt;A/BTesting&lt;/a&gt; is an automated A/B testing provider. It uses GPT-3 to generate multiple versions of the title, copy, and call to action. It tests them for you on its own using a JavaScript snippet or plugin. When the test reaches statistical significance it mixes them up, mutates them, and runs another batch to ensure their customers have the highest converting copy possible. &lt;/p&gt;

&lt;h3&gt;
  
  
  Replier
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.replier.ai/"&gt;Replier&lt;/a&gt; responds to customer reviews automatically. It learns from previous review responses to create tailored, unique answers. They use GPT-3 and then clean the output using a monitoring system to detect bad behaviors and improve its replies.&lt;/p&gt;

&lt;h3&gt;
  
  
  Jasper
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.jasper.ai/"&gt;Jasper&lt;/a&gt; focuses on content writing, primarily blog posts. The service offers templates, art, content snippets in 25 languages, emails, reports, and stories. They also have a chatbot feature to help with brainstorming. &lt;/p&gt;

&lt;h3&gt;
  
  
  Lex
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://lex.page/"&gt;Lex&lt;/a&gt;, created by &lt;a href="https://every.to/"&gt;Every&lt;/a&gt;, is an AI-powered word processor. It allows writers to generate essays, articles, stories, and optimized headers with help from GPT-3. While Lex can write full articles, copy, and more, it differs from other AI copy generators by offering a standalone word processor that can also complete a partially written paragraph. Lex is in public beta with a waitlist. &lt;/p&gt;

&lt;h3&gt;
  
  
  Duolingo   
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.duolingo.com/"&gt;Duolingo&lt;/a&gt;, the gamified language learning app, uses GPT-3 APIs to provide grammar suggestions. Currently, they’re only using it for French, but this could lead to the other 35 languages they offer in the future.&lt;/p&gt;

&lt;h3&gt;
  
  
  Keeper Tax
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.keepertax.com/"&gt;Keeper Tax&lt;/a&gt; helps users file their taxes and find more deductions. They market to 1099 contractors and freelancers. GPT-3 is used at Keeper Tax to find tax-deductible expenses in bank statements. &lt;/p&gt;

&lt;h3&gt;
  
  
  Quickchat
&lt;/h3&gt;

&lt;p&gt;Another chatbot, &lt;a href="https://www.quickchat.ai/"&gt;Quickchat&lt;/a&gt; is a multilingual AI assistant that can automate customer support, online applications, and knowledge base searches. Customers can also use the widget to make automated live chat conversations based on training information uploaded by the user. Users can upload product descriptions, FAQs, and internal documentation to serve their customers automatically. &lt;/p&gt;

&lt;h3&gt;
  
  
  Algolia
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.algolia.com/"&gt;Algolia&lt;/a&gt; is a vertical search engine offering recommendations and suggested searches for websites, mobile, and voice applications. Developers can use Algolia to implement site-specific search, digital content discovery, enterprise search, SaaS application search, customized content and product discovery, and more. &lt;/p&gt;

&lt;h3&gt;
  
  
  Lexion
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://www.lexion.ai/"&gt;Lexion&lt;/a&gt; started as a contract management system. Now, they’re using GPT-3 to help lawyers with their contracts. Their Microsoft Word plugin suggests edits and writes text summaries. Currently, the plugin is only intended to assist lawyers and &lt;a href="https://www.geekwire.com/2022/legal-tech-startup-lexion-is-using-gpt-3-to-help-lawyers-write-summaries-and-suggest-edits/"&gt;improve efficiency&lt;/a&gt;, not to completely write contracts on its own. &lt;/p&gt;

&lt;h2&gt;
  
  
  GPT-3 is imperfect, but it is revolutionizing artificial intelligence.
&lt;/h2&gt;

&lt;p&gt;GPT-3 can power a variety of tools and services in a way that AI couldn’t before. It can speed up professional writing, software engineering, and customer service tasks. It’s making editing, language learning, and coding tools more interactive and accessible to their users. The extent to which GPT-3 has already expanded beyond its predecessors is promising, and it implies an exciting future for GPT-4 and beyond. &lt;/p&gt;

&lt;p&gt;Despite its usefulness, debates over the power and influence of generative AI are already flaring up. Samples have shown GPT-3 can sometimes regurgitate &lt;a href="https://www.technologyreview.com/2020/10/23/1011116/chatbot-gpt3-openai-facebook-google-safety-fix-racist-sexist-language-ai/"&gt;some of the racist, sexist points&lt;/a&gt; it learned from its internet training data; some are justifiably wary of the toxic language that occasionally arises in its automated answers. &lt;/p&gt;

&lt;p&gt;OpenAI has &lt;a href="https://www.protocol.com/enterprise/openai-gptinstruct"&gt;adjusted the way GPT-3 learns&lt;/a&gt; after instances of lies, sexism, and racism were found in its answers. While the newest version, GPT-3.5, contains fixes, it’s still imperfect. GPT-3 has quickly become a provocative topic that will continue to change as new versions are released and new use cases are found. &lt;/p&gt;

&lt;p&gt;Will it replace programmers, lawyers, and writers? No. So far, GPT-3 can’t produce completely error-free or convincing work independently. It can, however, be a supportive tool for people in these professions and many others.&lt;/p&gt;

</description>
      <category>datascience</category>
      <category>machinelearning</category>
      <category>gpt3</category>
    </item>
    <item>
      <title>What do you think tech will look like five years from now?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 16 Jan 2023 10:06:00 +0000</pubDate>
      <link>https://dev.to/deepgram/what-do-you-think-tech-will-look-like-five-years-from-now-49e4</link>
      <guid>https://dev.to/deepgram/what-do-you-think-tech-will-look-like-five-years-from-now-49e4</guid>
      <description>&lt;p&gt;Last year we saw a lot of really cool technology released into the world. What do you think we'll see in the next five years? Who will be solving problems? What will learning look like? What new, shiny things do you think we'll be able to look forward to? Drop your response or a gif that captures your response in the comments.&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>ai</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>What conferences do you want to go to in 2023?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 09 Jan 2023 10:06:00 +0000</pubDate>
      <link>https://dev.to/deepgram/what-conferences-do-you-want-to-go-to-in-2023-4gi</link>
      <guid>https://dev.to/deepgram/what-conferences-do-you-want-to-go-to-in-2023-4gi</guid>
      <description>&lt;p&gt;It's a new year, and that means time for a new year of conferences! What conferences--virtual or in-person--do you want to attend this year? Are you speaking, sponsoring, or going as an attendee?&lt;/p&gt;

&lt;p&gt;I'm starting the year off strong, speaking virtually at &lt;a href="https://yougotthis.io/events/broadcasting-service/" rel="noopener noreferrer"&gt;You Got This!&lt;/a&gt; on January 14th and then live at &lt;a href="https://that.us/activities/BojrAo0dd8x62Arj8s6U" rel="noopener noreferrer"&gt;THAT Conference&lt;/a&gt; on January 18th. &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>conferences</category>
      <category>codenewbie</category>
      <category>watercooler</category>
    </item>
    <item>
      <title>What are your 2023 tech goals and do you want accountability?</title>
      <dc:creator>BekahHW</dc:creator>
      <pubDate>Mon, 02 Jan 2023 10:11:00 +0000</pubDate>
      <link>https://dev.to/deepgram/what-are-your-2023-tech-goals-and-do-you-want-accountability-2ho9</link>
      <guid>https://dev.to/deepgram/what-are-your-2023-tech-goals-and-do-you-want-accountability-2ho9</guid>
      <description>&lt;p&gt;We love a good New Year’s goal, and we’re setting some of our own, including starting a &lt;a href="https://docs.google.com/forms/d/1Ut4PKAv5cdYbaf6wPWlb3wx_1l9sV8-C7TlTHxcxjOk" rel="noopener noreferrer"&gt;learning cohort for freeCodeCamp’s Machine Learning with Python&lt;/a&gt; in January. What goals are you setting? Do you want accountability? &lt;/p&gt;

</description>
      <category>discuss</category>
      <category>codenewbie</category>
      <category>ai</category>
      <category>webdev</category>
    </item>
    <item>
      <title>Identify Sales Insights from Meeting Audio</title>
      <dc:creator>Tonya Sims</dc:creator>
      <pubDate>Tue, 27 Dec 2022 17:52:41 +0000</pubDate>
      <link>https://dev.to/deepgram/identify-sales-insights-from-meeting-audio-m9e</link>
      <guid>https://dev.to/deepgram/identify-sales-insights-from-meeting-audio-m9e</guid>
      <description>&lt;p&gt;You just started your first day as a Python developer at Dunder Mifflin Paper Company, Inc. The President of Sales has an urgent request for you, to transcribe a sales meeting from speech to text with the regional manager, Michael Scott. &lt;/p&gt;

&lt;p&gt;This is not just any sales meeting. Landing this client could determine the health and future of the company. You see, Michael Scott was kind of a goofball and had a habit of joking around too much during important sales calls so the VP of Sales, Jan, was sent to watch over him. &lt;/p&gt;

&lt;p&gt;The President of Sales could not figure out why this client didn’t sign the contract. &lt;/p&gt;

&lt;p&gt;Was there even a deal made? &lt;/p&gt;

&lt;p&gt;Did Michael not close the sale? &lt;/p&gt;

&lt;p&gt;Or did Michael scare the client away by telling his lame jokes?&lt;/p&gt;

&lt;p&gt;He needed sales insights ASAP and the only way he could get them without being there was by using AI speech recognition and Python.&lt;/p&gt;

&lt;p&gt;You’ve probably guessed by now, but if you haven’t, this is a classic scene from the hit sitcom, The Office. &lt;/p&gt;

&lt;p&gt;If you want the full code sample of how to identify sales insights from meeting audio, skip to the bottom. If you want to know what happens next with the foolery then keep reading. &lt;/p&gt;

&lt;p&gt;In this sales call scene from The Office Michael Scott moves the meeting to a restaurant, Chili’s, without anyone’s permission. Since this episode was released in the mid-2000s, we’re going to fast-forward to 2022. Let’s say this meeting didn’t happen in a restaurant, it occurred over everyone’s favorite, a video call. &lt;/p&gt;

&lt;p&gt;You explained to the President of Sales that the meeting could be recorded, then uploaded to be transcribed using Python and speech-to-text. You elaborate that certain features can be used to gather sales insights from the meeting audio. &lt;/p&gt;

&lt;p&gt;You ask the President what type of insights they need. They need a quick summary of the transcript, instead of reading through the whole thing, and the ability to search through the transcript to determine if Michael Scott mentioned business, deals, or jokes. &lt;/p&gt;

&lt;h2&gt;
  
  
  Conversation Intelligence and Sales Insights from Meeting Audio
&lt;/h2&gt;

&lt;p&gt;ou have the perfect solution for a speech recognition provider, Deepgram. You get to coding, using their &lt;a href="https://github.com/deepgram/deepgram-python-sdk" rel="noopener noreferrer"&gt;Python SDK&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;The first thing you do is grab an API key &lt;a href="https://console.deepgram.com/signup?jump=keys" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then create a directory with a Python file inside. You use &lt;code&gt;pip&lt;/code&gt; to install Deepgram &lt;code&gt;pip install deepgram-sdk&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;It was very easy to use with this code:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;deepgram&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Deepgram&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;

&lt;span class="n"&gt;DEEPGRAM_API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;YOUR_API_KEY_GOES_HERE&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;
&lt;span class="n"&gt;PATH_TO_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;audio/the-office-meeting.mp3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
   &lt;span class="c1"&gt;# Initializes the Deepgram SDK
&lt;/span&gt;   &lt;span class="n"&gt;deepgram&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Deepgram&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DEEPGRAM_API_KEY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="c1"&gt;# Open the audio file
&lt;/span&gt;   &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PATH_TO_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
       &lt;span class="c1"&gt;# ...or replace mimetype as appropriate
&lt;/span&gt;       &lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;buffer&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;mimetype&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;audio/mp3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
       &lt;span class="n"&gt;options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;summarize&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;search&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;business&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;deal&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;joke&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;

       &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;deepgram&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sync_prerecorded&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
       &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’re importing the libraries at the top:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;deepgram&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Deepgram&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Copying and pasting your Deepgram API Key into the code and adding the path to the file you want to transcribe:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;DEEPGRAM_API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;YOUR_API_KEY_GOES_HERE&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;
&lt;span class="n"&gt;PATH_TO_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;audio/the-office-meeting.mp3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Inside the &lt;code&gt;main&lt;/code&gt; function, you’re initializing the Deepgram SDK. Then you open the audio file &lt;code&gt;with open(PATH_TO_FILE, 'rb') as audio:&lt;/code&gt;. Since the file being transcribed is an MP3, that’s what you set as the &lt;code&gt;mimetype&lt;/code&gt;, while passing the audio into the Python dictionary as well: &lt;code&gt;source = {'buffer': audio, 'mimetype': 'audio/mp3'}&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You tap into their Summary and Search features as explained &lt;a href="https://developers.deepgram.com/documentation/features/" rel="noopener noreferrer"&gt;here&lt;/a&gt;, by creating an options object with those parameters.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="n"&gt;options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;summarize&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;search&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;business&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;deal&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;joke&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lastly, this line &lt;code&gt;response = deepgram.transcription.sync_prerecorded(source, options)&lt;/code&gt; will take in the audio and features and do the transcription. The results will then be printed with the following &lt;code&gt;print(json.dumps(response, indent=4))&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;You’ll receive a JSON response with the transcript, the summary, and the search findings. It looked something like this:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Summary&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;summaries&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                            &lt;span class="p"&gt;{&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;summary&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;Lack of one county has not been immune to the slow economic growth over the past five years. So for us, the name of the game is budget reduction.&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;start_word&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;end_word&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;597&lt;/span&gt;
                            &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;]&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;The Search&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;search&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                    &lt;span class="p"&gt;{&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;business&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                          &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hits&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                            &lt;span class="p"&gt;{&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;confidence&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;start&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;231.305&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;end&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;231.705&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;snippet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;business&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
                            &lt;span class="p"&gt;},&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;deal&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                         &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hits&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                            &lt;span class="p"&gt;{&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;confidence&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;0.7395834&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;start&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;86.13901&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;end&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;86.298805&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;snippet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;i&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;ll&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
                            &lt;span class="p"&gt;},&lt;/span&gt;
                        &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;query&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;joke&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                         &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;hits&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
                            &lt;span class="p"&gt;{&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;confidence&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;1.0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;start&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;82.125&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;end&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mf"&gt;82.284996&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                                &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;snippet&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;"&lt;/span&gt;&lt;span class="s"&gt;one joke&lt;/span&gt;&lt;span class="sh"&gt;"&lt;/span&gt;
                            &lt;span class="p"&gt;},&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your insights from the sales meeting. From the summary, it seems as if the customer wants to reduce costs and the search confidence indicates Michael Scott talked about business, didn’t discuss deals too much, and told some jokes. &lt;/p&gt;

&lt;p&gt;You share this with the President of Sales. They now have a better understanding of what happened in the sales call, how to coach Michael Scott on closing future sales deals, and how to follow up with the customer. &lt;/p&gt;

&lt;p&gt;Moving forward, all of Dunder Mifflin’s sales meetings were recorded, transcribed, and insights were derived using Deepgram to improve performance and maximize revenue. Corny jokes were only allowed if they helped build relationships with the customer. &lt;/p&gt;

&lt;p&gt;The end.&lt;/p&gt;

&lt;p&gt;Here’s the whole code sample:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt; &lt;span class="n"&gt;deepgram&lt;/span&gt; &lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;Deepgram&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;json&lt;/span&gt;

&lt;span class="n"&gt;DEEPGRAM_API_KEY&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="err"&gt;‘&lt;/span&gt;&lt;span class="n"&gt;YOUR_API_KEY_GOES_HERE&lt;/span&gt;&lt;span class="err"&gt;’&lt;/span&gt;
&lt;span class="n"&gt;PATH_TO_FILE&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;audio/the-office-meeting.mp3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;

&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;():&lt;/span&gt;
   &lt;span class="c1"&gt;# Initializes the Deepgram SDK
&lt;/span&gt;   &lt;span class="n"&gt;deepgram&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nc"&gt;Deepgram&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;DEEPGRAM_API_KEY&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
   &lt;span class="c1"&gt;# Open the audio file
&lt;/span&gt;   &lt;span class="k"&gt;with&lt;/span&gt; &lt;span class="nf"&gt;open&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;PATH_TO_FILE&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;rb&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
       &lt;span class="c1"&gt;# ...or replace mimetype as appropriate
&lt;/span&gt;       &lt;span class="n"&gt;source&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;buffer&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;audio&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;mimetype&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;audio/mp3&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
       &lt;span class="n"&gt;options&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;summarize&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="bp"&gt;True&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
           &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;search&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;business&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;deal&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;joke&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
       &lt;span class="p"&gt;}&lt;/span&gt;

       &lt;span class="n"&gt;response&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;deepgram&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;transcription&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;sync_prerecorded&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;options&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
       &lt;span class="nf"&gt;print&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;json&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;dumps&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;response&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;indent&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;4&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;

&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you have any feedback about this post, or anything else around Deepgram, we'd love to hear from you. Please let us know in our &lt;a href="https://github.com/orgs/deepgram/discussions/categories/feedback" rel="noopener noreferrer"&gt;GitHub discussions&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>speechtotext</category>
      <category>insights</category>
      <category>sales</category>
    </item>
  </channel>
</rss>
