<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog Fellyph Cintra</title>
	<atom:link href="https://blog.fellyph.com.br/feed/" rel="self" type="application/rss+xml" />
	<link>https://blog.fellyph.com.br/</link>
	<description>Blog sobre WordPress, AMP, PWA e JavaScript</description>
	<lastBuildDate>Wed, 23 Jul 2025 12:41:16 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.8.2</generator>

<image>
	<url>https://blog.fellyph.com.br/wp-content/uploads/2020/07/cropped-icon_fellyph_v3-32x32.png</url>
	<title>Blog Fellyph Cintra</title>
	<link>https://blog.fellyph.com.br/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Firebase Studio com servidores MCP</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/firebase-studio-com-servidores-mcp/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/firebase-studio-com-servidores-mcp/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Wed, 23 Jul 2025 12:40:12 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[firebase]]></category>
		<category><![CDATA[mcp]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14445</guid>

					<description><![CDATA[<p>O Firebase Studio agora possui suporte a servidores Model Context Protocol (MCP), a novidade foi anunciada recentemente. Para você que não conhece o Firebase Studio eu gravei um vídeo em meu canal sobre a ferramenta que permite criar aplicações através de um prompt. O que é MCP? O Model Context Protocol (MCP) é um protocolo [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-studio-com-servidores-mcp/">Firebase Studio com servidores MCP</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>O <strong>Firebase Studio</strong> agora possui suporte a <strong>servidores Model Context Protocol (MCP)</strong>, a novidade foi anunciada recentemente. Para você que não conhece o Firebase Studio eu gravei um vídeo em meu canal sobre a ferramenta que permite criar aplicações através de um prompt.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="Firebase Studio Google quer entrar na briga com Bolt e Lovable" width="500" height="281" src="https://www.youtube.com/embed/V_okKI1wxtg?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">O que é MCP?</h3>



<p>O <strong>Model Context Protocol (MCP)</strong> é um protocolo que oferece uma forma padronizada para ambientes de desenvolvimento nativos de IA, entre clientes e servidores. Por exemplo, o <strong>Firebase Studio</strong> funciona como o cliente e se conectarem a uma vasta gama de <strong>ferramentas e fontes de dados externas</strong> (servidores MCP). </p>



<p>Os servidores MCP fornecem ferramentas e fontes de dados adicionais para modelos de Inteligência Artificial, aprimorando sua capacidade de interagir com seu espaço de trabalho. Isso significa que o Firebase Studio pode integrar o Gemini com outras ferramentas otimizando a experiência de desenvolvimento e automatizar tarefas complexas.</p>



<p>O suporte inicial do <strong>Firebase Studio</strong> para servidores MCP foca em capacitar usuários avançados a supercarregar seu fluxo de trabalho de desenvolvimento assistido por IA com integração de ferramentas e fontes de dados externas.</p>



<h3 class="wp-block-heading">Configuração do servidor MCP</h3>



<p>Para adicionar um servidor MCP no <strong>Firebase Studio</strong>, crie um arquivo <code>.idx/mcp.json</code> em seu projeto e adicione a configuração do servidor MCP a ele.</p>



<p>Aqui está um exemplo de configuração de um servidor MCP:</p>



<p>JSON</p>


<pre class="wp-block-code"><span><code class="hljs language-json">{
  <span class="hljs-attr">"mcpServers"</span>: {
    <span class="hljs-attr">"server-name"</span>: {
      <span class="hljs-attr">"command"</span>: <span class="hljs-string">"npx"</span>,
      <span class="hljs-attr">"args"</span>: &#91;<span class="hljs-string">"-y"</span>, <span class="hljs-string">"mcp-server"</span>],
      <span class="hljs-attr">"env"</span>: {
        <span class="hljs-attr">"key-name"</span>: <span class="hljs-string">"value"</span>
      }
    }
  }
}
</code></span></pre>


<p>Para mais informações sobre a configuração do servidor MCP, consulte <strong>&#8220;Customize your Firebase Studio workspace&#8221;</strong>.</p>



<p>Prefere aprendizado prático? Conclua o codelab <strong>&#8220;Firebase MCP in Firebase Studio&#8221;</strong>.</p>



<h3 class="wp-block-heading">Tipos de servidor MCP suportados e limitações</h3>



<p>Atualmente, o <strong>Firebase Studio</strong> suporta servidores MCP que usam <strong>entrada/saída padrão (stdio)</strong> ou <strong>Server-Sent Events (SSE)/transporte HTTP streamable</strong> que não exigem formas especiais de autenticação. Você também pode passar variáveis de ambiente para servidores MCP através do arquivo <code>.env</code>.</p>



<p>No entanto, o <strong>Firebase Studio</strong> atualmente <strong>não suporta</strong> servidores MCP que exigem uma interface gráfica de usuário ou uma sessão de desktop. Isso significa que servidores que controlam instâncias completas de navegador, por exemplo, não funcionarão na VM restrita do Firebase Studio. A implementação atual foca apenas na capacidade de &#8220;ferramentas&#8221; do protocolo MCP.</p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3 class="wp-block-heading">Conclusão</h3>



<p>Este lançamento é mais uma atualização relevante para o ecossistema do Firebase Studio. O futuro do <strong>Firebase Studio</strong>, se direcionado para as necessidades reais dos desenvolvedores, pode tornar a ferramenta relevante para os desenvolvedores e conduzir a uma maior adesão às ferramentas do Firebase. Confira mais conteúdo relacionado:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/">Gemini 2.5 Flash: Raciocínio Híbrido</a></li>



<li><a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/">Firebase Genkit: Seu Kit Criar Aplicativos com IA</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-studio-com-servidores-mcp/">Firebase Studio com servidores MCP</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/firebase-studio-com-servidores-mcp/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WordPress Playground</title>
		<link>https://blog.fellyph.com.br/geral/wordpress-playground/</link>
					<comments>https://blog.fellyph.com.br/geral/wordpress-playground/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Mon, 16 Jun 2025 17:11:39 +0000</pubDate>
				<category><![CDATA[Geral]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14113</guid>

					<description><![CDATA[<p>Você está cansado da configuração complexa necessária para fazer uma instância WordPress funcionar? Configurar um ambiente de desenvolvimento local geralmente significa lidar com NGINX ou Apache, PHP e um banco de dados. Isso pode ser um obstáculo significativo, especialmente quando você precisa apenas de uma instalação WordPress rápida para testes ou aprendizado. O WordPress Playground, [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/geral/wordpress-playground/">WordPress Playground</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Você está cansado da configuração complexa necessária para fazer uma instância WordPress funcionar? Configurar um ambiente de desenvolvimento local geralmente significa lidar com NGINX ou Apache, PHP e um banco de dados. Isso pode ser um obstáculo significativo, especialmente quando você precisa apenas de uma instalação WordPress rápida para testes ou aprendizado.</p>



<p>O <strong>WordPress Playground</strong>, anunciado no Google I/O de 2023, muda tudo isso. É uma ferramenta poderosa que permite executar uma instância completa do WordPress diretamente no seu navegador. Graças à tecnologia WebAssembly, toda a infraestrutura opera dentro do seu navegador, eliminando qualquer configuração complexa.</p>



<h2 class="wp-block-heading">Como o WordPress Playground funciona?</h2>



<p>Diferentemente das configurações tradicionais, onde os dados residem em um servidor físico, a estrutura WebAssembly do WordPress Playground mantém seu estado apenas enquanto sua sessão no navegador estiver ativa. Isso significa que, se você fechar e reabrir seu navegador, sua instância WordPress será reiniciada.</p>



<p>Atualmente existem mecanismos para manter o estado de uma aplicação rodando no <a href="https://playground.wordpress.net/">WordPress Playground</a>, esta funcionalidade é chamada de <code>Blueprints</code>. Eles são arquivos JSONs com configurações da instância do WordPress.</p>



<p>Para utilizar o playground existem duas alternativas, via <a href="https://playground.wordpress.net/">aplicação web</a> ou via CLI com o terminal de linha de comando. Ambos ambientes terão vantagens e desvantagens, mas primeiro precisamos discutir onde podemos utilizar o WordPress Playground.</p>



<h2 class="wp-block-heading">Utilidades do WordPress Playground</h2>



<p>O WordPress Playground pode ser utilizado em diversas situações:</p>



<ul class="wp-block-list">
<li>Treinamentos</li>



<li>Traduções</li>



<li>Desenvolvimento de plugins e temas</li>



<li>Teste de pull request feitos para o core do WordPress</li>



<li>Testes de automação</li>



<li>Ambiente de desenvolvimento</li>
</ul>



<p>Treinamentos e traduções são formas particularmente eficazes de demonstrar rapidamente o editor de sites ou o gerenciamento de conteúdo dentro do WordPress. Outra aplicação interessante é o Live Translation, que permite traduzir temas e plugins diretamente dentro da solução.</p>



<figure class="wp-block-image alignwide size-full"><img fetchpriority="high" decoding="async" width="2478" height="1546" src="https://blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation.jpg" alt="WordPress Playground em ação" class="wp-image-14423" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation.jpg 2478w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-300x187.jpg 300w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-1024x639.jpg 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-768x479.jpg 768w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-1536x958.jpg 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-2048x1278.jpg 2048w, //blog.fellyph.com.br/wp-content/uploads/2025/06/live-translation-150x94.jpg 150w" sizes="(max-width: 2478px) 100vw, 2478px" /><figcaption class="wp-element-caption">Tradução ao vivo do WordPress com o playground </figcaption></figure>



<p>Mas isso não quer dizer que as outras utilidades do Playground não são importantes. No WordCamp Europe deste ano um Workshop organizado por um dos desenvolvedores do Playground foi sobre testes de automação junto com Playground CLI. </p>



<figure class="wp-block-embed alignwide is-type-video is-provider-incorporado-de-wordpress-tv wp-block-embed-incorporado-de-wordpress-tv wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe title="VideoPress Video Player" aria-label='VideoPress Video Player' width='500' height='281' src='https://video.wordpress.com/embed/XoA0Uy30?hd=1&amp;cover=1' frameborder='0' allowfullscreen allow='clipboard-write'></iframe><script src='https://v0.wordpress.com/js/next/videopress-iframe.js?m=1739540970'></script>
</div></figure>



<p>Isso é só uma das vantagens de ter uma tecnologia como WordPress Playground disponível para desenvolvedores. </p>



<p>Outra utilidade que beneficiou todos os usuários, é o <a href="https://developer.wordpress.com/studio/">WordPress Studio</a>, um ambiente de desenvolvimento local rodando uma instalação do WordPress com diversas funcionalidades.</p>



<figure class="wp-block-image alignwide size-full"><img decoding="async" width="1936" height="1336" src="https://blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground.webp" alt="" class="wp-image-14431" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground.webp 1936w, //blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground-300x207.webp 300w, //blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground-1024x707.webp 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground-768x530.webp 768w, //blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground-1536x1060.webp 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/06/wordpress-studio-playground-150x104.webp 150w" sizes="(max-width: 1936px) 100vw, 1936px" /></figure>



<h2 class="wp-block-heading">Blueprints para WordPress Playground  </h2>



<p>Um aspeto fundamental de executar o WordPress no seu navegador é gerenciar seu estado. Quando você reinicia o navegador, o estado da aplicação é redefinido.</p>



<p>Para resolver isso, os Blueprints oferecem uma solução para controlar o estado da sua aplicação. Usando um arquivo JSON, você pode salvar as seguintes informações:</p>



<ul class="wp-block-list">
<li>Plugins instalados</li>



<li>Themas</li>



<li>Conteúdo</li>



<li>Configurações do WordPress</li>



<li>Idioma</li>



<li>Executar passo a passo das opções anteriores</li>
</ul>



<p>Se quiser editar uma blueprint existe um editor online <a href="https://playground.wordpress.net/builder/builder.html#{%22plugins%22:[],%22steps%22:[],%22preferredVersions%22:{%22php%22:%228.0%22,%22wp%22:%22latest%22},%22features%22:{},%22login%22:true}">Blueprint Builder</a>, lá tem a opção de executar uma Blueprint em um editor de código.  </p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="2560" height="1640" src="https://blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-scaled.webp" alt="Blueprint builder do WordPress Playground" class="wp-image-14432" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-scaled.webp 2560w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-300x192.webp 300w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-1024x656.webp 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-768x492.webp 768w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-1536x984.webp 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-2048x1312.webp 2048w, //blog.fellyph.com.br/wp-content/uploads/2025/06/playground-blueprint-builder-150x96.webp 150w" sizes="auto, (max-width: 2560px) 100vw, 2560px" /></figure>



<p>Na imagem acima podemos ver o playground builder em ação, podemos ter a possibilidade de editar o código e visualizar o resultado em tempo real.</p>



<h2 class="wp-block-heading">Playground CLI </h2>



<p>Por muito tempo o <code>wp-now </code>essa a solução de CLI com o Playground, agora o Playground CLI tem uma versão dedicada, o <code>@wp-playground/cli</code> é a versão a qual deve ser utilizada no momento. Para usar modelo precisa instalar o cli no seu projeto com:</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">npm</span> <span class="hljs-selector-tag">i</span> <span class="hljs-keyword">@wp-playground</span>/cli</code></span></pre>


<p>Com esse comando poderá executar o na pasta do seu plugin ou tema com o seguinte comando:</p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-tag">npx</span> <span class="hljs-keyword">@wp-playground</span>/cli server --automount</code></span></pre>


<p>Executando este comando o CLI irá iniciar um servidor com o plugin ou tem a executar no navegador. Isso é só uma prova do que o WordPress Playground pode fazer.</p>



<h2 class="wp-block-heading">Conclusão </h2>



<p>Essa foi uma breve introdução sobre WordPress Playground onde iremos abordar mais sobre o tema aqui no Blog. Para acompanhar mais conteúdo relacionado nos seguintes links:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/wordpress-2/melhorias-de-performance-no-wordpress-6-3/">Melhorias de performance no WordPress 6.3</a></li>



<li><a href="https://blog.fellyph.com.br/wordpress-2/wordpress-state-of-the-word-2022/">WordPress State of the Word 2022</a></li>



<li><a href="https://blog.fellyph.com.br/geral/o-que-e-wordpress-headless/">O que é WordPress Headless?</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/geral/wordpress-playground/">WordPress Playground</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/geral/wordpress-playground/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gemini 2.5 Flash: Raciocínio Híbrido</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Mon, 21 Apr 2025 08:59:05 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[gemini]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14398</guid>

					<description><![CDATA[<p>A nova versão do modelo de IA do Google Gemini está disponível na duas versão 2.5. O Gemini 2.5 Flash está em formato experimental onde podemos testar o modelo no Google AI Studio ou no aplicação do Gemini para usuários. Poucos meses após o anúncio do Gemini 2.0 a nova versão do modelo Gemini vem [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/">Gemini 2.5 Flash: Raciocínio Híbrido</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A nova versão do modelo de IA do Google Gemini está disponível na duas versão 2.5. O Gemini 2.5 Flash está em formato experimental onde podemos testar o modelo no <a href="https://aistudio.google.com/">Google AI Studio</a> ou no  aplicação do Gemini para usuários. </p>



<p>Poucos meses após o anúncio do Gemini 2.0 a nova versão do modelo Gemini vem focado na funcionalidade de raciocínio(reasoning), mas com uma feature especial o raciocínio dinâmico onde o desenvolvedor pode escolher quanto tempo o modelo irá gastar pensando sobre o resultado.</p>



<h2 class="wp-block-heading">O Poder Híbrido: Por Que o Gemini 2.5 Flash é Especial</h2>



<p>O que torna o Gemini 2.5 Flash especial é sua natureza como nosso primeiro modelo de raciocínio totalmente híbrido. Isso significa que os desenvolvedores agora têm o controle granular para ativar ou desativar o processo de &#8220;pensamento&#8221; do modelo. </p>



<p>Mesmo com o pensamento desativado, o Gemini 2.5 Flash mantém a alta velocidade do seu antecessor e ainda oferece melhorias de desempenho. Ele se destaca por oferecer uma excelente relação custo-desempenho, sendo nosso modelo de pensamento mais econômico. Quando o raciocinio é habilitado a qualidade do resultados melhora gradualmente, assim fica a cargo do Desenvolvedor decidir qual é o ponto idela de raciociocínio da aplicação.</p>



<figure class="wp-block-image alignwide size-large"><img loading="lazy" decoding="async" width="1024" height="559" src="https://blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-1024x559.png" alt="Gráfico comparando o desempenho do modelo gemini 2.5 flash com e sem racioncínio" class="wp-image-14399" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-1024x559.png 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-300x164.png 300w, //blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-768x419.png 768w, //blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-1536x838.png 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-2048x1117.png 2048w, //blog.fellyph.com.br/wp-content/uploads/2025/04/gemini_s_b_s_scaling_graphs.original-150x82.png 150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">Quando Ativar o &#8220;Pensamento&#8221;?</h2>



<p>A capacidade de raciocínio do Gemini 2.5 Flash é particularmente útil para tarefas complexas que exigem múltiplas etapas de lógica, como resolver problemas matemáticos ou analisar questões de pesquisa complexas. </p>



<p>Nesses cenários, permitir que o modelo &#8220;pense&#8221; antes de responder leva a resultados mais precisos e abrangentes. No entanto, para prompts mais simples (como traduções rápidas ou perguntas factuais diretas), desativar ou limitar o raciocínio pode otimizar a velocidade e o custo, mantendo uma performance robusta. </p>



<p>A decisão de usar ou não o raciocínio depende do equilíbrio desejado entre qualidade da resposta, custo e latência para seu caso de uso específico. E os desenvolvedores podem controlar essa questão em diferentes momentos em uma aplicação.</p>



<h2 class="wp-block-heading">Controle Fino: Implementando o Raciocínio em Suas Aplicações</h2>



<p>Integrar e controlar o raciocínio em suas aplicações é simples. Você pode gerenciar a capacidade de pensamento do Gemini 2.5 Flash definindo um <code>thinking_budget</code>orçamento de pensamento)  para Python e o objeto thinkingConfig para TypeScript(exemplo abaixo), através de um parâmetro na API Gemini ou usando o controle deslizante no Google AI Studio e Vertex AI. </p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">    <span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> genAI.models.generateContentStream({
        <span class="hljs-attr">model</span>: <span class="hljs-string">'gemini-2.5-flash-preview-04-17'</span>,
        <span class="hljs-attr">contents</span>: &#91;
            {
                <span class="hljs-attr">role</span>: <span class="hljs-string">'user'</span>,
                <span class="hljs-attr">parts</span>: &#91;
                    {
                        <span class="hljs-attr">text</span>: <span class="hljs-string">'Talk about the main programing languages and their features.'</span>,
                    },
                ],
            },
        ],
        <span class="hljs-attr">config</span>: {
            <span class="hljs-attr">thinkingConfig</span>: {
                <span class="hljs-attr">includeThoughts</span>: <span class="hljs-literal">true</span>,
                <span class="hljs-attr">thinkingBudget</span>: <span class="hljs-number">8000</span>,
            },
        },
    });</code></span></pre>


<p>Este orçamento define o número máximo de tokens que o modelo pode usar durante sua fase de pensamento, variando de 0 (desativado) até 24.576 tokens para o 2.5 Flash.</p>



<h2 class="wp-block-heading">Gerenciando Custos e Desempenho do Raciocínio</h2>



<p>Em relação aos custos, o uso do raciocínio está vinculado ao <code>thinking_budget</code> ou  que você define. Um orçamento maior permite que o modelo realize um raciocínio mais extenso para potencialmente melhorar a qualidade, mas pode impactar o custo e a latência. </p>



<p>É importante notar que o modelo é treinado para avaliar a complexidade da tarefa e usará apenas a quantidade de orçamento necessária, não necessariamente o máximo alocado. Definir o orçamento como 0 resulta no menor custo e latência, ainda assim superando o desempenho do 2.0 Flash. Isso oferece flexibilidade para ajustar o modelo precisamente às suas necessidades.</p>



<p>Testando o prompt: <strong>Fale sobre as 3 principais liguagens de desenvolvimento e suas features principais.</strong></p>



<p><strong>Com raciocínio habilitado(8000):</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-php">Com certeza! Quando falamos em <span class="hljs-string">"linguagens de desenvolvimento"</span>, o <span class="hljs-string">"top 3"</span> pode variar um pouco dependendo <span class="hljs-keyword">do</span> contexto (web, mobile, sistemas embarcados, data science, etc.), mas algumas linguagens são consistent
emente populares e versáteis, figurando em muitos desses tops. <span class="hljs-keyword">As</span> três mais frequentemente citadas e com maior impacto geral são:

<span class="hljs-number">1.</span>  **Python**
<span class="hljs-number">2.</span>  **JavaScript**
<span class="hljs-number">3.</span>  **Java**

Vamos falar
 sobre cada uma delas e suas principais características:

---

<span class="hljs-comment">### 1. Python</span>

**O que é:** Python é uma linguagem de programação de alto nível, interpretada, de propósito geral. É conhecida por sua sintaxe clara e leg
ível, o que a torna relativamente fácil de aprender e usar.

**Onde é muito usada:**
*   Desenvolvimento Web (com frameworks como Django e Flask)
*   Ciência de Dados e Análise de Dados
*   Inteligência
 Artificial e Machine Learning (com bibliotecas como TensorFlow, PyTorch, scikit-learn)
*   Automação e Scripting
*   Desenvolvimento de Jogos (básico, com Pygame)

**Features Principais:**


*   **Simplicidade e Legibilidade:** A sintaxe é projetada para ser intuitiva, com uso significativo de indentação para definir blocos de código. Isso reduz a complexidade e facilita a manutenção.
*   **Versat
ilidade:** Sua ampla gama de aplicações, desde scripts simples até sistemas complexos de IA e web, a torna extremamente flexível.
*   **Grande Comunidade e Ecossistema Rico:** Possui uma das maiores e mais ativas comunidades
 de desenvolvedores <span class="hljs-keyword">do</span> mundo. Isso resulta em uma vasta quantidade de bibliotecas (packages) e frameworks disponíveis para quase qualquer tarefa imaginável.
*   **Interpretada:** O código Python não é compilado para código de máquina antes da
 execução (em sua forma tradicional). Isso acelera o ciclo de desenvolvimento, mas pode resultar em performance um pouco inferior comparada a linguagens compiladas em tarefas intensivas de CPU (embora C extensions e JITs ajudem a
 mitigar isso).
*   **Tipagem Dinâmica e Forte:** Os tipos de variáveis são verificados em tempo de execução (dinâmica), mas Python geralmente impede operações entre tipos incompatíveis sem conversão explícita (forte), reduz
indo erros inesperados.

---

<span class="hljs-comment">### 2. JavaScript</span>

**O que é:** JavaScript (frequentemente abreviado como JS) é uma linguagem de programação de alto nível, interpretada (ou compilada Just-In
-Time em engines modernas), principalmente conhecida por ser a linguagem <span class="hljs-string">"da web"</span>.

**Onde é muito usada:**
*   **Desenvolvimento Web Front-end:** É a linguagem padrão para tornar páginas web interativas e dinâmicas,
 executando diretamente no navegador <span class="hljs-keyword">do</span> usuário.
*   **Desenvolvimento Web Back-end:** Com o Node.js, JavaScript pode ser usado para construir servidores e APIs, permitindo o desenvolvimento <span class="hljs-string">"full-stack"</span> (front-end e back-end
) com a mesma linguagem.
*   **Desenvolvimento Mobile:** Com frameworks como React Native e NativeScript, pode ser usada para criar aplicativos nativos para iOS e Android.
*   **Desenvolvimento Desktop:** Com frameworks como Electron
.

**Features Principais:**

*   **Onipresença no Web Frontend:** É a única linguagem que roda nativamente em praticamente todos os navegadores, sendo essencial para qualquer desenvolvimento web moderno.
*   **Assíncrono e Orientado
 a Eventos:** É projetada para lidar com operações que levam tempo (como requisições de rede) sem bloquear a execução principal, o que é crucial para interfaces de usuário responsivas e servidores eficientes (Node.js).
*
   **Ecossistema Gigante (NPM):** O gerenciador de pacotes NPM (Node Package Manager) é o maior <span class="hljs-keyword">do</span> mundo, com inúmeras bibliotecas e frameworks para tudo (React, Angular, Vue.js para front-end;
 Express, NestJS para back-end; etc.).
*   **Tipagem Dinâmica e Fraca:** Os tipos são verificados em tempo de execução (dinâmica), e a linguagem tende a fazer coerção de tipos automática (
fraca), o que pode levar a comportamentos inesperados se não <span class="hljs-keyword">for</span> tratada com cuidado (embora TypeScript ajude a adicionar tipagem estática).
*   **Flexibilidade de Paradigmas:** Suporta programação orientada a objetos, funcional e
 imperativa.

---

<span class="hljs-comment">### 3. Java</span>

**O que é:** Java é uma linguagem de programação de alto nível, orientada a objetos, compilada (para bytecode) e conhecida pelo seu lema <span class="hljs-string">"Write Once,
 Run Anywhere"</span> (Escreva uma vez, execute em qualquer lugar).

**Onde é muito usada:**
*   **Aplicações Empresariais (Enterprise):** Sistemas de larga escala, back-ends robustos, sistemas
 bancários.
*   **Desenvolvimento Android:** É a linguagem nativa (junto com Kotlin) para a criação de aplicativos para dispositivos Android.
*   **Sistemas de Big Data:** Tecnologias como Hadoop e Spark são escrit
<span class="hljs-keyword">as</span> em Java ou têm forte integração com Java.
*   **Aplicações Web Back-end:** Com frameworks como Spring e Jakarta EE.
*   **Sistemas Embarcados e Dispositivos.**

**Features Principais:**


*   **Plataforma Independente (JVM):** O código Java é compilado para bytecode que roda na Java Virtual Machine (JVM). A JVM está disponível para a maioria dos sistemas operacionais e hardwares, garantindo a
 portabilidade <span class="hljs-keyword">do</span> código.
*   **Orientação a Objetos Forte:** Java é rigidamente orientada a objetos, o que encoraja o design modular e reutilizável.
*   **Performance:** Sendo compilada para bytecode que
 é otimizado pela JVM, Java geralmente oferece boa performance, especialmente para aplicações de longa duração.
*   **Gerenciamento Automático de Memória (Garbage Collection):** A JVM cuida da alocação e lib
eração de memória, reduzindo o risco de vazamentos de memória e simplificando o trabalho <span class="hljs-keyword">do</span> desenvolvedor.
*   **Ecossistema Maduro e Robusto:** Possui um vasto conjunto de bibliotecas padrão e frameworks empres
ariais (Spring é um dos mais populares). É uma escolha sólida para projetos grandes e de missão crítica.
*   **Tipagem Estática e Forte:** Os tipos são verificados em tempo de compilação (estática), peg
ando muitos erros antes da execução. É também fortemente tipada, impedindo operações inválidas entre tipos.

---

Essas três linguagens representam uma parcela significativa <span class="hljs-keyword">do</span> desenvolvimento de software <span class="hljs-keyword">global</span>, cada uma com seus pontos fortes e dom
ínios onde brilham mais. A escolha entre elas (ou aprender mais de uma) depende dos seus objetivos de carreira ou <span class="hljs-keyword">do</span> tipo de projeto que você pretende desenvolver.</code></span></pre>


<p><strong>Sem raciocínio habilitado(0 tokens):</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-javascript">Com certeza! É
 importante ressaltar que <span class="hljs-string">"principais"</span> pode ser subjetivo, mas <span class="hljs-keyword">as</span> três linguagens que consistentemente figuram entre <span class="hljs-keyword">as</span> mais populares e influentes no desenvolvimento de software são **Python, JavaScript e Java**.  Cada uma tem suas características
 e nichos de mercado fortes.

Vamos detalhar <span class="hljs-keyword">as</span> principais features de cada uma:

**<span class="hljs-number">1.</span> Python**

Python é uma linguagem de programação de alto nível, interpretada, de tipagem dinâmica e multiparadigma. Sua popularidade
 se deve em grande parte à sua simplicidade e legibilidade.

**Principais Features:**

* **Sintaxe Clara e Concisa:** A sintaxe de Python é projetada para ser fácil de ler e escrever, utilizando indent
ação para definir blocos de código em vez de chaves ou ponto e vírgulas. Isso a torna uma excelente linguagem para iniciantes.
* **Grande Biblioteca Padrão:** Python vem com uma vasta biblioteca padrão que oferece módulos
 para diversas tarefas, desde manipulação de arquivos e operações de rede até desenvolvimento web e ciência de dados. Isso acelera o desenvolvimento, pois não é necessário escrever código <span class="hljs-keyword">do</span> zero para muitas funcionalidades comuns.
* **Comunidade Enorme e Ativa:** A
 comunidade Python é vasta, amigável e oferece suporte abundante através de fóruns, documentação extensa e inúmeros pacotes de terceiros (como NumPy, Pandas, Django, Flask, etc.).
* **Versatilidade:** Python é usada
 em uma ampla gama de aplicações, incluindo desenvolvimento web (com frameworks como Django e Flask), ciência de dados e aprendizado de máquina (com bibliotecas como Pandas, NumPy, scikit-learn, TensorFlow), automação de tarefas, scripts
, desenvolvimento de jogos e muito mais.
* **Multiparadigma:** Suporta múltiplos paradigmas de programação, incluindo programação orientada a objetos (POO), programação imperativa e programação funcional.
* **Tipagem Dinâmica
:** A tipagem de variáveis é verificada em tempo de execução, o que oferece flexibilidade, mas pode exigir mais cuidado para evitar erros de tipo.
* **Linguagem Interpretada:** O código Python é executado linha por linha por um interpretador
, o que facilita a prototipagem e o teste.

**<span class="hljs-number">2.</span> JavaScript**

JavaScript é uma linguagem de programação de alto nível, interpretada, de tipagem dinâmica e orientada a objetos, principalmente conhecida por seu uso no desenvolvimento web.

**
Principais Features:**

* **Linguagem <span class="hljs-keyword">do</span> Navegador:** JavaScript é a linguagem padrão para o desenvolvimento front-end da web, permitindo a criação de interatividade, animações e manipulação dinâmica de elementos HTML e CSS diretamente
 no navegador <span class="hljs-keyword">do</span> usuário.
* **Ecossistema Node.js:** Com o advento <span class="hljs-keyword">do</span> Node.js, JavaScript se tornou uma linguagem completa para o desenvolvimento back-end, permitindo a construção de servidores, APIs e aplicações escal
áveis. Isso possibilita o desenvolvimento full-stack com uma única linguagem.
* **Grande Variedade de Frameworks e Bibliotecas:** O ecossistema JavaScript é extremamente rico em frameworks e bibliotecas para diversas finalidades, tanto
 no front-end (como React, Angular, Vue.js) quanto no back-end (como Express, Koa). Isso acelera o desenvolvimento de aplicações complexas.
* **Assincronicidade e Event-Driven:** JavaScript é iner
entemente assíncrono e orientado a eventos, o que o torna ideal para lidar com operações que levam tempo, como requisições de rede, sem bloquear a execução <span class="hljs-keyword">do</span> programa. Isso é crucial para aplicações web responsivas.
* **Tip
agem Dinâmica:** Similar ao Python, a tipagem é verificada em tempo de execução.
* **Interação com HTML e CSS:** Possui integração nativa e poderosa para manipular a estrutura (HTML) e o estilo (CSS) das
 páginas web.
* **Ideal para Aplicações Web Modernas:** É a base para a construção de Single Page Applications (SPAs) e Progressive Web Apps (PWAs), que oferecem experiências de usuário ricas e fluidas.

**<span class="hljs-number">3.</span>
 Java**

Java é uma linguagem de programação de alto nível, compilada, de tipagem estática e orientada a objetos. É conhecida por sua portabilidade, robustez e desempenho.

**Principais Features:**

* **Pl
ataforma Independente (<span class="hljs-string">"Write Once, Run Anywhere"</span>):** O código Java é compilado para bytecode, que pode ser executado em qualquer máquina que possua uma Java Virtual Machine (JVM). Isso garante a portabilidade <span class="hljs-keyword">do</span> código em diferentes sistemas operacionais.

* **Orientação a Objetos Robusta:** Java é fortemente orientada a objetos, com conceitos como classes, objetos, herança, polimorfismo e encapsulamento bem definidos. Isso facilita a organização <span class="hljs-keyword">do</span> código e a
 reutilização.
* **Tipagem Estática:** A tipagem das variáveis é verificada em tempo de compilação, o que ajuda a detectar erros de tipo antes da execução <span class="hljs-keyword">do</span> código, aumentando a segurança e a estabilidade.

* **Gerenciamento Automático de Memória (Garbage Collection):** A JVM gerencia automaticamente a alocação e desalocação de memória, aliviando o desenvolvedor da responsabilidade de liberar memória manualmente.
* **Performance
:** Embora seja interpretado pelo JVM, o bytecode Java pode ser otimizado pela JIT (Just-In-Time) Compilation, resultando em bom desempenho.
* **Ecossistema Maduro e Completo:** Java possui um ecossistema enorme e
 maduro, com uma vasta quantidade de bibliotecas, frameworks (como Spring, Hibernate, Jakarta EE), ferramentas de desenvolvimento (IDEs como Eclipse, IntelliJ IDEA) e documentação.
* **Ideal para Aplicações Empresariais e
 de Grande Escala:** Java é amplamente utilizado no desenvolvimento de aplicações empresariais, sistemas distribuídos, aplicações mobile (Android), sistemas embarcados e sistemas de big data devido à sua robustez, escalabilidade e segurança.

* **Multithreading Nativo:** Java possui suporte nativo para multithreading, permitindo a execução de múltiplas tarefas simultaneamente, o que é crucial para aplicações de alto desempenho.

**Em resumo:**

* **Python:** F
oco na simplicidade, legibilidade e versatilidade, excelente para iniciantes, ciência de dados e automação.
* **JavaScript:** Dominante no desenvolvimento web (front-end e back-end), ideal para aplicações interativas e em
 tempo real.
* **Java:** Foco na robustez, desempenho, portabilidade e orientação a objetos, ideal para aplicações empresariais e de grande escala.

A escolha da <span class="hljs-string">"melhor"</span> linguagem depende muito <span class="hljs-keyword">do</span> tipo de projeto, dos
 objetivos e das preferências <span class="hljs-keyword">do</span> desenvolvedor. Cada uma dessas linguagens tem seu lugar de destaque no cenário <span class="hljs-keyword">do</span> desenvolvimento de software.</code></span></pre>


<h2 class="wp-block-heading">Conclusão</h2>



<p>O modelo Gemini 2.5 Flash está com uma melhora de desempenho nas resultados sem racioncínio mas é clara a diferença na qualidade da responta com raciocínio e sem raciocínio. Comparando os dois textos acima o Gemini 2.5 Flash com raciocínio tem uma melhor consistencia e foco no conteúdo principal, criando uma estrutura mais clara e matendo o escopo e alguns testes o modelo sem raciocínio aplicado. </p>



<p>Outros testes que realizei sem passar as configurações, por padrão o modelo realiza raciocínio. Então para garantir que o modelo não gaste tokens com raciocínio passe o valor <code>thinkingBudget</code> como 0.</p>



<p>Se gostou desse conteúdo e quer ler mais sobre os modelos do Gemini confira os posts:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/">Veo: IA do Google para criar Vídeos</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a></li>
</ul>



<p></p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/">Gemini 2.5 Flash: Raciocínio Híbrido</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/gemini-2-5-flash/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Veo: IA do Google para criar Vídeos</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Sat, 19 Apr 2025 07:51:54 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14387</guid>

					<description><![CDATA[<p>A inteligência artificial generativa está a revolucionar a criação de conteúdo, e o Veo, o modelo de geração de vídeo de ponta do Google, está disponível para programadores e criadores de conteúdo. Acessível através da API Gemini, o Veo permite transformar descrições textuais e imagens em vídeos de alta qualidade, abrindo um leque de possibilidades [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/">Veo: IA do Google para criar Vídeos</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A inteligência artificial generativa está a revolucionar a criação de conteúdo, e o <strong>Veo</strong>, o modelo de geração de vídeo de ponta do Google, está disponível para programadores e criadores de conteúdo. </p>



<p>Acessível através da <strong>API Gemini</strong>, o Veo permite transformar descrições textuais e imagens em vídeos de alta qualidade, abrindo um leque de possibilidades criativas. Podemos testar o modelo no <a href="https://aistudio.google.com/generate-video">Google AI Studio</a>. Este guia oferece dicas práticas para começar a trabalhar com o Veo.</p>



<figure class="wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Veo 2 - IA do Google para criar Vídeos" width="500" height="281" src="https://www.youtube.com/embed/7E1Su7XZ2GQ?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h2 class="wp-block-heading">O que é VEO ?</h2>



<p>O <strong>Veo</strong> é o modelo de geração de vídeo mais avançado e eficiente do Google até o momento, acessível através da API Gemini. Ele foi projetado para transformar comandos de texto (prompts) e imagens fornecidas pelo usuário em vídeos de alta qualidade. </p>



<p>O Veo é capaz de gerar vídeos numa ampla variedade de estilos visuais e cinematográficos, compreendendo as nuances dos prompts para renderizar detalhes complexos de forma consistente em todos os frames. Essencialmente, é uma ferramenta poderosa para criar aplicações de IA de última geração focadas em vídeo.</p>



<h3 class="wp-block-heading">A Arte do Prompt: Dicas para o Veo</h3>



<p>Criar o prompt perfeito é crucial para obter o resultado desejado. Esse é um ponto extremamente importante quando nos falamos de uma API com o custo elevado assim não temos muita margem para erro. </p>



<p>Assim as instruções precisam ser descritivas e claras. Comece com a ideia principal e refine-a com detalhes:</p>



<ul class="wp-block-list">
<li><strong>Elementos Essenciais:</strong>
<ul class="wp-block-list">
<li><strong>Assunto:</strong> O objeto, pessoa, animal ou cenário principal.</li>



<li><strong>Contexto:</strong> O ambiente ou plano de fundo.</li>



<li><strong>Ação:</strong> O que o assunto está a fazer.</li>



<li><strong>Estilo:</strong> O visual pretendido (ex: cinematográfico, animação 3D, filme noir, ficção científica).</li>
</ul>
</li>



<li><strong>Detalhes que Fazem a Diferença (Opcional):</strong>
<ul class="wp-block-list">
<li><strong>Movimento da Câmara:</strong> Como a câmara se move (ex: panorâmica, zoom, travelling, vista aérea).</li>



<li><strong>Composição:</strong> O enquadramento (ex: plano geral, close-up, plano detalhe).</li>



<li><strong>Ambiente/Ambiência:</strong> A iluminação e cor (ex: tons quentes, luz do pôr do sol, tons azuis frios).</li>
</ul>
</li>



<li><strong>Dicas Adicionais:</strong>
<ul class="wp-block-list">
<li><strong>Use Linguagem Descritiva:</strong> Adjetivos e advérbios enriquecem a visão do Veo.</li>



<li><strong>Incorpore Terminologia de Vídeo:</strong> Use termos como &#8220;plano de ombro&#8221;, &#8220;ângulo alto&#8221;, &#8220;foco superficial&#8221;, &#8220;lente grande-angular&#8221; para maior controlo.</li>



<li><strong>Referencie Estilos:</strong> Mencione estilos artísticos ou cinematográficos específicos.</li>



<li><strong>Prompts Negativos:</strong> Para excluir elementos, descreva o que <em>não</em> quer ver (ex: &#8220;fundo urbano, estruturas artificiais&#8221;), em vez de usar comandos como &#8220;não mostre paredes&#8221;.</li>
</ul>
</li>
</ul>



<figure class="wp-block-image alignwide size-large"><img loading="lazy" decoding="async" width="1024" height="576" src="https://blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia-1024x576.jpg" alt="google veo criando vídeos com IA" class="wp-image-14394" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia-1024x576.jpg 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia-300x169.jpg 300w, //blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia-768x432.jpg 768w, //blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia-150x84.jpg 150w, //blog.fellyph.com.br/wp-content/uploads/2025/04/criando-videos-com-ia.jpg 1280w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">Prompts de Vídeo vs. Prompts de Texto: Qual a Diferença?</h3>



<p>Muitos dos usuários estão habituados com a geração de textos com Inteligência artificial. Mas enquanto um prompt para gerar texto foca na informação, estrutura ou narrativa.</p>



<p>Um prompt para gerar vídeo com o Veo exige uma atenção maior aos detalhes visuais e temporais. É preciso descrever não apenas <em>o quê</em>, mas <em>como</em> acontece visualmente:</p>



<ul class="wp-block-list">
<li><strong>Ênfase no Movimento:</strong> Descrever a ação do sujeito e o movimento da câmara é fundamental.</li>



<li><strong>Detalhes Visuais:</strong> Cor, luz, composição e estilo cinematográfico são mais proeminentes.</li>



<li><strong>Terminologia Específica:</strong> O uso de termos de cinema e vídeo ajuda o Veo a entender nuances visuais e de movimento que não são relevantes para a geração de texto.</li>
</ul>



<p>O processo de adaptação leva um tempo mas tome notas sobre o estilo que mais se identifica ou que se adapta a sua marca. Para facilitar a sua vida na hora da geração de vídeos com IA.</p>



<h3 class="wp-block-heading">Custo do Veo 2</h3>



<p>É importante notar que o <strong>Veo</strong> (especificamente o Veo 2, acessado via <strong>API Gemini</strong>) é um recurso pago. Diferente de alguns outros serviços que podem ter um nível gratuito, a utilização do Veo para gerar vídeos implica custos.  </p>



<p>Atualmente o Veo custa 0.35 centavos de dolares, para obter os detalhes mais atualizados sobre os preços, incluindo como a utilização é medida e faturada, é recomendado consultar diretamente a <a href="https://ai.google.dev/gemini-api/docs/pricing?hl=pt-br#veo-2">página oficial de preços</a> da <strong>API Gemini</strong> no site Google AI for Developers.</p>



<h3 class="wp-block-heading">Onde Utilizar Vídeos Gerados por IA?</h3>



<p>Os vídeos criados por IA podem atender diversas demandas para otimizar tempo e ajudar no processo criativo. Os vídeos criados pelo Veo podem ter inúmeras aplicações:</p>



<ul class="wp-block-list">
<li><strong>Marketing e Publicidade:</strong> Criar anúncios curtos, vídeos para redes sociais, ou visualizações de produtos.</li>



<li><strong>E-commerce:</strong> Visualizar produtos em uma nova pespectiva mas claro aplicando os vídeos de forma realista.</li>



<li><strong>Conteúdo Educacional:</strong> Gerar animações explicativas ou ilustrações de conceitos complexos.</li>



<li><strong>Arte e Entretenimento:</strong> Explorar novas estéticas visuais e criar peças artísticas únicas.</li>



<li><strong>Conteúdo para Redes Sociais:</strong> Produzir clipes curtos e envolventes para plataformas como YouTube Shorts ou Instagram Reels.</li>
</ul>



<h2 class="wp-block-heading">Regras de segurança do Veo</h2>



<p>O Veo possui diversar regras de segurança pois o uso de geração de vídeos com inteligência atificial nas mãos erradas podem ser um problema. Para isso o Veo possui uma série de filtros de segurança.</p>



<p><strong>Filtros de Segurança Integrados:</strong> O Veo aplica filtros de segurança (seja usado via API Gemini ou Vertex AI) para garantir que tanto os comandos (prompts) quanto as imagens enviadas, bem como os vídeos gerados, não contenham conteúdo ofensivo. </p>



<p><strong>Bloqueio de Solicitações Inadequadas:</strong> Solicitações que violem os termos, diretrizes de uso ou as diretrizes de IA Responsável do Google são bloqueadas, impedindo a geração de conteúdo que vá contra essas políticas. </p>



<p><strong>Verificação de Saída:</strong> Os vídeos gerados passam por processos de verificação (como &#8220;verificação de memorização&#8221;) para ajudar a reduzir riscos relacionados à privacidade, direitos autorais e vieses. </p>



<p><strong>Marca d&#8217;água Digital (SynthID):</strong> Os vídeos criados pelo Veo recebem uma marca d&#8217;água digital usando a tecnologia SynthID do Google. Isso serve para identificar o conteúdo como sendo gerado por inteligência artificial.</p>



<p><strong>Mecanismo de Denúncia:</strong> Existe um processo para que usuários possam denunciar suspeitas de abuso ou conteúdo inadequado/impreciso gerado pelo Veo.</p>



<h2 class="wp-block-heading">Conclusão</h2>



<p>O <strong>Veo</strong> e a <strong>API Gemini</strong> representam um salto significativo na criação de conteúdo visual. Ao dominar a arte do prompt, estar ciente dos custos associados e explorar as ferramentas certas, pode desbloquear um potencial criativo sem precedentes. Experimente e veja as suas ideias ganharem vida!</p>



<p>Para mais conteúdo relacionado:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/">Firebase Genkit: Seu Kit Criar Aplicativos com IA</a></li>



<li><a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/">É realmente possível ganhar dinheiro criando sites com IA?</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/">Veo: IA do Google para criar Vídeos</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/veo-ia-goolge-para-criar-videos/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Firebase Genkit: Seu Kit Criar Aplicativos com IA</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Mon, 14 Apr 2025 08:06:17 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14375</guid>

					<description><![CDATA[<p>Conheça o firebase genkit o kit para criar aplicativos com ia</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/">Firebase Genkit: Seu Kit Criar Aplicativos com IA</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>O Firebase Genkit permite criar aplicativos inteligentes e utilizando os principais modelos de IA e os recursos essenciais para a integração nas suas aplicações web. No ano passado tivemos uma prévia do Firebase Genkit e esse ano tivemos o lançamento da versão 1.0 do kit para desenvolvedores. </p>



<figure class="wp-block-image alignwide size-full"><img loading="lazy" decoding="async" width="1024" height="565" src="https://blog.fellyph.com.br/wp-content/uploads/2025/04/firebase-ai-genkit-1.jpeg" alt="firebase genkit " class="wp-image-14383" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/04/firebase-ai-genkit-1.jpeg 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/04/firebase-ai-genkit-1-300x166.jpeg 300w, //blog.fellyph.com.br/wp-content/uploads/2025/04/firebase-ai-genkit-1-768x424.jpeg 768w, //blog.fellyph.com.br/wp-content/uploads/2025/04/firebase-ai-genkit-1-150x83.jpeg 150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h3 class="wp-block-heading">O Que é o Firebase Genkit?</h3>



<p>O Genkit é um <strong>framework de código aberto, priorizando o desenvolvedor</strong>, para construir recursos alimentados por IA para seus aplicativos. Ele permite que desenvolvedores integrem <strong>agentes, automações e funcionalidades com tecnologia de IA diretamente em seus aplicativos</strong>. </p>



<p>O Genkit oferece suporte imediato aos modelos <strong>Gemini</strong> do Google, <strong>Imagen e Anthropic</strong> via Vertex, e uma ampla variedade de outros modelos através de nossos <strong>plugins da comunidade</strong>, incluindo OpenAI e GitHub. </p>



<p>Além disso, o Genkit facilita o uso de modelos auto-hospedados como Gemma, Llama e DeepSeek através de sua integração com Ollama. Atualmente, o Genkit está pronto para produção para Node.js e em alpha para Go. Ele também possui ferramentas de desenvolvimento local integradas para teste, depuração e gerenciamento de prompts.</p>



<h3 class="wp-block-heading">Por Que Usar o Genkit?</h3>



<p>O Genkit simplifica a complexidade da integração de componentes de IA. Ele fornece <strong>APIs unificadas</strong> para interagir com diversos modelos de diferentes provedores, permitindo que você explore e escolha os melhores modelos para suas necessidades. </p>



<p>Seja para construir <strong>chatbots, agentes inteligentes, automações de fluxo de trabalho ou sistemas de recomendação</strong>, o Genkit lida com a complexidade da integração de IA para que você possa se concentrar na criação de experiências de usuário incríveis.</p>



<h3 class="wp-block-heading">Principais Recursos do Genkit 1.0</h3>



<p>O Genkit 1.0 oferece blocos de construção poderosos para facilitar a criação de recursos complexos de IA:</p>



<ul class="wp-block-list">
<li><strong>API de Geração Unificada:</strong> Use modelos de qualquer provedor dentro do crescente ecossistema de plugins do Genkit para gerar conteúdo (texto, mídia, saída estruturada) usando uma API única e adaptável.</li>



<li><strong>Geração Estruturada:</strong> Gere e transmita dados estruturados, incluindo JSON e formatos personalizados, com validação integrada para fácil integração e manipulação de dados em seu aplicativo.</li>



<li><strong>Chamada de Ferramentas / Funções:</strong> Permita que os modelos chamem automaticamente funções personalizadas para concluir tarefas complexas, desbloqueando funcionalidades avançadas de agentes.</li>



<li><strong>Busca Vetorial (RAG):</strong> Melhore a relevância e precisão do conteúdo gerado, recuperando contexto importante de várias fontes de dados. O Genkit facilita a implementação de RAG com os chamados &#8220;retrievers&#8221;.</li>



<li><strong>Agentes:</strong> Construa experiências interativas com recursos como uma API de chat multi-turno, estado de sessão e a capacidade de combinar prompts para sistemas multi-agentes.</li>



<li><strong>Ferramentas de Desenvolvimento Local:</strong> O Genkit fornece uma <strong>CLI dedicada</strong> e uma <strong>interface de usuário de desenvolvimento local-first</strong> que permite construir, testar e refinar seus aplicativos de IA rapidamente. Experimente diferentes funções, prompts e consultas para otimizar o comportamento do seu aplicativo. A interface intuitiva permite iterar e testar variações rapidamente, garantindo que você alcance os resultados desejados.</li>



<li><strong>Monitoramento de Produção:</strong> Obtenha visibilidade total dos seus recursos de IA em produção com monitoramento integrado ao implantar o Genkit no Firebase ou Google Cloud. Acompanhe o consumo de tokens, a latência e as taxas de erro diretamente no Firebase Console. Os traços de produção podem ser inspecionados e exportados para avaliações, permitindo iteração e melhoria contínuas. Para habilitar o monitoramento de IA, importe o plugin do Firebase e configure a telemetria.</li>



<li><strong>Ecossistema de Plugins:</strong> Estenda o Genkit com integrações para modelos de IA específicos, bancos de dados vetoriais e plataformas através de um ecossistema aberto de plugins construídos pelo Google e pela comunidade.</li>
</ul>



<h3 class="wp-block-heading">Começando com o Genkit</h3>



<p>Começar com o Genkit é rápido e fácil:</p>



<p><strong>Pré-requisitos:</strong> Familiaridade com a construção de aplicativos usando Node.js (v20+) e npm.</p>



<p><strong>Instalação:</strong> Instale o pacote principal do <code>genkit</code> e o plugin para o provedor de modelo desejado (por exemplo, <code>@genkit-ai/googleai</code> para Gemini) usando npm. </p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>npm install genkit @genkit-ai/googleai<span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<p><strong>Configuração:</strong> Obtenha uma chave de API para o provedor de modelo escolhido (por exemplo, Google AI Studio para a API Gemini) e defina-a como uma variável de ambiente (<code>GEMINI_API_KEY</code>). </p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">code</span>&gt;</span>export GEMINI_API_KEY=<span class="hljs-tag">&lt;<span class="hljs-name">sua</span> <span class="hljs-attr">chave</span> <span class="hljs-attr">de</span> <span class="hljs-attr">API</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">code</span>&gt;</span></code></span></pre>


<p><strong>Primeira Requisição:</strong> Escreva algumas linhas de código para importar o Genkit e o plugin do modelo, configurar uma instância do Genkit e usar o método <code>generate</code> para interagir com o modelo de IA. </p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-comment">// import the Genkit and Google AI plugin libraries</span>
<span class="hljs-keyword">import</span> { gemini20Flash, googleAI } <span class="hljs-keyword">from</span> <span class="hljs-string">'@genkit-ai/googleai'</span>;
<span class="hljs-keyword">import</span> { genkit } <span class="hljs-keyword">from</span> <span class="hljs-string">'genkit'</span>;

<span class="hljs-comment">// configure a Genkit instance</span>
<span class="hljs-keyword">const</span> ai = genkit({
  <span class="hljs-attr">plugins</span>: &#91;googleAI()],
  <span class="hljs-attr">model</span>: gemini20Flash, <span class="hljs-comment">// set default model</span>
});

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">main</span>(<span class="hljs-params"></span>) </span>{
  <span class="hljs-comment">// make a generation request</span>
  <span class="hljs-keyword">const</span> { text } = <span class="hljs-keyword">await</span> ai.generate(<span class="hljs-string">'Hello, Gemini!'</span>);
  <span class="hljs-built_in">console</span>.log(text);
}

main();</code></span></pre>


<h2 class="wp-block-heading">Firebase Genkit vs. Gemini SDK</h2>



<p><strong>Firebase Genkit é uma estrutura de código aberto mais abrangente</strong>, oferecendo uma API unificada para interagir com diversos modelos de IA de vários provedores através de plugins. Isso proporciona um nível de abstração mais alto em comparação com a interação direta com a API Gemini ou um SDK específico, permitindo aos desenvolvedores <strong>trocar facilmente entre modelos</strong>.</p>



<p>O Genkit visa simplificar o desenvolvimento de aplicações de IA complexas, oferecendo <strong>ferramentas integradas para desenvolvimento local</strong>, como uma CLI e uma UI para teste e depuração, além de funcionalidades para criar fluxos de trabalho (Flows), agentes e RAG.</p>



<p>Em contraste, a interação direta com a API Gemini ou um SDK específico concentra-se mais nos recursos dos modelos Gemini. Embora poderosa, essa abordagem pode exigir mais integração e gerenciamento manual, especialmente ao trabalhar com múltiplos fornecedores de IA. <strong>Genkit é mais adequado para aplicações de IA complexas</strong> que exigem múltiplos modelos, fluxos de trabalho elaborados e monitoramento de produção. </p>



<p>Ele também simplifica a integração com várias plataformas e serviços, enquanto o uso direto do Gemini API pode exigir mais configuração manual para funcionalidades além da simples chamada do modelo.</p>



<h3 class="wp-block-heading">Próximos Passos</h3>



<p>Agora que você tem uma visão geral do Firebase Genkit, explore os próximos passos:</p>



<ul class="wp-block-list">
<li>Consulte a <strong><a href="https://firebase.google.com/docs/genkit">documentação oficial</a></strong> para obter informações detalhadas e guias.</li>



<li>Explore a lista <strong><a href="https://github.com/xavidop/awesome-genkit">Awesome Genkit</a></strong> para encontrar mais recursos e plugins da comunidade.</li>
</ul>



<p>Para mais conteúdo relacionado com AI confira:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a></li>



<li><a href="https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/">5 novidades do Gemini versão aplicativo</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/">É realmente possível ganhar dinheiro criando sites com IA?</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/">Firebase Genkit: Seu Kit Criar Aplicativos com IA</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/firebase-genkit-seu-kit-criar-aplicativos-com-ia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Function Calling com Gemini</title>
		<link>https://blog.fellyph.com.br/geral/function-calling-com-gemini/</link>
					<comments>https://blog.fellyph.com.br/geral/function-calling-com-gemini/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Mon, 07 Apr 2025 14:26:52 +0000</pubDate>
				<category><![CDATA[Geral]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14369</guid>

					<description><![CDATA[<p>Os Modelos de Linguagem Grandes (LLMs) como o Gemini estão revolucionando a forma como interagimos com a tecnologia e construímos nossas aplicações. No entanto, o seu verdadeiro poder é libertado quando conseguem interagir com o mundo exterior. É aqui que entra o function calling com Gemini (chamada de função). Este post irá guiá-lo na compreensão [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Os Modelos de Linguagem Grandes (LLMs) como o Gemini estão revolucionando a forma como interagimos com a tecnologia e construímos nossas aplicações. No entanto, o seu verdadeiro poder é libertado quando conseguem interagir com o mundo exterior. É aqui que entra o function calling com Gemini (chamada de função). Este post irá guiá-lo na compreensão e implementação do &#8220;function calling&#8221; com o <a href="https://github.com/googleapis/js-genai">SDK do Google Gemini.</a></p>



<h2 class="wp-block-heading">O que é Function Calling?</h2>



<p>O Function calling permite que os LLMs solicitem a execução de funções externas. Em vez de apenas gerar texto, o LLM pode determinar que uma ação específica precisa ser realizada. Em seguida, estrutura uma chamada para uma função predefinida, incluindo os argumentos necessários para executá-la.</p>



<p>Pense desta forma: você pergunta ao Gemini: &#8220;Qual é o clima em Lagos hoje?&#8221;. O Gemini &#8220;percebe&#8221; que não possui dados meteorológicos em tempo real. Dai podemos especificar para o modelo quando essa tarefa for requisitada, o modelo deve chamar uma função específica para obter esses dados, e o processo será realizado da seguinte forma:</p>



<ol class="wp-block-list">
<li><strong>Identificar</strong> que existe uma função <code>obter_clima</code>.</li>



<li><strong>Criar</strong> uma chamada para <code>obter_clima</code> com &#8220;Lagos, Portugal&#8221; como o argumento de localização.</li>



<li>Você <strong>executa</strong> <code>obter_clima</code>, obtém os dados meteorológicos e os fornece de volta ao Gemini.</li>



<li>O Gemini então gera uma resposta como: &#8220;O clima em Lagos é atualmente de 25°C e ensolarado.&#8221;</li>
</ol>



<p>Essa capacidade é crucial para:</p>



<ul class="wp-block-list">
<li><strong>Acessar Dados em Tempo Real:</strong> Clima, preços de ações, notícias.</li>



<li><strong>Automatizar Ações:</strong> Enviar e-mails, controlar dispositivos, fazer reservas.</li>



<li><strong>Integrar com Ferramentas e APIs:</strong> Conectar-se a bancos de dados, sistemas CRM ou outros serviços.</li>
</ul>



<h2 class="wp-block-heading">Function Calling com Gemini</h2>



<p>O SDK do Gemini simplifica o processo de usar o &#8220;function calling&#8221;. Aqui está uma análise do fluxo de trabalho:</p>



<ol class="wp-block-list">
<li><strong>Declarar a Função:</strong> Você define o nome da função, descrição, parâmetros e seus tipos. Isso informa ao Gemini <em>o que</em> a função faz e <em>como</em> usá-la.</li>



<li><strong>Fazer a Chamada à API:</strong> Você usa o método <code>generateContent</code>, fornecendo a consulta do usuário e a declaração da função. Você também configura o comportamento do &#8220;function calling&#8221; (por exemplo, se o Gemini <em>deve</em> ou <em>pode</em> chamar uma função).</li>



<li><strong>Processar a Resposta:</strong> A resposta do Gemini conterá texto gerado <em>ou</em> um objeto <code>functionCall</code>. Se for um <code>functionCall</code>, ele incluirá o nome da função a ser chamada e os argumentos.</li>



<li><strong>Executar a Função:</strong> Sua aplicação pega o <code>functionCall</code> e executa a função real.</li>



<li><strong>Enviar o Resultado de Volta:</strong> O resultado da função é enviado de volta ao Gemini, permitindo que ele gere uma resposta final para o usuário.</li>
</ol>



<h2 class="wp-block-heading">Exemplo de Código</h2>



<p>Vamos ilustrar com um exemplo simplificado de controle de uma luz inteligente:</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">import</span> { FunctionCallingConfigMode, FunctionDeclaration, GoogleGenAI, Type } <span class="hljs-keyword">from</span> <span class="hljs-string">'@google/genai'</span>;
<span class="hljs-keyword">import</span> dotenv <span class="hljs-keyword">from</span> <span class="hljs-string">'dotenv'</span>;
<span class="hljs-keyword">import</span> fetch <span class="hljs-keyword">from</span> <span class="hljs-string">'node-fetch'</span>;

dotenv.config();

<span class="hljs-keyword">const</span> weatherApiKey = process.env.OPENWEATHER_API_KEY || <span class="hljs-string">''</span>;
<span class="hljs-keyword">const</span> genAI = <span class="hljs-keyword">new</span> GoogleGenAI({ <span class="hljs-attr">vertexai</span>: <span class="hljs-literal">false</span>, <span class="hljs-attr">apiKey</span>: process.env.GOOGLE_API_KEY || <span class="hljs-string">''</span> });

interface WeatherResponse {
    <span class="hljs-attr">main</span>: {
        <span class="hljs-attr">temp</span>: number;
    };
    weather: <span class="hljs-built_in">Array</span>&lt;{
        <span class="hljs-attr">description</span>: string;
    }&gt;;
}

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">getWeather</span>(<span class="hljs-params">city: string, country: string</span>): <span class="hljs-title">Promise</span>&lt;<span class="hljs-title">string</span>&gt; </span>{
    <span class="hljs-keyword">try</span> {
        <span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> fetch(
            <span class="hljs-string">`https://api.openweathermap.org/data/2.5/weather?q=<span class="hljs-subst">${city}</span>,<span class="hljs-subst">${country}</span>&amp;appid=<span class="hljs-subst">${weatherApiKey}</span>&amp;units=metric`</span>
        );
        <span class="hljs-keyword">const</span> data = (<span class="hljs-keyword">await</span> response.json()) <span class="hljs-keyword">as</span> WeatherResponse;
        <span class="hljs-keyword">return</span> <span class="hljs-string">`The current temperature in <span class="hljs-subst">${city}</span> is <span class="hljs-subst">${data.main.temp}</span>°C with <span class="hljs-subst">${data.weather&#91;<span class="hljs-number">0</span>].description}</span>`</span>;
    } <span class="hljs-keyword">catch</span> (error) {
        <span class="hljs-built_in">console</span>.error(<span class="hljs-string">'Error fetching weather:'</span>, error);
        <span class="hljs-keyword">return</span> <span class="hljs-string">"Sorry, I couldn't fetch the weather information."</span>;
    }
}

<span class="hljs-keyword">async</span> <span class="hljs-function"><span class="hljs-keyword">function</span> <span class="hljs-title">generateContentFromWeatherAPI</span>(<span class="hljs-params"></span>) </span>{
    <span class="hljs-keyword">const</span> weatherFunctionDeclaration: FunctionDeclaration = {
        <span class="hljs-attr">name</span>: <span class="hljs-string">'getWeather'</span>,
        <span class="hljs-attr">description</span>: <span class="hljs-string">'Gets the current weather for a requested city'</span>,
        <span class="hljs-attr">parameters</span>: {
            <span class="hljs-attr">type</span>: Type.OBJECT,
            <span class="hljs-attr">properties</span>: {
                <span class="hljs-attr">city</span>: {
                    <span class="hljs-attr">type</span>: Type.STRING,
                    <span class="hljs-attr">description</span>: <span class="hljs-string">'The city to get the weather information for'</span>,
                },
                <span class="hljs-attr">country</span>: {
                    <span class="hljs-attr">type</span>: Type.STRING,
                    <span class="hljs-attr">description</span>: <span class="hljs-string">'The country of the city in country code'</span>,
                },
            },
            <span class="hljs-attr">required</span>: &#91;<span class="hljs-string">'city'</span>, <span class="hljs-string">'country'</span>],
        },
    };

    <span class="hljs-keyword">const</span> chat = <span class="hljs-keyword">await</span> genAI.chats.create({
        <span class="hljs-attr">model</span>: <span class="hljs-string">'gemini-2.0-flash'</span>,
        <span class="hljs-attr">history</span>: &#91;],
        <span class="hljs-attr">config</span>: {
            <span class="hljs-attr">tools</span>: &#91;{ <span class="hljs-attr">functionDeclarations</span>: &#91;weatherFunctionDeclaration] }],
            <span class="hljs-attr">toolConfig</span>: {
                <span class="hljs-attr">functionCallingConfig</span>: {
                    <span class="hljs-attr">mode</span>: FunctionCallingConfigMode.ANY,
                    <span class="hljs-attr">allowedFunctionNames</span>: &#91;<span class="hljs-string">'getWeather'</span>],
                },
            },
        },
    });

    <span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> chat.sendMessage({
        <span class="hljs-attr">message</span>: <span class="hljs-string">'What is the weather in Lagos, Portugal?'</span>,
    });

    <span class="hljs-keyword">if</span> (result.candidates?.&#91;<span class="hljs-number">0</span>]?.content?.parts) {
        <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> part <span class="hljs-keyword">of</span> result.candidates&#91;<span class="hljs-number">0</span>].content.parts) {
            <span class="hljs-keyword">if</span> (part.functionCall) {
                <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Function called:'</span>, part.functionCall.name);
                <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'Arguments:'</span>, part.functionCall.args);

                <span class="hljs-keyword">const</span> args = part.functionCall.args <span class="hljs-keyword">as</span> { <span class="hljs-attr">city</span>: string; country: string };
                <span class="hljs-keyword">const</span> weatherInfo = <span class="hljs-keyword">await</span> getWeather(args.city, args.country);
                <span class="hljs-built_in">console</span>.log(<span class="hljs-string">'\nWeather information:'</span>, weatherInfo);

                <span class="hljs-keyword">const</span> followUp = <span class="hljs-keyword">await</span> chat.sendMessage({ <span class="hljs-attr">message</span>: weatherInfo });
                <span class="hljs-built_in">console</span>.log(
                    <span class="hljs-string">'\nAI Response:'</span>,
                    followUp.candidates?.&#91;<span class="hljs-number">0</span>]?.content?.parts?.&#91;<span class="hljs-number">0</span>]?.text || <span class="hljs-string">'No response'</span>
                );
            }
        }
    }
}

generateContentFromWeatherAPI();</code></span></pre>


<h3 class="wp-block-heading">Explicação</h3>



<ul class="wp-block-list">
<li><strong><code>FunctionDeclaration</code></strong>: Este objeto define nossa função <code>getWeather</code>. Ele especifica os parâmetros (<code>city</code>, <code>country</code>) e seus tipos. A <code>description</code> é vital; ajuda o Gemini a entender o propósito da função.</li>



<li><strong><code>toolConfig</code></strong>: Esta configuração informa ao Gemini como lidar com o &#8220;function calling&#8221;. <code>mode: FunctionCallingConfigMode.ANY</code> permite que o Gemini decida se deve ou não chamar a função. <code>allowedFunctionNames</code> restringe o Gemini a chamar apenas as funções que permitimos explicitamente.</li>



<li><strong>Executando a função</strong>: Os comentários do código destacam onde você integraria com seu sistema de controle de luz real. É aqui que a ação do &#8220;mundo real&#8221; acontece.</li>



<li><strong>Enviando o resultado de volta</strong>: Para conversas mais complexas, você normalmente enviaria o resultado da chamada de função de volta ao Gemini em uma chamada de API subsequente. Isso permite que o Gemini incorpore a saída da função em sua resposta ao usuário.</li>
</ul>



<h2 class="wp-block-heading">Melhores Práticas</h2>



<ul class="wp-block-list">
<li><strong>Descrições de Função Claras</strong>: Escreva descrições detalhadas e inequívocas de suas funções. Isso é crucial para o Gemini entender seu propósito.</li>



<li><strong>Definições de Parâmetros Precisas</strong>: Defina os tipos e descrições dos parâmetros com precisão. Isso ajuda o Gemini a gerar chamadas de função corretas.</li>



<li><strong>Segurança</strong>: Seja extremamente cauteloso sobre as funções que você expõe ao LLM. Evite dar-lhe acesso a operações sensíveis, a menos que seja absolutamente necessário e com autorização estrita.</li>



<li><strong>Tratamento de Erros</strong>: Implemente um tratamento de erros robusto na execução de sua função e forneça resultados informativos de volta ao Gemini.</li>



<li><strong>Feedback do Usuário</strong>: Considere como fornecer feedback ao usuário sobre as chamadas de função, especialmente se envolverem ações externas.</li>
</ul>



<h2 class="wp-block-heading">Conclusão</h2>



<p>O &#8220;Function calling&#8221; é um recurso revolucionário que preenche a lacuna entre os LLMs e o mundo real. O novo SDK do Gemini capacita os desenvolvedores a integrar sistemas externos de forma integrada, criando aplicações de IA poderosas e versáteis. </p>



<p>Um dos novos benefícios no novo SDK é a unificação entre a API do Gemini e do Vertext AI. Ao projetar cuidadosamente suas funções e seguir as melhores práticas, você pode desbloquear um novo nível de interatividade e automação com o Gemini.</p>



<p>Para mais conteúdo sobre o Gemini Confira:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/">5 novidades do Gemini versão aplicativo</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/novidades-gemini-1-5-pro/">Novidades Gemini 1.5 Pro</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/geral/function-calling-com-gemini/">Function Calling com Gemini</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/geral/function-calling-com-gemini/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>5 novidades do Gemini versão aplicativo</title>
		<link>https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/</link>
					<comments>https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Wed, 19 Mar 2025 16:46:06 +0000</pubDate>
				<category><![CDATA[Geral]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14357</guid>

					<description><![CDATA[<p>O Gemini Está Evoluindo Rápido! Canvas, Novas Extensões e Muito Mais! O Gemini do Google está se movendo RÁPIDO. No último mês várias novidades do Gemini foram incluídas no aplicativo. Eu estive mergulhando fundo nas atualizações recentes, e tem umas coisas muito legais que eu quero compartilhar com vocês. 1. Canvas: Seu Novo Centro de [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/">5 novidades do Gemini versão aplicativo</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>O Gemini Está Evoluindo Rápido! Canvas, Novas Extensões e Muito Mais! O <a href="https://gemini.google.com/app">Gemini do Google </a>está se movendo RÁPIDO. No último mês várias novidades do Gemini foram incluídas no aplicativo. Eu estive mergulhando fundo nas atualizações recentes, e tem umas coisas muito legais que eu quero compartilhar com vocês.</p>



<h3 class="wp-block-heading">1. Canvas: Seu Novo Centro de Colaboração do Gemini</h3>



<p>Primeiro, vamos falar sobre o <strong>Canvas</strong>. Isso muda o jogo para quem já lutou para escrever aquele primeiro rascunho ou para lidar com um projeto de programação complexo. É basicamente um novo espaço interativo no Gemini que permite que você colabore com a IA em tempo real.</p>



<ul class="wp-block-list">
<li><strong>Co-crie Documentos:</strong> Pense nisso como seu parceiro de escrita com IA. Você pode gerar rascunhos iniciais e, em seguida, pedir feedback ao Gemini, refinar seções específicas ou até mesmo reescrever tudo. Perfeito para tudo, desde posts de blog até relatórios e ensaios.</li>



<li><strong>Geração e Iteração de Código:</strong> É aqui que as coisas ficam realmente emocionantes! Precisa de um protótipo para um aplicativo da web? Quer criar um script Python rapidinho? O Canvas permite que você gere e visualize código React ou HTML diretamente. O Gemini até mostrará as alterações que faz passo a passo.</li>
</ul>



<p>O Canvas está disponível globalmente (nos idiomas suportados pelo Gemini), então todos podem experimentar esse recurso legal agora. Os usuários do Gemini Advanced também poderão criar cronogramas visualmente ricos, mapas mentais e slides rapidamente em breve!</p>



<p>Por que isso importa? Porque simplifica o processo criativo. Elimina a paralisia da tela em branco e permite que você se concentre em sua visão. O Gemini cuida do trabalho pesado de gerar, editar e corrigir as coisas. Eu posso ver isso impulsionando a produtividade de muita gente.</p>



<h3 class="wp-block-heading">2. Audio Overviews: Aprenda em Movimento</h3>



<p>Outro recurso interessante para usuários do Gemini Advanced é o <strong>Audio Overview</strong>. Esse recurso usa a mesma tecnologia do NotebookLM para criar conversas em estilo de podcast a partir de documentos, slides e relatórios do Deep Research. O Gemini enviará os arquivos desejados e gerará uma conversa dinâmica entre dois hosts de IA com pontos de vista únicos.</p>



<p>Por que isso é ótimo? Bem, agora você pode aprender em movimento e se manter informado enquanto faz atividades como dirigir ou se exercitar.</p>



<h3 class="wp-block-heading">3. Deep Research Atualizado e mais acessível</h3>



<p>O Google está atualizando o Gemini Deep Research para usar o modelo 2.0 Flash Thinking (experimental)! Todos os usuários do Gemini agora têm a opção de experimentar o Deep Research gratuitamente.</p>



<p>Com o Deep Research, a ferramenta de IA utiliza todas as informações relevantes disponíveis para criar relatórios abrangentes de várias páginas sobre qualquer tópico. A atualização para o Deep Research oferece raciocínio avançado para pesquisa, do planejamento à elaboração de relatórios.</p>



<p>Por que isso é uma melhoria? O Deep Research oferece uma missão de organizar todas as informações disponíveis do Google e torná-las úteis para todos os usuários.</p>



<h3 class="wp-block-heading">4. Gems: Especialistas em IA personalizados</h3>



<p>As Gems facilitam a personalização da IA para seus objetivos específicos para que você possa fazer mais com menos esforço. É semelhante a ter uma equipe de IA para sua escrita diária, tradução e planejamento de refeições, até a resolução de problemas complexos. Você pode escolher gems pré-fabricados para começar ou criar rapidamente gems personalizados.</p>



<p>Por que isso é importante? Agora, mais usuários podem ter a oportunidade de experimentar a magia das Gems. Você pode personalizá-lo para determinados estilos, tons ou tópicos de nicho!</p>



<h3 class="wp-block-heading">5. Mais extensões de aplicativos</h3>



<p>Agora você pode se conectar a mais aplicativos e serviços no Android:</p>



<p>Com a nova <strong>extensão Spotify</strong>, você pode tocar suas músicas favoritas e descobrir playlists.</p>



<p>Com as extensões <strong>Telefone, Mensagens e WhatsApp</strong>, você pode fazer chamadas rapidamente e elaborar, refinar e enviar mensagens.</p>



<p>Com a <strong>extensão Utilitários</strong>, você pode definir alarmes, controlar as configurações do seu dispositivo e até mesmo abrir sua câmera.</p>



<p>As extensões Telefone, Mensagens, WhatsApp, Utilitários, Calendário, Tarefas e Keep agora estão disponíveis em todos os idiomas do Gemini.</p>



<p>Por que isso é importante? Novas maneiras estão sendo construídas para o Gemini se conectar aos aplicativos que você usa diariamente! Através dessas extensões de aplicativos, o Gemini pode ajudá-lo a realizar tarefas e tomar medidas melhor.</p>



<h2 class="wp-block-heading">Mais novidades do Gemini </h2>



<p>As novidades não param por ai, além desses 5 items temos mais novidades relacionada ao desenpeonho do modelo. </p>



<h3 class="wp-block-heading">Memória Personalizada no Gemini</h3>



<p>Agora você também pode pedir ao Gemini para lembrar detalhes específicos para tornar as respostas mais eficientes. Você está no controle das configurações para visualizar, editar ou excluir informações facilmente. Por que isso é útil? O Gemini é mais capaz de atender às suas necessidades e fornecer informações personalizadas para seu uso.</p>



<h3 class="wp-block-heading">Gemini 2.0 Flash Thinking: Mais Inteligente e Rápido</h3>



<p>O mais recente <strong>Gemini 2.0 Flash Thinking (experimental)</strong> já está disponível no aplicativo Gemini. Ele traz desempenho aprimorado e recursos avançados de raciocínio, tudo isso com eficiência e rapidez.</p>



<p>Esse recurso funciona com aplicativos conectados como Youtube, Maps e Search com uma janela de contexto de 1M de tokens para usuários do Gemini Advanced.</p>



<h3 class="wp-block-heading">Tarefas Complexas do Gemini</h3>



<p>O 2.0 Flash Thinking do Gemini pode detalhar tarefas complexas e mostrar o processo de pensamento das ferramentas de IA. Isso é feito raciocinando e trabalhando em vários aplicativos. Por exemplo, você pode pedir ao Gemini para procurar tutoriais, adicionar ingredientes a uma lista de compras e procurar lojas para comprar os ingredientes!</p>



<p>Alguns aplicativos ainda não estão disponíveis para usuários corporativos e educacionais, mas estarão em breve.</p>



<p>Por que isso é valioso? Alternar entre aplicativos para concluir tarefas pode ser tedioso e demorado, mas queremos economizar tempo para nossos usuários!</p>



<p>Por que isso é importante? Tarefas complexas como codificação, descoberta científica e matemática avançada podem ser concluídas de forma eficaz.</p>



<h3 class="wp-block-heading">O Que Isso Significa Para Você?</h3>



<p>Essas atualizações não são apenas sobre novos recursos sofisticados. Elas são sobre tornar a IA mais acessível, mais colaborativa e mais integrada em nossas vidas diárias. Seja você um desenvolvedor, um escritor, um estudante ou apenas alguém que quer ser mais produtivo, o Gemini está lhe dando as ferramentas para fazer mais, mais rápido.</p>



<p>Estou animado para ver o que vocês todos vão criar com essas novas ferramentas! Deixe-me saber nos comentários o que você achou dessas atualizações e que tipo de projetos você está planejando enfrentar.</p>



<h4 class="wp-block-heading">Conteúdo Relacionado </h4>



<p>Gostou deste post? confira o conteúdo relacionado a Inteligência Artificial:</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/">É realmente possível ganhar dinheiro criando sites com IA?</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/dicas-para-humanizar-o-conteudo-gerado-por-ia/">Dicas para humanizar o conteúdo gerado por IA</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/">5 novidades do Gemini versão aplicativo</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/geral/5-novidades-do-gemini-versao-aplicativo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>É realmente possível ganhar dinheiro criando sites com IA?</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Thu, 27 Feb 2025 14:50:03 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[Inteligência artificial]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14344</guid>

					<description><![CDATA[<p>Essa é umas das perguntas comum no meu canal, com o boom da inteligência artificial, várias ferramentas foram criadas para agilizar as tarefas do dia-a-dia em todas as áreas e não poderia ficar de fora programação especialmente criando sites com IA. Programação é uma das tarefas que a inteligência artificial consegue executar de forma aceitável, [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/">É realmente possível ganhar dinheiro criando sites com IA?</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Essa é umas das perguntas comum no meu canal, com o boom da inteligência artificial, várias ferramentas foram criadas para agilizar as tarefas do dia-a-dia em todas as áreas e não poderia ficar de fora programação especialmente criando sites com IA.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Dá pra ganhar dinheiro com a criação de sites com IA" width="500" height="281" src="https://www.youtube.com/embed/N99yX8pcvtc?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">construindo sites com Inteligência artificial dá dinheiro?</figcaption></figure>



<p>Programação é uma das tarefas que a inteligência artificial consegue executar de forma aceitável, para programadores experientes o código precisa de melhorias ou é redundante mas para maioria do público eles só querem ver o código funcionando. Com o surgimento de ferramentas como <a href="https://bolt.new/">Bolt.new</a>, <a href="https://lovable.dev/">Lovable</a>, windsurf entre outras abriu uma porta para não programadores criarem aplicações do zero sem saber programar uma linha de código. </p>



<p>Com isso veio uma enxurrada de Youtubers mostrando como fazer aplicações avaliadas em milhões com um simples prompt, com isso voltamos para a pergunta principal é possível ganhar dinheiro fazendo sites com inteligência artificial sem saber nada de programação. </p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-1024x1024.jpeg" alt="É possível ganhar dinheiro criando sites com IA?" class="wp-image-14346" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-1024x1024.jpeg 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-300x300.jpeg 300w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-150x150.jpeg 150w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-768x768.jpeg 768w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-1536x1536.jpeg 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw-96x96.jpeg 96w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_9wlw5y9wlw5y9wlw.jpeg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /><figcaption class="wp-element-caption">É possível ganhar dinheiro criando sites com IA?</figcaption></figure>



<p><strong>Resposta: Talvez</strong></p>



<h2 class="wp-block-heading">Programação == resolver problemas == <img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f911.png" alt="🤑" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f911.png" alt="🤑" class="wp-smiley" style="height: 1em; max-height: 1em;" /><img src="https://s.w.org/images/core/emoji/16.0.1/72x72/1f911.png" alt="🤑" class="wp-smiley" style="height: 1em; max-height: 1em;" /></h2>



<p>O título acima é uma comparação de igualdade, programação não está diretamente relacionada a dinheiro, para tornar essa habilidade lucrativa você irá precisar resolver um problema para alguém e essa questão envolve várias camadas não é tão simples assim. Primeiro pronto você precisa identificar um problema, depois disso achar uma solução com uma aplicação e por fim o mais difícil achar quem pague por essa solução.</p>



<p>Muitas vezes a solução é clara, mas nem todo mundo está disposto a pagar por essa solução, daí vamos entrar numa equação: qual é o melhor valor que seja sustentável que irá atrair um público em particular. E podemos ir até além onde eu vou achar esse público. </p>



<p>Com isso  podemos tomar o exemplo da ferramenta bolt, criei uma landing page para uma empresa, primeiramente qual o valor dessa landing page para essa empresa como irei justificar o valor pago por esse site para essa empresa. Podemos fazer uma landing page em minutos, mas precisamos entender qual é o público alvo daquela empresa e como podemos criar um funil de vendas para aquele site baseado no público alvo daquela empresa.</p>



<p>Esse tipo de situação exige experiência, muitas pessoas vendem essa ideia na internet que qualquer pessoa pode fazer isso, mas qualquer pessoa pode fazer isso desde quando tenha uma boa base:</p>



<ul class="wp-block-list">
<li>Para identificar um público alvo</li>



<li>Identificar um problema para aquele grupo</li>



<li>Criar uma solução que seja sustentável e viável</li>



<li>Possui uma boa base de vendas e pos vendas</li>



<li>Entender as particularidades de publicar uma aplicação seja web ou nativa</li>
</ul>



<p>A lista de skills é extensa, eu trabalhei como freelancer a um tempo atrás construindo sites para diversas empresas e mesmo quando tudo estava bem amarrado, o projeto poderia ir para um caminho problemático. E tem alvo que ajuda bastante nesse momento que é experiência. Sem experiência para contornar algumas situações durante a execução de um projeto pode ser o fim de sua carreira.</p>



<p>Particularmente é possível começar a vender sites com IA, mas você precisa criar uma base sobre isso. Mesma coisa eu decidi abrir uma loja de chocolates, eu preciso ter um básico de entendimento sobre o produto que estou vendendo, condições de estoque, fornecedores, tipos de chocolate e por ai vai.</p>



<h2 class="wp-block-heading">Dica para quem quer começar</h2>



<p>Não existe caminho mágico, tudo que decidir seguir como carreira precisa de dedicação. Com dedicação os resultados virão mas cada área tem o seu tempo e um pouco de &#8220;Sorte&#8221;, em aspas duplas porque a sorte vem para quem está preparado. Quem não está preparado a sorte bate mas não consegue abraçar as oportunidade. Outra dica importante é aprenda so conceitos base sobre a área a qual deseja seguir. </p>



<p>Por exemplo, quer construir sites:</p>



<ul class="wp-block-list">
<li>Como funcionam os sites?</li>



<li>Conceitos de back-end e front-end?</li>



<li>Quais são os passos necessários para publicar um site?</li>



<li>Como funciona a manutenção de um site?</li>



<li>Como deve ser um contrato de prestação de serviço? </li>



<li>Como determinar um escopo de um projeto?</li>



<li>Quais os custos mensais de um site?</li>
</ul>



<p>Com o crescimento da inteligência artificial outra skill é super relevante: <strong>Engenharia de Prompt</strong>. Aprenda os conceitos básicos sobre engenharia de prompt e como você pode tirar o maior proveito sobre essa tecnologias. E utilize a inteligência artificial para aprender os conceitos acima, sempre que aprender algo novo peça uma explicação como aquela solução funcionou.</p>



<h2 class="wp-block-heading">Limitações </h2>



<p>A inteligiência artificial não é uma recurso infinito onde podemos fazer tudo sem zero de conhecimento isto é uma cilada muito grande, muitas pessoas criam projetos do zero e começam a escalar esses projetos adicionando mais funcionalidades e alterando a estrutura do projeto inicial. Modelos te inteligência artificial possuem um limite de contexto, ou seja, o projeto que você criou do zero se não tem conhecimento sobre o que está a construir todo prompt você irá passar todo o projeto no contexto da inteligência artificial para alterar algo.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="1024" src="https://blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-1024x1024.jpeg" alt="inteligência artificial irá nos substituir?" class="wp-image-14347" srcset="//blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-1024x1024.jpeg 1024w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-300x300.jpeg 300w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-150x150.jpeg 150w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-768x768.jpeg 768w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-1536x1536.jpeg 1536w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts-96x96.jpeg 96w, //blog.fellyph.com.br/wp-content/uploads/2025/02/Gemini_Generated_Image_evtslqevtslqevts.jpeg 2048w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Esse tipo de situação é muito comum, a partir de um momento a aplicação passa pa estourar o limite do contexto e se você não souber filtrar quais os arquivos são necessários ou não para o projeto, a inteligência artificial irá se perder. Por conta dessa limitação eu considero, ferramentas como Bolt e Lovable ferramentas de prototipação, claro que existem grandes projetos criados com essas ferramentas mas existe muita engenharia de prompt por trás dessa solução.</p>



<p>Mas para construir aplicações comerciais é preciso ter um conhecimento base para direcionar a inteligência artificial para os arquivos corretos que necessitam alterações. Mas claro que esse tipo de limitações com o tempo serão menores cada vez mais os modelos de inteligência artificial ficarão mais autonamos.</p>



<h2 class="wp-block-heading">Conclusões</h2>



<p>Estamos vivendo uma mudança no mercado de tecnologia, os usuários terão acesso a criação de aplicações simples em prompt como temos hoje. Isso também acessível para donos de pequenos negócios, que terão acesso a ferramentas que proporcionarão a possibilidade de criar landing pages em um prompt. Mesmo com a possibilidade de alguma receita na criação de Landing Pages esse mercado no futuro pode morrer e o que podemos como criadores de aplicação está um passo a frente. </p>



<p>Para programadores é claro que e forma em que trabalhamos hoje irá mudar, ou já está mudando. Programação tradicional como conhecemos será diferente muito mais orientadas a regras e especificações do que ao código. Nossa interferência será mais para realizar alterações em items que passaram por atualizações recentes que não estão presentes nos modelos ou API expecíficas do projeto que pode ser facilmente adicionada nos modelos LLM de acordo com a necessidade. </p>



<p>Também precisamos pensar no valor a qual podemos entregar em nossos projetos e como podemos entregar valor os nossos usuários finais.</p>



<p><strong>Mais posts relacionados</strong></p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/dicas-para-humanizar-o-conteudo-gerado-por-ia/">Dicas para humanizar o conteúdo gerado por IA</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/o-que-e-generative-ai/">O que é Generative AI?</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/">É realmente possível ganhar dinheiro criando sites com IA?</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/possivel-ganhar-dinheiro-criando-sites-com-ia/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</title>
		<link>https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/</link>
					<comments>https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Thu, 03 Oct 2024 13:55:03 +0000</pubDate>
				<category><![CDATA[Inteligência Artificial]]></category>
		<category><![CDATA[chrome ai]]></category>
		<category><![CDATA[gemini nano]]></category>
		<category><![CDATA[Google]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14329</guid>

					<description><![CDATA[<p>A Inteligência Artificial (IA) está rapidamente se tornando parte integrante de nossas vidas digitais, e o navegador Chrome está liderando essa mudança com a introdução do Gemini Nano e suas APIs inovadoras. O Gemini Nano, um modelo de linguagem de última geração otimizado para execução local, capacita sites e aplicativos web a oferecerem experiências ricas [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>A Inteligência Artificial (IA) está rapidamente se tornando parte integrante de nossas vidas digitais, e o navegador Chrome está liderando essa mudança com a introdução do Gemini Nano e suas APIs inovadoras. </p>



<p>O <a href="https://deepmind.google/technologies/gemini/nano/">Gemini Nano</a>, um modelo de linguagem de última geração otimizado para execução local, capacita sites e aplicativos web a oferecerem experiências ricas em IA sem depender de servidores externos. As <a href="https://developer.chrome.com/docs/ai/built-in">APIs</a> de IA integradas ao Chrome, como Prompt API, Writer and Rewriter APIs, Language Detection API e Summarization API, abrem um leque de oportunidades para desenvolvedores criarem aplicações web inteligentes e intuitivas.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Gemini Nano: IA rodando diretamente no Chrome" width="500" height="281" src="https://www.youtube.com/embed/Yd1NZBcjF3Y?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div><figcaption class="wp-element-caption">Confira o vídeo em meu canal sobre o Gemini Nano</figcaption></figure>



<h2 class="wp-block-heading">O Poder do Gemini Nano</h2>



<p>O Gemini Nano é uma versão compacta e eficiente da família de Large Language Models (LLMs) do Google, projetada para rodar diretamente na maioria dos dispositivos modernos, incluindo desktops e laptops. Essa capacidade de processamento local elimina a necessidade de enviar dados para servidores externos, garantindo maior privacidade, menor latência e melhor desempenho. Com o Gemini Nano, a IA se torna mais acessível e permite que os desenvolvedores criem aplicações web inovadoras com facilidade.</p>



<h2 class="wp-block-heading">1. Prompt API</h2>



<p>A Prompt API é a porta de entrada para a comunicação direta com o Gemini Nano, permitindo que os desenvolvedores enviem instruções em linguagem natural e recebam respostas personalizadas. Essa API oferece grande flexibilidade para interagir com a IA, abrindo um leque de possibilidades para aplicações web.</p>



<p><strong>Exemplo:</strong></p>



<p>JavaScript</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> available = <span class="hljs-keyword">await</span> ai.prompt.create();

<span class="hljs-keyword">if</span> (available !== <span class="hljs-string">"no"</span>) {
  <span class="hljs-keyword">const</span> promptAPI = <span class="hljs-keyword">await</span> ai.assistant.create();
  <span class="hljs-keyword">const</span> response = <span class="hljs-keyword">await</span> promptAPI.prompt(<span class="hljs-string">"Escreva um poema sobre a primavera."</span>);
  <span class="hljs-built_in">console</span>.log(response);
} 
</code></span></pre>


<p><strong>Explicação:</strong></p>



<p>Este exemplo demonstra como usar a Prompt API para gerar um poema sobre a primavera. O código primeiro verifica se a API está disponível e, em caso afirmativo, cria uma instância da API e envia um prompt em linguagem natural para o Gemini Nano. A resposta gerada pelo modelo é então exibida no console do navegador.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="640" src="https://blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-1024x640.jpg" alt="Gemini nano em ação em demo" class="wp-image-14332" srcset="//blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-1024x640.jpg 1024w, //blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-300x187.jpg 300w, //blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-768x480.jpg 768w, //blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-1536x959.jpg 1536w, //blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-2048x1279.jpg 2048w, //blog.fellyph.com.br/wp-content/uploads/2024/10/gemini-nano-em-acao-chrome-150x94.jpg 150w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">2. Writer and Rewriter APIs</h2>



<p>As APIs Writer e Rewriter, ainda em desenvolvimento, prometem revolucionar a criação e o aprimoramento de conteúdo textual em aplicações web. A Writer API permitirá que os desenvolvedores gerem novos conteúdos automaticamente a partir de prompts e contextos, enquanto a Rewriter API possibilitará a reformulação de textos existentes, adaptando-os a diferentes tons e estilos.</p>



<p><strong>Exemplo (Writer API):</strong></p>



<p>JavaScript</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> writer = <span class="hljs-keyword">await</span> ai.writer.create();

<span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> writer.write(
  <span class="hljs-string">"Um rascunho para uma consulta ao meu banco sobre como habilitar transferências eletrônicas na minha conta."</span>
);
</code></span></pre>


<p><strong>Explicação:</strong></p>



<p>Este exemplo demonstra como usar a Writer API para gerar um rascunho de uma consulta para um banco sobre como habilitar transferências eletrônicas. A API recebe uma instrução em linguagem natural e retorna um texto gerado automaticamente que atende à solicitação.</p>



<p><strong>Exemplo (Rewriter API):</strong></p>



<p>JavaScript</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> rewriter = <span class="hljs-keyword">await</span> ai.rewriter.create();

<span class="hljs-keyword">const</span> result = <span class="hljs-keyword">await</span> rewriter.rewrite(reviewEl.textContent, {
  <span class="hljs-attr">context</span>: <span class="hljs-string">"Evite qualquer linguagem tóxica e seja o mais construtivo possível."</span>
});
</code></span></pre>


<p><strong>Explicação:</strong></p>



<p>Este exemplo demonstra como usar a Rewriter API para aprimorar o conteúdo textual de um elemento HTML (<code>reviewEl.textContent</code>), solicitando que a linguagem tóxica seja evitada e que o texto, seja o mais construtivo possível. A API analisa o texto original e o reescreve de acordo com as instruções fornecidas.</p>



<h2 class="wp-block-heading">3. Language Detection API</h2>



<p>A Language Detection API permite que as aplicações web identifiquem automaticamente o idioma de um determinado texto. Essa funcionalidade é crucial para traduções precisas, personalização de conteúdo e aprimoramento da acessibilidade.</p>



<p><strong>Exemplo:</strong></p>



<p>JavaScript</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> canDetect = <span class="hljs-keyword">await</span> translation.canDetect();

<span class="hljs-keyword">if</span> (canDetect !== <span class="hljs-string">"no"</span>) {
  <span class="hljs-keyword">const</span> detector = <span class="hljs-keyword">await</span> translation.createDetector();
  <span class="hljs-keyword">const</span> results = <span class="hljs-keyword">await</span> detector.detect(<span class="hljs-string">"Este texto está em português."</span>);

  <span class="hljs-keyword">for</span> (<span class="hljs-keyword">const</span> result <span class="hljs-keyword">of</span> results) {
    <span class="hljs-built_in">console</span>.log(result.detectedLanguage, result.confidence);
  }
}
</code></span></pre>


<p><strong>Explicação:</strong></p>



<p>Este exemplo demonstra como usar a Language Detection API para identificar o idioma de um texto. O código primeiro verifica se a API está disponível e, em caso afirmativo, cria uma instância da API e a utiliza para analisar o texto fornecido. A API retorna um array de resultados, cada um contendo o idioma detectado e o nível de confiança da detecção.</p>



<h2 class="wp-block-heading"><strong>4. Summarization API</strong></h2>



<p>A Summarization API, em fase experimental, capacita as aplicações web a gerar resumos concisos e informativos de conteúdos extensos. Essa API oferece diferentes tipos de resumo, como &#8220;tl;dr&#8221;, &#8220;<code>key-points</code>&#8220;, &#8220;<code>teaser</code>&#8221; e &#8220;<code>headline</code>&#8220;, além de formatos como &#8220;<code>plain-text"</code> e &#8220;<code>markdown</code>&#8220;.</p>



<p><strong>Exemplo:</strong></p>



<p>JavaScript</p>


<pre class="wp-block-code"><span><code class="hljs language-javascript"><span class="hljs-keyword">const</span> summarizer = <span class="hljs-keyword">await</span> ai.summarizer.create();

<span class="hljs-keyword">const</span> summary = <span class="hljs-keyword">await</span> summarizer.summarize(articleEl.textContent);
<span class="hljs-built_in">console</span>.log(summary);
<span class="hljs-comment">// Destrua o summarizer para liberar recursos</span>
summarizer.destroy();
</code></span></pre>


<p><strong>Explicação</strong>:</p>



<p>Este exemplo demonstra como usar a Summarization API para gerar um resumo de um artigo. O código cria uma instância da API, a utiliza para resumir o conteúdo textual de um elemento HTML (<code>articleEl.textContent</code>) e, em seguida, exibe o resumo no console. É importante destruir o summarizer para liberar recursos após o uso.</p>



<h2 class="wp-block-heading"><strong>Conclusão</strong></h2>



<p>O Chrome está liderando a integração da IA na web com o Gemini Nano e suas APIs inovadoras. A capacidade de executar modelos de linguagem localmente, combinada com APIs poderosas como Prompt API, Writer and Rewriter APIs, Language Detection API e Summarization API, abre um novo capítulo na história da web. </p>



<p>Desenvolvedores agora podem criar aplicações web mais inteligentes, personalizadas e intuitivas, enquanto os usuários desfrutam de experiências online mais ricas e eficientes. Isso tudo sem precisar toneladas de informações para um servidor online. Essa capacidade extra trás novas possibilidades para reduzir os custos de aplicações integradas com inteligência artificial.</p>



<h2 class="wp-block-heading">Mais conteúdo relacionado</h2>



<p>Se gostou deste conteúdo em meu blog tenho mais posts sobre inteligência artificial e IA generativa.</p>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/novidades-gemini-1-5-pro/">Novidades Gemini 1.5 Pro</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/o-que-e-generative-ai/">O que é Generative AI?</a></li>



<li><a href="https://blog.fellyph.com.br/inteligencia-artificial/dicas-para-humanizar-o-conteudo-gerado-por-ia/">Dicas para humanizar o conteúdo gerado por IA</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/">A Nova Era da IA no Chrome: Gemini Nano e APIs Revolucionárias</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/inteligencia-artificial/gemini-nano-no-chrome/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Especificidade CSS</title>
		<link>https://blog.fellyph.com.br/geral/especificidade-css/</link>
					<comments>https://blog.fellyph.com.br/geral/especificidade-css/#respond</comments>
		
		<dc:creator><![CDATA[Fellyph Cintra]]></dc:creator>
		<pubDate>Wed, 21 Aug 2024 07:32:17 +0000</pubDate>
				<category><![CDATA[Geral]]></category>
		<guid isPermaLink="false">https://blog.fellyph.com.br/?p=14299</guid>

					<description><![CDATA[<p>Um dos conceitos mais importantes dentro do CSS é a especificidade CSS, um algoritmo que determina quais regras de estilo serão aplicadas aos elementos HTML, quando há conflitos entre elas. Esse algoritmo utiliza um esquema de pontuação para definir qual regra terá prioridade. Este conteúdo está relacionado ao curso que estou rodando no meu canal [&#8230;]</p>
<p>The post <a href="https://blog.fellyph.com.br/geral/especificidade-css/">Especificidade CSS</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Um dos conceitos mais importantes dentro do CSS é a <strong>especificidade CSS</strong>, um algoritmo que determina quais regras de estilo serão aplicadas aos elementos HTML, quando há conflitos entre elas. Esse algoritmo utiliza um esquema de pontuação para definir qual regra terá prioridade.</p>



<p>Este conteúdo está relacionado ao curso que estou rodando no meu <a href="https://www.youtube.com/@FellyphCintra">canal do YouTube</a> com aulas semanais, o curso de CSS é baseado no curso oficial do Google do portal <a href="https://web.dev/learn/css?hl=pt">web.dev</a>.</p>



<figure class="wp-block-embed alignwide is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
<iframe loading="lazy" title="Curso de CSS: Especificidade - Aula 4" width="500" height="281" src="https://www.youtube.com/embed/7LeufwIL08w?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div></figure>



<h3 class="wp-block-heading">Exemplo de Conflito de Regras</h3>



<p>Vamos considerar o seguinte cenário:</p>



<p><strong>HTML:</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-xml"><span class="hljs-tag">&lt;<span class="hljs-name">button</span> <span class="hljs-attr">class</span>=<span class="hljs-string">"btn"</span>&gt;</span>Olá Mundo<span class="hljs-tag">&lt;/<span class="hljs-name">button</span>&gt;</span>
</code></span></pre>


<p><strong>CSS:</strong></p>


<pre class="wp-block-code"><span><code class="hljs language-css"><span class="hljs-selector-class">.btn</span> {
  <span class="hljs-attribute">color</span>: red;
}

<span class="hljs-selector-tag">button</span> {
  <span class="hljs-attribute">color</span>: green;
}
</code></span></pre>


<p>Ambas as regras aplicam-se ao mesmo elemento, mas a cor aplicada ao botão será <strong>vermelha</strong>. Apesar da regra <code class="">button { color: green; }</code> estar mais abaixo no arquivo CSS (o que normalmente lhe daria prioridade, como vimos no modelo de cascata), o seletor de classe <code class="">.btn</code> é mais específico que o seletor de elemento <code class="">button</code>.</p>



<p>Portanto, a cor do botão será vermelha devido à especificidade CSS, que se sobrepõe à regra de origem e posicionamento dos seletores.</p>



<h3 class="wp-block-heading">Pontuação de Especificidade CSS</h3>



<p>Cada seletor recebe uma pontuação, e a soma dos pontos dos seletores determina qual regra terá prioridade. É importante lembrar que apenas os atributos concorrentes serão sobrescritos.</p>



<p>Durante a aplicação das regras, devemos ter cuidado para não aumentar a complexidade do nosso código. Portanto, tente manter a especificidade dos seus seletores o mais baixo possível. Pense sempre em quantas vezes você irá reutilizar um elemento. Se a resposta for muitas vezes, então a sua especificidade CSS deve ser baixa.</p>



<h3 class="wp-block-heading">Pontuação para cada Tipo de Seletor</h3>



<p>Cada tipo de seletor possui uma quantidade de pontos, e no CSS podemos ter seletores compostos, cuja pontuação será a soma de todos os seletores presentes. Vamos abordar todos os seletores possíveis:</p>



<ul class="wp-block-list">
<li><strong>Seletor universal:</strong> <code class="">*</code> (não tem especificidade, recebe 0 pontos).</li>



<li><strong>Seletor de elemento ou pseudo-elemento:</strong> <code class="">div</code> ou <code class="">::selection</code> (possuem a especificidade mais baixa, recebem 1 ponto).</li>



<li><strong>Seletor de classe, pseudo-classe e atributo:</strong> <code class="">.btn</code>, <code class="">:hover</code> ou <code class="">[attr="valor"]</code> (possuem uma especificidade média, recebem 10 pontos).</li>



<li><strong>Seletor de ID:</strong> <code class="">#meuID</code> (um seletor de especificidade alta, recebe 100 pontos).</li>



<li><strong>Atributo inline:</strong> (especificidade de 1000 pontos).</li>



<li><strong>!important:</strong> (especificidade de 10.000 pontos).</li>



<li></li>
</ul>



<h2 class="wp-block-heading">Problemas com a Especificidade</h2>



<p>O uso excessivo de seletores de alta especificidade, como IDs e o uso frequente de <code class="">!important</code>, pode levar a um código CSS <strong>frágil e difícil de manter</strong>. A cascata de estilos pode se tornar complexa e imprevisível, dificultando a aplicação de novas regras ou a modificação de estilos existentes. A necessidade de sobrescrever regras com seletores cada vez mais específicos pode gerar um efeito cascata de complexidade, tornando o código CSS confuso e propenso a erros.</p>



<h2 class="wp-block-heading">Boas Práticas para Evitar Problemas de Especificidade</h2>



<ul class="wp-block-list">
<li><strong>Priorize seletores de baixa especificidade:</strong> utilize seletores de classe e de atributo sempre que possível, evitando o uso excessivo de IDs e <code class="">!important</code>.</li>



<li><strong>Utilize um sistema de nomes claro e consistente para suas classes:</strong> Isso facilitará a identificação e reutilização de estilos, reduzindo a necessidade de criar regras com alta especificidade CSS.</li>



<li><strong>Evite o aninhamento excessivo de seletores:</strong> O aninhamento profundo de seletores aumenta a especificidade e pode dificultar a leitura e manutenção do código.</li>



<li><strong>Utilize ferramentas de análise de especificidade:</strong> existem ferramentas que podem ajudar a identificar seletores com alta especificidade e a otimizar o seu código CSS.</li>



<li><strong>Mantenha o seu código CSS organizado e modular:</strong> A organização e a modularização do código facilitam a identificação e a modificação de estilos, reduzindo a necessidade de criar regras com alta especificidade.</li>
</ul>



<p>Ao seguir essas boas práticas, você poderá escrever um código CSS mais <strong>limpo, legível e fácil de manter</strong>, evitando os problemas causados pelo uso excessivo de seletores de alta especificidade. Lembre-se de que a simplicidade e a clareza são fundamentais para um código CSS eficiente e escalável.</p>



<h2 class="wp-block-heading">Conteúdo Relacionado</h2>



<ul class="wp-block-list">
<li><a href="https://blog.fellyph.com.br/css/modelo-de-cascata-css/">Modelo de cascata CSS</a></li>



<li><a href="https://blog.fellyph.com.br/geral/aula-5-heranca-em-css/">Como funciona herança em CSS</a></li>



<li><a href="https://blog.fellyph.com.br/geral/css-nesting-nativamente-nos-browsers/">CSS Nesting nativamente nos browsers</a></li>
</ul>
<p>The post <a href="https://blog.fellyph.com.br/geral/especificidade-css/">Especificidade CSS</a> appeared first on <a href="https://blog.fellyph.com.br">Blog Fellyph Cintra</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.fellyph.com.br/geral/especificidade-css/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!-- plugin=object-cache-pro client=phpredis metric#hits=1797 metric#misses=11 metric#hit-ratio=99.4 metric#bytes=3992674 metric#prefetches=119 metric#store-reads=25 metric#store-writes=3 metric#store-hits=131 metric#store-misses=4 metric#sql-queries=0 metric#ms-total=337.12 metric#ms-cache=18.37 metric#ms-cache-avg=0.6805 metric#ms-cache-ratio=5.5 sample#redis-hits=1483067 sample#redis-misses=108432 sample#redis-hit-ratio=93.2 sample#redis-ops-per-sec=15 sample#redis-evicted-keys=96 sample#redis-used-memory=55340216 sample#redis-used-memory-rss=24600576 sample#redis-memory-fragmentation-ratio=0.4 sample#redis-connected-clients=1 sample#redis-tracking-clients=0 sample#redis-rejected-connections=0 sample#redis-keys=27423 -->
