Clojure

Try/Catch: Origem, Propósito e o Erro de Usá-lo como Fluxo Lógico

tratamento de erros exceções javascript typescript rust clojure boas práticas c++
Entenda quando, por que e para que o try/catch foi criado, e por que ele não deve ser usado como controle de fluxo lógico.

O tratamento de exceções surgiu para separar o fluxo normal do programa do tratamento de situações inesperadas, como falhas de hardware ou erros de entrada/saída. Inicialmente, programas usavam códigos de retorno para lidar com erros, mas isso era propenso a falhas e difícil de manter.

O modelo try/catch foi evoluindo desde os anos 60, ganhando formas mais estruturadas em linguagens como PL/I, Ada, C++ e Java, e depois sendo adotado por outras como JavaScript.

O objetivo sempre foi permitir que programas lidassem de forma controlada com erros imprevisíveis, sem travar o sistema. As exceções não foram criadas para controlar o fluxo normal do programa, mas sim para tratar casos realmente excepcionais. Neste artigo, vamos ver por que usar try/catch como controle de fluxo é um erro e qual é o seu propósito real.

Leia mais →

01 - RAG Simples com Clojure e Ollama

RAG LLM AI Clojure
Um protótipo funcional do zero

Introdução

Olá, pessoal! 👋

Neste artigo, vamos explorar como construir uma aplicação RAG (Retrieval-Augmented Generation) completa do zero usando Clojure. Vamos mergulhar em uma implementação prática que combina processamento de texto, busca semântica e geração de respostas com LLMs locais. Se você está interessado em melhorar a precisão e relevância das respostas dos seus modelos de linguagem com informações atualizadas, este guia é para você!

Fundamentos do RAG

O que é RAG?

Os Modelos de Linguagem de Grande Escala (LLMs), como o GPT, ChatGPT e outros, revolucionaram a forma como interagimos com a inteligência artificial. Eles são capazes de gerar textos coerentes, responder perguntas complexas e até mesmo criar conteúdo criativo. No entanto, esses modelos possuem uma limitação fundamental: seu conhecimento é “congelado” no tempo.

Leia mais →