Rust AI Stream Analyzer Twitch Bot
O RSLLM é um pipeline de IA 100% em ferrugem para o código de transformador/tensor que está alavancando a estrutura da vela do HuggingFace. Representa uma abordagem de linguagem de programação de sistemas para a interação do modelo de IA e análise de fluxo. Ele pode ser executado localmente nas GPUs, está focado no suporte de dispositivos MacOS equipados com GPUs de braço M1/M2/M3. Este pipeline de IA foi projetado para desenvolvedores e pesquisadores que visam integrar modelos de idiomas grandes locais (LLMS) com ferrugem, ignorando a necessidade de dependências externas e código Python para chatbots e outros programas de IA. Na sua essência, o RSLLM enfatiza a utilização de LLMs locais para gerar texto, imagens e fala em um ambiente de ferrugem, oferecendo um conjunto robusto de recursos para análise de fluxo de dados em tempo real e criação de conteúdo orientada por IA. O RSLLM pode executar um twitch canall bate -papo e vídeo/áudio NDI com imagens de difusão estável geradas e saída de fala TTS através do software compatível com o NDI. Você pode configurar o OBS para pegar o feed do NDI e configurar seu canal Twitch e ter um canal Twitch personalizável de conversar e falar/falar/falar. Totalmente acionado por IA, você pode automatizar um serpente Twitch um pouco. Além disso, você também pode analisar os fluxos de MPEGTS ou as estatísticas do sistema do sistema operacional, se desejar, você pode combinar os dois e fazer com que os usuários de bate -papo comentem e consultem o fluxo analisando -o de maneira eficaz.
Principais recursos
- LLM local : utiliza LLMs, Mistral e Gemma, à base de ferrugem da Candle, para interações diretas e eficientes de IA, priorizando a execução local para aproveitar todo o poder das GPUs MacOS Metal.
- Analisador de IA abrangente : incorpora um sofisticado analisador de IA capaz de processar entradas e gerar saídas em texto, voz, fala e imagens, facilitando um fluxo contínuo de conteúdo gerado pela AI. (Trabalho em andamento)
- Integração de voz e fala : planeja incorporar o Whisper para interações orientadas por voz, semelhante ao Alexa, permitindo que os usuários se comuniquem com o kit de ferramentas usando comandos de voz e recebam entradas de texto de streaming em resposta. (Recurso planejado)
- Geração de imagens e saída NDI : suporta a geração de imagens a partir de descrições de texto e saída através do NDI para uma ampla gama de aplicativos, incluindo criação e transmissão de conteúdo em tempo real. (Em teste beta)
- Suporte TTS : a vela implementa TTS usando metavoice (padrão, WIP), API OpenAI TTS (alta qualidade, tempo real) e Mimic3 TTS API (local, grátis). O metavoice está sendo otimizado para GPUs de metal, enquanto a API do OpenAI TTS gera discurso premium a um custo. O MIMIC3 TTS API requer a execução do Mimic3-Server, mas oferece uma boa alternativa à API OpenAI TTS. Mimic3 Github
- Twitch Chat Interactive IA : Twitch Chat integrado para interações em tempo real da IA, permitindo que os usuários se envolvam com o kit de ferramentas por meio de comandos de bate-papo e recebam respostas geradas por IA.
- Geração de imagem de difusão estável : suporta a difusão estável da vela ou o servidor API Automatic111111. https://github.com/automatic1111/stable-diffusion-webui/
Componentes principais
Integração da estrutura de velas
Candle, um projeto de Huggingface, oferece LLMs nativos de ferrugem como Mistral e Gemma, otimizado para GPUs de metal no macOS. Essa integração facilita a execução local do LLMS, garantindo alto desempenho e baixa latência nas interações do modelo de IA.
Suporte da API OpenAI para LLAMA.CPP LLM Backend
Embora o foco principal da RSLLM esteja na execução de LLMs locais, ele também fornece suporte para a API do OpenAI, permitindo que os usuários alavancem os modelos externos de IA quando necessário. Esse recurso garante versatilidade e ampla aplicabilidade em vários projetos orientados a IA usando modelos personalizados.
Análise de IA em tempo real e geração de conteúdo
O RSLLM se destaca na análise de fluxos de dados em tempo real e na geração de conteúdo orientado a IA, incluindo texto, imagens e fala. O objetivo é criar um modelo de interação dinâmica, onde as entradas de voz podem ser convertidas em comandos de texto para o LLM, e as saídas geradas podem ser transmitidas como voz ou conteúdo visual.
Instalação e configuração
Pré -requisitos
- Verifique se a ferrugem e a carga estão instaladas. Guia de instalação de ferrugem.
- Idealmente, um sistema macOS com uma GPU de ARM M1/M2/M3. A NVIDIA pode funcionar, precisa de alguém para consertar, pois não tenho GPUs Nvidia.
- Biblioteca NDI para saída de streaming de obs NDI. Isso é opcional.
Guia de configuração
Clone o repositório :
git clone https://github.com/groovybits/rsllm.git
Navegue até o diretório do projeto :
Compilar com o suporte da GPU Metal e o suporte do NDI SDK :
./scripts/compile.sh # Script handles NDI SDK dependency and DYLD_LIBRARY_PATH
Configuração
- Copy
.env.example para .env e personalize as configurações, incluindo a tecla API OpenAI se pretender usar modelos de IA externos.
Uso
O RSLLM foi projetado para facilitar uma ampla gama de operações orientadas a IA, desde a geração de conteúdo baseado em texto até a análise de fluxos de rede e o processamento de entradas visuais e de áudio. Recursos avançados como a saída de áudio do NDI e o processamento de entrada de voz para texto estão em desenvolvimento, com o objetivo de aprimorar os recursos interativos do kit de ferramentas.
Comandos de exemplo
Use os scripts no diretório ./scripts.
./scripts/compile.sh # Build RsLLM
./scripts/broadcast_personality.sh # Full command line shown for most features (use personalities in ./personalities dir as an arg)
./scripts/mpeg_analyzer.sh # Experimental MpegTS Analyzer mode (WIP)
./scripts/mpeg_poetry.sh # Fun poetry about MpegTS Broadcasting with stream input prompt injection
./scripts/system_health.sh # System health status from OS Stats prompt injection
Transmitido para obs com NDI com o pipeline completo :
./scripts/broadcast_personality.sh buddha
Correndo com estatísticas de vela e sistema operacional para análise do sistema de IA :
cargo run --release --features fonts,ndi,mps,metavoice,audioplayer --
--candle_llm gemma
--model-id " 2b-it "
--max-tokens 800
--temperature 0.8
--ai-os-stats
--sd-image
--ndi-images
--ndi-audio
--system-prompt " You create image prompts from OS system stats health state. "
--query " How is my system doing? Create a report on the system health as visual image descriptions. "
Recursos de saída aprimorados e os próximos recursos
Saída NDI para imagens e áudio de fala TTS
O RSLLM está aprimorando seus recursos de saída para incluir o suporte ao NDI (Interface de Dispositivo de Rede) para imagens e TTS (Text-to-Expeech) áudio, facilitando o streaming de vídeo de alta qualidade e baixa latência por redes IP.
- (Opcional) Instalação do NDI SDK : o script compilation.sh baixará o libndi.dylib para você. Se desejar, você pode baixar e instalar o NDI SDK daqui. Este SDK é útil para visualizar a saída do NDI e explorar outras ferramentas.
- Etapas de configuração :
- Adicione
--features ndi ao comando de construção de carga para incluir suporte NDI em sua compilação. - Execute
scripts/compile.sh , que recuperará o libndi.dylib que funciona melhor para o macOS. - Para garantir que a biblioteca seja reconhecida corretamente ao construir com
cargo --features=ndi , defina a variável de ambiente DYLD_LIBRARY_PATH :
export DYLD_LIBRARY_PATH= ` pwd ` : $DYLD_LIBRARY_PATH
- Configuração adicional : o login no hub do Huggingface através da CLI pode resolver alguns avisos em potencial. Execute
huggingface-cli login para autenticar.
Metavoice TTS Text to Speech (WIP)
Candle, nossa estrutura de ferrugem principal para a interação LLM, agora inclui o Metavoice, uma tecnologia inovadora de texto em fala (TTS). À medida que esse recurso melhora, ele permitirá o LLM, TTI (Text-to-Image), baseado em ferrugem puro, e as funcionalidades TTS, integradas perfeitamente às otimizações de GPU de metal para MacOS.
- Status do desenvolvimento : a integração do metavoice é feita e sendo otimizada na vela para corresponder à qualidade da implementação de referência.
- Benefícios previstos : Uma vez totalmente otimizado, o Metavoice aumentará significativamente a capacidade do kit de ferramentas de gerar discurso realista a partir do texto sem custo e com baixa latência em um LLM local. Ele também fornecerá a capacidade de aprender uma voz com um pequeno clipe e gerar discurso com ela. Por enquanto, você pode usar o OpenAI para geração de qualidade/em tempo real de áudio de fala.
A missão da RSLLM é pesquisar e explorar a implementação de um kit de ferramentas versátil e de alto desempenho para a criação e análise de conteúdo orientada por IA no macOS, alavancando todo o potencial de GPUs de metal e eficiência da Rust.
Roteiro
Prioridade:
- Preserve o histórico usando um banco de dados local (por exemplo, sqlite ou mongodb) e alimente -o em um db de croma para RAG.
- MPEGTS bate-papo para análise de forma livre sobre os dados atuais e históricos do fluxo MPEG-TS.
- Melhore a latência da imagem/TTS e a coordenação assíncrona da saída. Use uma pré-compra NDI para imagens e áudio para garantir a sincronização e minimizar a latência.
- Implementar o RAG (geração aumentada de recuperação) usando o cromo para cache de documentos e incorporação, fornecendo contexto LLM baseado em documentação aumentada.
- Mesclar as correções do metavoice da vela à medida que estão disponíveis (WIP).
- Implementar hashes perceptivos (baseados em DCT64) para impressão digital de quadro para detectar alterações nos quadros de vídeo, reconhecer e aprender repetindo sequências de conteúdo, verifique as quebras comerciais e detecte inserções de anúncios. Integre o SCTE-35 e mantenha um banco de dados de conteúdo de impressão digital para várias verificações de qualidade, confirmação de fidelidade de quebra/logotipo e detecção de presença.
- Ative o modo Daemon para executar e ouvir solicitações via entrada ZerOMQ e passe para a saída.
- Expanda as opções para o LLMS e a API OpenAI.
Aprimoramentos futuros:
- Utilize o FFMPEG-NEXT-SYS para processar vídeo e áudio em tempo real para gerar molduras, áudio e texto em vídeo, além de transformar vídeos e criar vídeos de humor ou histórias temáticas. Explore as possibilidades de combinar um LLM com o FFMPEG.
- Analise o MPEGTS Analyzer para análise em tempo real dos fluxos de MPEG-TS, relatórios e detecção de problemas acionados por IA.
- Melhorar os analisadores de rede e sistemas.
- Utilize o Chroma DB para RAG com documentos para aumentar os avisos com informações relevantes.
- Implemente o Cap'n Proto para serialização, deserialização e comunicação modular do protocolo ZerOMOQ.
- Integre o metamusico para geração musical baseada em humor com base nos resultados.
- Desenvolva a geração de vídeos de Head Head com contexto de quadro consistente, garantindo que os objetos permaneçam os mesmos dentro dos quadros.
- Implemente o texto a texto usando a vela Whisper for Audio Input, LLM ingestão e a legenda de vídeo.
- Permitir opções de entrada de forma livre para o LLM interpretar as intenções do usuário.
- Explore a geração dinâmica de código em Python para novas tarefas como processamento de vídeo (considere riscos).
- Implementar a saída iterativa e multigeracional com contornos levando a vários passes até que um resultado final seja alcançado.
- Utilize a fala para enviar uma mensagem com vela sussurrada para obter informações de áudio, permitindo comandos de voz para o LLM para a IA conversacional.
Contribuindo
As contribuições são calorosamente bem -vindas, especialmente em áreas como desenvolvimento de recursos, otimização de desempenho e documentação. Sua experiência pode aprimorar significativamente os recursos do kit de ferramentas e a experiência do usuário.
Licença
Este projeto está licenciado sob a licença do MIT. Consulte o arquivo de licença para obter informações detalhadas.
Agradecimentos
- Transformadores/tensores de ferrugem da vela por Huggingface: vela
- OpenAI para especificações da API: OpenAi
- OpenAI para integração TTS: OpenAi
- MetavOice para integração TTS: metavoice
- Mimic3 para integração TTS: Mimic3
- Sussurro para a fala para o texto: sussurro
- Google Gemini LLM: Gêmeos
- MISTRAL LLM: MISTRAL
Autor
Chris Kennedy, liderando o desenvolvimento de soluções inovadoras de IA com o MacOS Metal GPU Rust LLM Toolkit. Fevereiro de 2024.
Estamos comprometidos em ultrapassar os limites da integração de IA com a tecnologia de vídeo e a entrada/saída multimodal nas CPUs MacOS Arm em ferrugem pura, garantindo que os desenvolvedores e pesquisadores da mídia tenham acesso a ferramentas poderosas, eficientes e versáteis para seus projetos orientados pela IA.