{"id":3829,"date":"2024-12-07T20:00:49","date_gmt":"2024-12-07T17:00:49","guid":{"rendered":"https:\/\/demensdeum.com\/blog\/2024\/12\/07\/bistr-code-analysis-tool\/"},"modified":"2024-12-16T22:32:10","modified_gmt":"2024-12-16T19:32:10","slug":"bistr-code-analysis-tool","status":"publish","type":"post","link":"https:\/\/demensdeum.com\/blog\/pt\/2024\/12\/07\/bistr-code-analysis-tool\/","title":{"rendered":"An\u00e1lise autom\u00e1tica de c\u00f3digo com Bistr"},"content":{"rendered":"<p>Se voc\u00ea precisa analisar o c\u00f3digo-fonte de um projeto, mas deseja automatizar o processo e utilizar a energia local do seu computador, o utilit\u00e1rio Bistr pode ser uma \u00f3tima solu\u00e7\u00e3o. Neste artigo, veremos como esse utilit\u00e1rio ajuda a analisar c\u00f3digo usando o modelo de aprendizado de m\u00e1quina Ollama.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/demensdeum.com\/blog\/wp-content\/uploads\/2024\/12\/mediabistr-logo.jpeg\"><\/p>\n<h2>O que \u00e9 Bistr?<\/h2>\n<p>Bistr \u00e9 um utilit\u00e1rio de an\u00e1lise de c\u00f3digo-fonte que permite integrar um modelo LLM (modelo de linguagem grande) local, como Ollama, para an\u00e1lise e processamento de c\u00f3digo. Com o Bistr, voc\u00ea pode analisar arquivos em v\u00e1rias linguagens de programa\u00e7\u00e3o, como Python, C, Java, JavaScript, HTML e muito mais.<\/p>\n<p>Bistr usa o modelo para verificar arquivos em rela\u00e7\u00e3o a determinadas consultas, por exemplo, para encontrar uma resposta a uma pergunta sobre a funcionalidade do c\u00f3digo ou parte dele. Isso fornece uma an\u00e1lise estruturada que auxilia no desenvolvimento, teste e manuten\u00e7\u00e3o de projetos.<\/p>\n<h2>Como funciona o Bistr?<\/h2>\n<ul>\n<li>Carregando Estado: Ao iniciar uma an\u00e1lise, o utilit\u00e1rio verifica se o estado da an\u00e1lise foi salvo anteriormente. Isso ajuda voc\u00ea a continuar de onde parou sem precisar analisar os mesmos arquivos novamente.<\/li>\n<li>An\u00e1lise de c\u00f3digo: cada arquivo \u00e9 analisado usando o modelo Ollama. O utilit\u00e1rio envia uma solicita\u00e7\u00e3o ao modelo para analisar um trecho espec\u00edfico de c\u00f3digo. O modelo retorna informa\u00e7\u00f5es sobre a relev\u00e2ncia do c\u00f3digo em resposta \u00e0 consulta e tamb\u00e9m fornece uma explica\u00e7\u00e3o textual de por que um determinado fragmento \u00e9 relevante para a tarefa.<\/li>\n<li>Salvar estado: depois que cada arquivo \u00e9 analisado, o estado \u00e9 atualizado para que voc\u00ea possa continuar com as informa\u00e7\u00f5es mais recentes na pr\u00f3xima vez.<\/li>\n<li>Sa\u00edda dos resultados: Todos os resultados da an\u00e1lise podem ser exportados para um arquivo HTML, que cont\u00e9m uma tabela com uma classifica\u00e7\u00e3o dos arquivos por relev\u00e2ncia, o que ajuda a entender quais partes do c\u00f3digo s\u00e3o mais importantes para an\u00e1lises posteriores.<\/li>\n<\/ul>\n<h2>Instala\u00e7\u00e3o e inicializa\u00e7\u00e3o<\/h2>\n<p>Para usar o Bistr, voc\u00ea deve instalar e executar o Ollama, uma plataforma que fornece modelos LLM em sua m\u00e1quina local. As instru\u00e7\u00f5es para instalar o Ollama para macOS, Windows e Linux est\u00e3o descritas abaixo.<\/p>\n<p>Baixe a vers\u00e3o mais recente do Bistr do git:<br \/>\n<a href=\"https:\/\/github.com\/demensdeum\/Bistr\/\" rel=\"noopener\" target=\"_blank\">https:\/\/github.com\/demensdeum\/Bistr\/<\/a><\/p>\n<p>Depois de instalar o Ollama e o Bistr, voc\u00ea pode executar a an\u00e1lise de c\u00f3digo. Para fazer isso, voc\u00ea precisa preparar o c\u00f3digo-fonte e especificar o caminho para o diret\u00f3rio que cont\u00e9m os arquivos a serem analisados. O utilit\u00e1rio permite que voc\u00ea continue a an\u00e1lise de onde parou e tamb\u00e9m oferece a capacidade de exportar resultados em formato HTML para facilitar an\u00e1lises posteriores.<\/p>\n<p>Exemplo de comando para executar an\u00e1lise:<\/p>\n<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-unknown\" data-lang=\"unknown\"><code>\npython bistr.py \/path\/to\/code --model llama3.1:latest --output-html result.html --research \"What is the purpose of this function?\"\n\n<\/code><\/pre>\n<\/div>\n<p>Nesta equipe:<\/p>\n<p>&#8211;model especifica o modelo a ser usado para an\u00e1lise.<br \/>\n&#8211;output-html especifica o caminho para salvar os resultados da an\u00e1lise em um arquivo HTML.<br \/>\n&#8211;research permite que voc\u00ea fa\u00e7a uma pergunta que deseja responder analisando o c\u00f3digo.<\/p>\n<h2>Benef\u00edcios de usar o Bistr<\/h2>\n<ul>\n<li>Execu\u00e7\u00e3o local: a an\u00e1lise \u00e9 realizada no seu computador sem a necessidade de conex\u00e3o com servi\u00e7os em nuvem, o que agiliza o processo.<\/li>\n<li>Flexibilidade: voc\u00ea pode analisar c\u00f3digo em diferentes linguagens de programa\u00e7\u00e3o.<\/li>\n<li>Automa\u00e7\u00e3o: todo o trabalho de revis\u00e3o de c\u00f3digo \u00e9 automatizado, o que economiza tempo e esfor\u00e7o, especialmente ao trabalhar com projetos grandes.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Se voc\u00ea precisa analisar o c\u00f3digo-fonte de um projeto, mas deseja automatizar o processo e utilizar a energia local do seu computador, o utilit\u00e1rio Bistr pode ser uma \u00f3tima solu\u00e7\u00e3o. Neste artigo, veremos como esse utilit\u00e1rio ajuda a analisar c\u00f3digo usando o modelo de aprendizado de m\u00e1quina Ollama. O que \u00e9 Bistr? Bistr \u00e9 um<a class=\"more-link\" href=\"https:\/\/demensdeum.com\/blog\/pt\/2024\/12\/07\/bistr-code-analysis-tool\/\">Continue reading <span class=\"screen-reader-text\">&#8220;An\u00e1lise autom\u00e1tica de c\u00f3digo com Bistr&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[84],"tags":[],"class_list":["post-3829","post","type-post","status-publish","format-standard","hentry","category-software","entry"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"pt","enabled_languages":["en","ru","zh","de","fr","ja","pt"],"languages":{"en":{"title":true,"content":true,"excerpt":false},"ru":{"title":true,"content":true,"excerpt":false},"zh":{"title":true,"content":true,"excerpt":false},"de":{"title":true,"content":true,"excerpt":false},"fr":{"title":true,"content":true,"excerpt":false},"ja":{"title":true,"content":true,"excerpt":false},"pt":{"title":true,"content":true,"excerpt":false}}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/3829","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=3829"}],"version-history":[{"count":8,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/3829\/revisions"}],"predecessor-version":[{"id":3840,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/3829\/revisions\/3840"}],"wp:attachment":[{"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=3829"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=3829"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/demensdeum.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=3829"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}