Durante o último ano, um grande número de ferramentas com inteligência artificial surgiram para facilitar a vida dos usuários, sejam geração de imagens ou chatbots, chegando até mesmo a escalar para ferramentas que executam tarefas gigantescas e profissionais processos.
Tenho pesquisado, aprendido e testado muitas dessas ferramentas, desde chatgpt, gemini até dall-e ou midjourney, todas funcionam muito bem, mas quando quero escalar minhas aplicações com essas ferramentas, descubro que elas não têm um fonte alternativa gratuita ou aberta.
Isso me fez dar um passo adiante em minha pesquisa e me deparei com ui de difusão estável (geração de imagem, https://github.com/AUTOMATIC1111/stable-diffusion-webui) e com * ollama *(Chatbot, https://ollama.com/), ambos são ferramentas de código aberto que permitem executar um serviço como uma API para consumi-lo de qualquer um de nossos aplicativos, com isso dei um passo adiante com alternativas de código aberto, mas para que isso funcione devo manter essas ferramentas funcionando para serem consumidas por nossos aplicativos.
Para entender como trazer isso para nossas aplicações é importante entender como essas ferramentas funcionam, e basicamente o que elas fazem é utilizar arquivos com a extensão "safetensors" que são LLM ou modelos de linguagem grande, sendo esses modelos treinados para executar diversas funções de acordo com a necessidade de quem o treina (Exemplo: geração de imagens, tradução, desenvolvimento de código, chatbot, entre outros).
Ao entender um pouco sobre os modelos LLM e os arquivos "safetensors", ficamos com a seguinte dúvida: como utilizar esses arquivos em minhas aplicações, e é aí que entra o HugginFace, um site/banco de dados de inteligência artificial open source modelos, e eles criaram sua própria biblioteca para python com 2 componentes extremamente úteis para o que queremos "Transformadores" e "Difusores".
*Transformers *(https://huggingface.co/docs/transformers/index) é o componente que nos permite consumir qualquer modelo de texto especializado, por exemplo, convertendo áudio em texto ou vice-versa, chatbox como Meta chama, entre outros.
importar transformadores
import torch model_id = "meta-llama/Llama-3.1-8B" pipeline = transformers.pipeline( "text-generation", model=model_id, model_kwargs={"torch_dtype": torch.bfloat16}, device_map="auto" ) pipeline("Hey how are you doing today?")
Difusores (https://huggingface.co/docs/diffusers/index) é o componente que nos permite consumir qualquer modelo especializado em geração de imagens, por exemplo difusão estável.
from diffusers import AutoPipelineForText2Image import torch pipe = AutoPipelineForText2Image.from_pretrained("stabilityai/sdxl-turbo", torch_dtype=torch.float16, variant="fp16") pipe.to("cuda") prompt = "A cinematic shot of a baby racoon wearing an intricate italian priest robe." image = pipe(prompt=prompt, num_inference_steps=1, guidance_scale=0.0).images[0]
Este processo é conhecido como LLM Model Inference, e a partir daqui, com base nessas informações, você pode começar a aplicar inteligência artificial em suas diferentes aplicações com Python.
Deve-se notar que também tentei usar inferência de modelo com outra linguagem como nodejs e a verdade é que não funciona tão bem quanto com python, mas é importante mencionar que é necessário hardware poderoso para LLM inferência de modelo para que o que você pode economizar usando as APIs ChatGPT ou Gemini você possa gastar na compra de hardware adequado.
É isso, meu primeiro artigo, espero que meu caminho para o uso de modelos LLM no desenvolvimento de software ajude você a pular etapas nesse caminho.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3