![Como armazenar embeddings na pesquisa vetorial e implementar RAG](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710532286_Como-armazenar-embeddings-na-pesquisa-vetorial-e-implementar-RAG-150x150.jpg)
Como armazenar embeddings na pesquisa vetorial e implementar RAG
15 de março de 2024![Notícias dos desenvolvedores: equipe Google/Stack Overflow se unem, IA economiza tempo e bun debugs](https://optimuscloud.com.br/wp-content/uploads/2024/03/Noticias-dos-desenvolvedores-equipe-GoogleStack-Overflow-se-unem-IA-economiza-150x150.png)
Notícias dos desenvolvedores: aplicativos Android em Rust, Astro DB e Storybook 8
16 de março de 2024Em Python, instruções condicionais (também chamadas de operadores ternários) tornam possível escrever coisas como instruções if com uma única linha de código. Essa sintaxe não apenas torna suas instruções if mais fáceis de escrever, mas também pode manter seu código consideravelmente mais limpo. Isso é especialmente útil para aqueles que estão apenas começando sua jornada com Python e estão tendo problemas para entender como escrever instruções if.
Python tem três instruções condicionais diferentes que incluem o operador if, que são:
- if: usado para determinar se um bloco de código será executado.
- if-else: usado para executar um bloco de código somente quando uma condição for verdadeira.
- if-elif-else: usado para verificar múltiplas condições e executar um bloco de código se algum for considerado verdadeiro.
Essas instruções condicionais se correlacionam com a sintaxe condicional de formato longo estruturada da seguinte forma:
se:
if condition: execute code
se-outro:
if condition execute code if condition is true else: execute code if condition is false
if-elif-else:
if condition1 execute code elif condition2 execute code else if none of the above are true, execute code
O que vou fazer agora é mostrar como usar cada tipo de instrução if e depois ilustrar como a mesma lógica pode ser criada com uma instrução condicional.
if e sua declaração condicional correspondente
Nosso primeiro exemplo é o mais simples dos três porque na verdade apenas avalia se um bloco de código deve ser executado. O que vamos fazer é criar um bloco de código de três linhas que verificará se um número é positivo e imprimirá uma declaração.
O código é simples:
num = 10 if num > 0: print("The number is greater than zero, so it's positive.")
Se você executar o código acima, a saída será:
The number is greater than zero, so it's positive.
Bastante básico, mas você entendeu. A instrução if compara num (que definimos como 10) para ter certeza de que é maior que 0; nesse caso, a frase é impressa por meio de uma instrução print.
Podemos encurtar isso para duas linhas assim:
num = 10 if num > 0: print("The number is greater than zero, so it's positive.")
Mas isso não é realmente uma declaração condicional. Por que? Porque realmente não há necessidade de usar uma instrução condicional para o if simplista. Você realmente não vê o poder das declarações condicionais até considerar os próximos dois tipos de instruções if.
if-else e sua declaração condicional correspondente
Agora estamos falando sério.
Vamos criar uma instrução if-else que verificará se um número é positivo ou negativo. Assim que o extrato for verificado, ele imprimirá o extrato solicitado. A instrução if-else para tal aplicativo pode ser escrita mais ou menos assim:
num = -10 if num > 0: print("The number is greater than zero, so it's positive.") else: print("The number is less than zero, so it's negative.")
Se você executar esse aplicativo, a saída seria:
The number is less than zero, so it's negative.
Mude num para 10 e a saída seria:
The number is greater than zero, so it's positive.
Agora, como transformamos o código acima em uma instrução condicional? Esse código poderia ser escrito assim:
num = 10 result = "The number is greater than zero, so it's positive" if num > 0 else "The number is less than zero, so it's negative" print(result)
Essencialmente, o que fizemos foi combinar a parte if-else do código (que ocupava quatro linhas) e convertê-la em uma instrução condicional de linha única. Não só é mais fácil de escrever; é mais fácil de depurar e ocupa consideravelmente menos espaço. Sim, ainda precisamos definir a variável num e incluir uma instrução print. No entanto, reduzir a instrução if-else ajuda bastante a limpar seu código.
if-elif-else e sua declaração condicional correspondente
Por fim, temos a instrução if-elif-else, que permite verificar múltiplas condições em uma sequência e executar código específico dependendo de qual de nossas condições é verdadeira. A sintaxe básica if-elif-else verifica se um número é negativo, zero ou positivo e é escrita assim:
num = 10 if num < 0: print("The number is less than zero, so it's negative.") elif num == 0: print("The number is zero.") else: print("The number is greater than zero, so it's positive.")
Observe que não precisamos adicionar o terceiro teste (como “num > 0”). A razão para isso é que já executamos os dois primeiros testes e, como a variável num foi definida com o valor 10, ambos os testes falharam, o que significa que a instrução else será válida.
Agora, como escrevemos isso como uma declaração condicional? Para economizar espaço, compactaremos essa lógica em uma única linha. A declaração abreviada poderia ser escrita assim:
num = 10 result = "negative" if num < 0 else "zero" if num == 0 else "positive" print(result)
Observe que usamos um sinal de igual duplo (“==”) como operador de comparação na instrução. Fazemos isso porque, ao usar um único =, o Python interpretará essa instrução como uma definição de variável em vez de uma comparação e o código não será executado.
Se o código acima for executado, a seguinte saída será impressa:
positive
A instrução condicional realmente brilha no tipo de instrução if-elif-else.
É assim que você pode compactar instruções if em instruções condicionais de linha única. Se você está tentando escrever um código Python ainda mais conciso, essas declarações contribuirão muito para tornar isso realidade.
A postagem Python: se você não conhece declarações condicionais, leia isto apareceu pela primeira vez em The New Stack.