File size: 27,444 Bytes
a0f6c1e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
# import streamlit as st
#
# from langchain_google_genai import ChatGoogleGenerativeAI
#
# import time
# def details():
#     apiKey = "AIzaSyC9ScRqi9g-YghNuS5w7o7Erwtd5RIN_Zo"
#     llm = ChatGoogleGenerativeAI(model="gemini-2.0-flash-thinking-exp-01-21", google_api_key=apiKey)
#     st.header("Introducing Gemini")
#     with st.chat_message("assistant"):
#         for chunk in llm.stream("Tell me about google gemini ai model"):
#             st.write(chunk.content)
import time

import streamlit as st

# Ensure set_page_config is at the top
#st.set_page_config(page_title="Gemini 2.0 Flash Thinking", layout="wide")

def details():
    st.empty()
    chat = st.container()
    chat.empty()
    html_code = """
    <!DOCTYPE html>
<html dir="ltr" lang="en">
 <head>
  <meta content="157101835696-ooapojlodmuabs2do2vuhhnf90bccmoi.apps.googleusercontent.com" name="google-signin-client-id"/>
  <meta content="profile email https://www.googleapis.com/auth/developerprofiles https://www.googleapis.com/auth/developerprofiles.award" name="google-signin-scope"/>
  <meta content="Google AI for Developers" property="og:site_name"/>
  <meta content="website" property="og:type"/>
  <meta content="#1967d2" name="theme-color"/>
  <meta charset="utf-8"/>
  <meta content="IE=Edge" http-equiv="X-UA-Compatible"/>
  <meta content="width=device-width, initial-scale=1" name="viewport"/>
  <link crossorigin="use-credentials" href="/_pwa/googledevai/manifest.json" rel="manifest"/>
  <link crossorigin="" href="//www.gstatic.com" rel="preconnect"/>
  <link crossorigin="" href="//fonts.gstatic.com" rel="preconnect"/>
  <link crossorigin="" href="//fonts.googleapis.com" rel="preconnect"/>
  <link crossorigin="" href="//apis.google.com" rel="preconnect"/>
  <link crossorigin="" href="//www.google-analytics.com" rel="preconnect"/>
  <link href="//fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&amp;display=swap" rel="stylesheet"/>
  <link href="//fonts.googleapis.com/css2?family=Material+Icons&amp;family=Material+Symbols+Outlined&amp;display=block" rel="stylesheet"/>
  <link href="https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/css/app.css" rel="stylesheet"/>
  <link disabled="" href="https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/css/dark-theme.css" rel="stylesheet"/>
  <link href="https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/images/favicon-new.png" rel="shortcut icon"/>
  <link href="https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/images/touchicon-180-new.png" rel="apple-touch-icon"/>
  <link href="https://ai.google.dev/gemini-api/docs/thinking" rel="canonical"/>
  <link href="https://ai.google.dev/s/opensearch.xml" rel="search" title="Google AI for Developers" type="application/opensearchdescription+xml"/>
  <link href="https://ai.google.dev/gemini-api/docs/thinking" hreflang="en" rel="alternate">
   <link href="https://ai.google.dev/gemini-api/docs/thinking" hreflang="x-default" rel="alternate">
    <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=ar" hreflang="ar" rel="alternate">
     <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=bn" hreflang="bn" rel="alternate">
      <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=zh-cn" hreflang="zh-Hans" rel="alternate">
       <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=zh-tw" hreflang="zh-Hant" rel="alternate">
        <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=fa" hreflang="fa" rel="alternate">
         <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=fr" hreflang="fr" rel="alternate">
          <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=de" hreflang="de" rel="alternate">
           <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=he" hreflang="he" rel="alternate">
            <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=hi" hreflang="hi" rel="alternate">
             <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=id" hreflang="id" rel="alternate">
              <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=it" hreflang="it" rel="alternate">
               <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=ja" hreflang="ja" rel="alternate">
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=ko" hreflang="ko" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=pl" hreflang="pl" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=pt-br" hreflang="pt-BR" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=ru" hreflang="ru" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=es-419" hreflang="es-419" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=th" hreflang="th" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=tr" hreflang="tr" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=vi" hreflang="vi" rel="alternate"/>
                <link href="https://ai.google.dev/gemini-api/docs/thinking?hl=sq" hreflang="sq" rel="alternate"/>
                <title>
                 Gemini 2.0 Flash Thinking  |  Gemini API  |  Google AI for Developers
                </title>
                <meta content="Gemini 2.0 Flash Thinking  |  Gemini API  |  Google AI for Developers" property="og:title"/>
                <meta content="https://ai.google.dev/gemini-api/docs/thinking" property="og:url"/>
                <meta content="https://ai.google.dev/static/site-assets/images/share-gemini-api.png" property="og:image"/>
                <meta content="1200" property="og:image:width"/>
                <meta content="675" property="og:image:height"/>
                <meta content="en" property="og:locale"/>
                <meta content="summary_large_image" name="twitter:card"/>
                <script type="application/ld+json">
                 {
    "@context": "https://schema.org",
    "@type": "Article",
    
    "headline": "Gemini 2.0 Flash Thinking"
  }
                </script>
                <script type="application/ld+json">
                 {
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [{
      "@type": "ListItem",
      "position": 1,
      "name": "Gemini API",
      "item": "https://ai.google.dev/gemini-api"
    },{
      "@type": "ListItem",
      "position": 2,
      "name": "Gemini 2.0 Flash Thinking",
      "item": "https://ai.google.dev/gemini-api/docs/thinking"
    }]
  }
                </script>
                <link href="/extras.css" rel="stylesheet"/>
               </link>
              </link>
             </link>
            </link>
           </link>
          </link>
         </link>
        </link>
       </link>
      </link>
     </link>
    </link>
   </link>
  </link>
 </head>
 <body appearance="" class="" display-toc="" layout="docs" pending="" template="page" theme="googledevai-theme" type="article">
  <devsite-progress id="app-progress" type="indeterminate">
  </devsite-progress>
  <a class="skip-link button" href="#main-content">
   Skip to main content
  </a>
  
    
   <section id="gc-wrapper">
    <main class="devsite-main-content" id="main-content" role="main">
     
     <devsite-content>
      <article class="devsite-article">
       
       
       <h1 class="devsite-page-title" tabindex="-1">
        Gemini 2.0 Flash Thinking
        <div class="devsite-actions" data-nosnippet="">
        </div>
       </h1>
       <div class="devsite-page-title-meta">
        <devsite-view-release-notes>
        </devsite-view-release-notes>
       </div>
       <devsite-toc class="devsite-nav" depth="2" devsite-toc-embedded="">
       </devsite-toc>
       <div class="devsite-article-body clearfix">
        <p>
        </p>
        <p>
         The Gemini 2.0 Flash Thinking model is an experimental model that's trained to
generate the "thinking process" the model goes through as part of its response.
As a result, the Flash Thinking model is capable of stronger reasoning
capabilities in its responses than the Gemini 2.0 Flash Experimental model.
        </p>
        <div>
         <a class="button button-primary ais" href="https://aistudio.google.com/prompts/new_chat?model=gemini-2.0-flash-thinking-exp-01-21">
          Try the latest Flash Thinking model in Google AI Studio
         </a>
        </div>
        <h2 data-text="Use thinking models" id="use-thinking-models" tabindex="-1">
         Use thinking models
        </h2>
        <p>
         Flash Thinking models are available in
         <a href="https://aistudio.google.com/prompts/new_chat?model=gemini-2.0-flash-thinking-exp-01-21">
          Google AI Studio
         </a>
         and through the Gemini API. The Gemini API doesn't return thoughts in the response.
        </p>
        <aside class="note">
         <strong>
          Note:
         </strong>
         <span>
          We have set up
          <code dir="ltr" translate="no">
           gemini-2.0-flash-thinking-exp
          </code>
          as an alias to the latest
Flash Thinking model. Use this alias to get the latest Flash thinking model, or
specify the full model name.
         </span>
        </aside>
        <h3 data-text="Send a basic request" id="send-basic" tabindex="-1">
         Send a basic request
        </h3>
        <div class="ds-selector-tabs" data-ds-scope="code-sample">
         <section>
          <h3 data-text="Python" id="python" tabindex="-1">
           Python
          </h3>
          <p>
           This example uses the new
           <a href="/gemini-api/docs/sdks#python-quickstart">
            Google Genai SDK
           </a>
           and the
           <code dir="ltr" translate="no">
            v1alpha
           </code>
           version of the API.
          </p>
          <div>
          </div>
          <devsite-code>
           <pre class="devsite-click-to-copy" dir="ltr" is-upgraded="" syntax="Python" translate="no"><code dir="ltr" translate="no"><span class="devsite-syntax-kn">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">genai</span>

<span class="devsite-syntax-n">client</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">genai</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">Client</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">api_key</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s1">'GEMINI_API_KEY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">http_options</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-s1">'api_version'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s1">'v1alpha'</span><span class="devsite-syntax-p">})</span>

<span class="devsite-syntax-n">response</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">models</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">generate_content</span><span class="devsite-syntax-p">(</span>
    <span class="devsite-syntax-n">model</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s1">'gemini-2.0-flash-thinking-exp'</span><span class="devsite-syntax-p">,</span>
    <span class="devsite-syntax-n">contents</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s1">'Explain how RLHF works in simple terms.'</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-p">)</span>

<span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">)</span>
</code></pre>
          </devsite-code>
         </section>
        </div>
        <h3 data-text="Multi-turn thinking conversations" id="multi-turn-thinking" tabindex="-1">
         Multi-turn thinking conversations
        </h3>
        <p>
         During multi-turn conversations, thoughts from previous turns are stripped from
the model's inputs.
        </p>
        <div class="ds-selector-tabs" data-ds-scope="code-sample">
         <section>
          <h3 data-text="Python" id="python_1" tabindex="-1">
           Python
          </h3>
          <p>
           The new
           <a href="/gemini-api/docs/sdks#python-quickstart">
            Google Genai SDK
           </a>
           provides the ability to create a multi-turn chat session which is
helpful to manage the state of a conversation.
          </p>
          <div>
          </div>
          <devsite-code>
           <pre class="devsite-click-to-copy" dir="ltr" is-upgraded="" syntax="Python" translate="no"><code dir="ltr" translate="no"><span class="devsite-syntax-kn">from</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-nn">google</span><span class="devsite-syntax-w"> </span><span class="devsite-syntax-kn">import</span> <span class="devsite-syntax-n">genai</span>

<span class="devsite-syntax-n">client</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">genai</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">Client</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">api_key</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s1">'GEMINI_API_KEY'</span><span class="devsite-syntax-p">,</span> <span class="devsite-syntax-n">http_options</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-p">{</span><span class="devsite-syntax-s1">'api_version'</span><span class="devsite-syntax-p">:</span><span class="devsite-syntax-s1">'v1alpha'</span><span class="devsite-syntax-p">})</span>

<span class="devsite-syntax-n">chat</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-n">client</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">aio</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">chats</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">create</span><span class="devsite-syntax-p">(</span>
    <span class="devsite-syntax-n">model</span><span class="devsite-syntax-o">=</span><span class="devsite-syntax-s1">'gemini-2.0-flash-thinking-exp'</span><span class="devsite-syntax-p">,</span>
<span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-n">response</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">chat</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">send_message</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'What is your name?'</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-n">response</span> <span class="devsite-syntax-o">=</span> <span class="devsite-syntax-k">await</span> <span class="devsite-syntax-n">chat</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">send_message</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-s1">'What did you just say before this?'</span><span class="devsite-syntax-p">)</span>
<span class="devsite-syntax-nb">print</span><span class="devsite-syntax-p">(</span><span class="devsite-syntax-n">response</span><span class="devsite-syntax-o">.</span><span class="devsite-syntax-n">text</span><span class="devsite-syntax-p">)</span>
</code></pre>
          </devsite-code>
         </section>
        </div>
        <h2 data-text="Limitations" id="limitations" tabindex="-1">
         Limitations
        </h2>
        <p>
         The Flash Thinking model is an experimental model and has the following
limitations:
        </p>
        <ul>
         <li>
          No JSON mode or Search Grounding
         </li>
         <li>
          Thoughts are only shown in Google AI Studio
         </li>
        </ul>
        <h2 data-text="What's next?" id="whats-next" tabindex="-1">
         What's next?
        </h2>
        <ul>
         <li>
          Try the Flash Thinking model in
          <a href="https://aistudio.google.com/prompts/new_chat?model=gemini-2.0-flash-thinking-exp-01-21">
           Google AI Studio
          </a>
          .
         </li>
         <li>
          Try the
          <a href="https://colab.sandbox.google.com/github/google-gemini/cookbook/blob/main/quickstarts/Get_started_thinking.ipynb">
           Flash Thinking Colab
          </a>
          .
         </li>
        </ul>
        <link data-page-link="" href="/site-assets/css/style.css?v=3" rel="stylesheet"/>
        <link data-page-link="" href="https://fonts.googleapis.com/css2?family=Google+Symbols:opsz,wght,FILL,[email protected],100..700,0..1,-50..200" rel="stylesheet"/>
       </div>
      </article>
    </main>
    
  <script nonce="JcFvBGdkcv/1Vce7ZjN/RLoNxR4Uj2">
   (function(d,e,v,s,i,t,E){d['GoogleDevelopersObject']=i;
    t=e.createElement(v);t.async=1;t.src=s;E=e.getElementsByTagName(v)[0];
    E.parentNode.insertBefore(t,E);})(window, document, 'script',
    'https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/js/app_loader.js', '[59,"en",null,"/js/devsite_app_module.js","https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933","https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai","https://googledevai-dot-devsite-v2-prod-3p.appspot.com",null,null,["/_pwa/googledevai/manifest.json","https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/images/video-placeholder.svg","https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/images/favicon-new.png","https://www.gstatic.com/devrel-devsite/prod/v17c4f87be230ffee20589ee6dca0a2318ead9eddb228ec5c58233202ff69a933/googledevai/images/lockup-new.svg","https://fonts.googleapis.com/css?family=Google+Sans:400,500|Roboto:400,400italic,500,500italic,700,700italic|Roboto+Mono:400,500,700&display=swap"],1,null,[1,6,8,12,14,17,21,25,50,52,63,70,75,76,80,87,91,92,93,97,98,100,101,102,103,104,105,107,108,109,110,112,113,116,117,118,120,122,124,125,126,127,129,130,131,132,133,134,135,136,138,140,141,147,148,149,151,152,156,157,158,159,161,163,164,168,169,170,179,180,182,183,186,191,193,196],"AIzaSyCNm9YxQumEXwGJgTDjxoxXK6m1F-9720Q","AIzaSyCc76DZePGtoyUjqKrLdsMGk_ry7sljLbY","ai.google.dev","AIzaSyB9bqgQ2t11WJsOX8qNsCQ6U-w91mmqF-I","AIzaSyAdYnStPdzjcJJtQ0mvIaeaMKj7_t6J_Fg",null,null,null,["Search__enable_ai_eligibility_checks","Concierge__enable_actions_menu","DevPro__enable_developer_subscriptions","MiscFeatureFlags__enable_project_variables","Cloud__enable_llm_concierge_chat","MiscFeatureFlags__developers_footer_dark_image","MiscFeatureFlags__emergency_css","MiscFeatureFlags__developers_footer_image","MiscFeatureFlags__enable_framebox_badge_methods","Profiles__enable_page_saving","MiscFeatureFlags__enable_explain_this_code","Cloud__enable_cloud_shell_fte_user_flow","DevPro__enable_cloud_innovators_plus","Cloud__enable_cloud_shell","Concierge__enable_pushui","MiscFeatureFlags__enable_view_transitions","BookNav__enable_tenant_cache_key","CloudShell__cloud_shell_button","Cloud__enable_cloud_dlp_service","TpcFeatures__enable_unmirrored_page_left_nav","Profiles__enable_completecodelab_endpoint","Profiles__enable_profile_collections","Profiles__enable_recognition_badges","OnSwitch__enable","Profiles__enable_completequiz_endpoint","Cloud__enable_free_trial_server_call","Search__enable_page_map","Profiles__enable_stripe_subscription_management","DevPro__enable_devpro_offers","Cloud__enable_legacy_calculator_redirect","MiscFeatureFlags__enable_firebase_utm","Experiments__reqs_query_experiments","Analytics__enable_clearcut_logging","Cloud__enable_cloud_facet_chat","Profiles__enable_release_notes_notifications","MiscFeatureFlags__enable_variable_operator_index_yaml","Search__enable_suggestions_from_borg","Profiles__enable_join_program_group_endpoint","Profiles__enable_awarding_url","Profiles__enable_public_developer_profiles","Profiles__enable_developer_profiles_callout","Cloud__enable_cloudx_ping","TpcFeatures__enable_mirror_tenant_redirects","MiscFeatureFlags__enable_variable_operator","Profiles__require_profile_eligibility_for_signin","Profiles__enable_complete_playlist_endpoint","CloudShell__cloud_code_overflow_menu","Profiles__enable_dashboard_curated_recommendations","Cloud__enable_cloudx_experiment_ids","Search__enable_dynamic_content_confidential_banner","EngEduTelemetry__enable_engedu_telemetry"],null,null,"AIzaSyA58TaKli1DculwmAmbpzLVGuWc8eCQgQc","https://developerscontentserving-pa.googleapis.com","AIzaSyDWBU60w0P9hEkr29kkksYs8Z7gvZ8u_wc","https://developerscontentsearch-pa.googleapis.com",2,4,null,"https://developerprofiles-pa.googleapis.com",[59,"googledevai","Google AI for Developers","ai.google.dev",null,"googledevai-dot-devsite-v2-prod-3p.appspot.com",null,null,[null,1,null,null,null,null,null,null,null,null,null,[1],null,null,null,null,null,null,[1],null,null,null,null,[1],[1,1,null,1,1]],null,[73,null,null,null,null,null,"/images/lockup-new.svg","/images/touchicon-180-new.png",null,null,null,1,1,1,null,null,null,null,null,null,null,2,null,null,null,"/images/lockup-dark-theme-new.svg",[]],[],null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,[44,2,4,6,7,12,14,15,17,18,20,21,22,23,28,29,32,37,39,40,43],null,[[],[1,1],null,1],[[null,null,null,null,null,["GTM-TC2MQKS8"],null,null,null,null,null,[["GTM-TC2MQKS8",1]],1]],null,4],null,null,1,1,"https://developerscontentinsights-pa.googleapis.com","AIzaSyBUwhBSZ2D08LlB5muaB5af2QQjzrjYbIw"]')
  </script>
  <devsite-a11y-announce>
  </devsite-a11y-announce>
 </body>
</html>

    """
    data = f'''**Gemini 2.0 Flash Thinking** \n\nThe Gemini 2.0 Flash Thinking model is an experimental model that's trained to generate the "thinking process" the model goes through as part of its response. As a result, the Flash Thinking model is capable of stronger reasoning capabilities in its responses than the Gemini 2.0 Flash Experimental model.\n\n**Use thinking models**\n\nFlash Thinking models are available in Google AI Studio and through the Gemini API. The Gemini API doesn't return thoughts in the response.\n\nNote: The set up for gemini-2.0-flash-thinking-exp as an alias to the latest Flash Thinking model. Use this alias to get the latest Flash thinking model, or specify the full model name. \n\n**Send a basic request**\n\nThis example uses the new Google Genai SDK and the v1alpha version of the API.\n ```python\n from google import genai\nclient = genai.Client(api_key='GEMINI_API_KEY', http_options='api_version':'v1alpha')\nresponse = client.models.generate_content(\nmodel='gemini-2.0-flash-thinking-exp',\ncontents='Explain how RLHF works in simple terms.',\n)\nprint(response.text)\n```\n**Multi-turn thinking conversations**\n\nDuring multi-turn conversations, thoughts from previous turns are stripped from the model's inputs.\nThe new Google Genai SDK provides the ability to create a multi-turn chat session which is helpful to manage the state of a conversation.\n```python\nfrom google import genai\nclient = genai.Client(api_key='GEMINI_API_KEY', http_options='api_version':'v1alpha')\nchat = client.aio.chats.create(\nmodel='gemini-2.0-flash-thinking-exp',\n)\nresponse = await chat.send_message('What is your name?')\nprint(response.text)\nresponse = await chat.send_message('What did you just say before this?')\nprint(response.text)\n```\n\n**Limitations**\n\nThe Flash Thinking model is an experimental model and has the following limitations:\n\n\tNo JSON mode or Search Grounding\n\tThoughts are only shown in Google AI Studio'''

    def stream_data():
        for word in data.split(" "):
            yield word + " "
            time.sleep(0.02)


    time.sleep(3)
    with st.chat_message("assistant", avatar="πŸ€–"):
        st.write_stream(stream_data)
    # Use st.components.v1.html to render full HTML layout properly
    #st.components.v1.html(html_code, height=800, scrolling=True)
    #st.chat_message("user", avatar="πŸ§‘").markdown(f'''**Gemini 2.0 Flash Thinking** \n\nThe Gemini 2.0 Flash Thinking model is an experimental model that's trained to generate the "thinking process" the model goes through as part of its response. As a result, the Flash Thinking model is capable of stronger reasoning capabilities in its responses than the Gemini 2.0 Flash Experimental model.\n\n**Use thinking models**\n\nFlash Thinking models are available in Google AI Studio and through the Gemini API. The Gemini API doesn't return thoughts in the response.\n\nNote: The set up for gemini-2.0-flash-thinking-exp as an alias to the latest Flash Thinking model. Use this alias to get the latest Flash thinking model, or specify the full model name. \n\n**Send a basic request**\n\nThis example uses the new Google Genai SDK and the v1alpha version of the API.\n ```python\n from google import genai\nclient = genai.Client(api_key='GEMINI_API_KEY', http_options='api_version':'v1alpha')\nresponse = client.models.generate_content(\nmodel='gemini-2.0-flash-thinking-exp',\ncontents='Explain how RLHF works in simple terms.',\n)\nprint(response.text)\n```\n**Multi-turn thinking conversations**\n\nDuring multi-turn conversations, thoughts from previous turns are stripped from the model's inputs.\nThe new Google Genai SDK provides the ability to create a multi-turn chat session which is helpful to manage the state of a conversation.\n```python\nfrom google import genai\nclient = genai.Client(api_key='GEMINI_API_KEY', http_options='api_version':'v1alpha')\nchat = client.aio.chats.create(\nmodel='gemini-2.0-flash-thinking-exp',\n)\nresponse = await chat.send_message('What is your name?')\nprint(response.text)\nresponse = await chat.send_message('What did you just say before this?')\nprint(response.text)\n```\n\n**Limitations**\n\nThe Flash Thinking model is an experimental model and has the following limitations:\n\n\tNo JSON mode or Search Grounding\n\tThoughts are only shown in Google AI Studio''')