Apresentando o buying para R…e Python


O começo

Há alguns meses, enquanto trabalhava no workshop Databricks with R, me deparei com algumas de suas funções SQL personalizadas. Essas funções específicas são prefixadas com “ai_” e executam PNL com uma simples chamada SQL:

dbplyr podemos acessar funções SQL em R, e foi ótimo vê-las funcionar:

Lhama de Meta
e mecanismos de interação entre plataformas, como Ollamaviabilizaram a implantação desses modelos, oferecendo uma solução promissora para empresas que buscam integrar LLMs em seus fluxos de trabalho.

O projeto

Este projeto começou como uma exploração, impulsionado pelo meu interesse em aproveitar um LLM de “uso geral” para produzir resultados comparáveis ​​aos das funções de IA do Databricks. O principal desafio foi determinar quanta configuração e preparação seriam necessárias para que tal modelo fornecesse resultados confiáveis ​​e consistentes.

Sem acesso a um documento de design ou código-fonte aberto, confiei apenas nos resultados do LLM como campo de testes. Isto apresentou vários obstáculos, incluindo as inúmeras opções disponíveis para o ajuste fino do modelo. Mesmo dentro da engenharia imediata, as possibilidades são vastas. Para garantir que o modelo não fosse muito especializado ou focado em um assunto ou resultado específico, precisei encontrar um equilíbrio delicado entre precisão e generalidade.

Felizmente, depois de realizar testes extensivos, descobri que um simples immediate “one-shot” produzia os melhores resultados. Por “melhor”, quero dizer que as respostas foram precisas para uma determinada linha e consistentes em várias linhas. A consistência period essential, pois significava fornecer respostas que fossem uma das opções especificadas (positiva, negativa ou neutra), sem quaisquer explicações adicionais.

A seguir está um exemplo de immediate que funcionou de maneira confiável no Llama 3.2:

>>> You're a useful sentiment engine. Return solely one of many 
... following solutions: constructive, detrimental, impartial. No capitalization. 
... No explanations. The reply is predicated on the next textual content: 
... I'm completely happy
constructive

Como observação lateral, minhas tentativas de enviar várias linhas de uma vez não tiveram sucesso. Na verdade, passei muito tempo explorando diferentes abordagens, como enviar 10 ou 2 linhas simultaneamente, formatando-as nos formatos JSON ou CSV. Os resultados eram muitas vezes inconsistentes e não pareciam acelerar o processo o suficiente para valer a pena o esforço.

Depois que me senti confortável com a abordagem, a próxima etapa foi agrupar a funcionalidade em um pacote R.

A abordagem

Um dos meus objetivos period tornar o pacote do buying o mais “ergonômico” possível. Em outras palavras, eu queria garantir que o uso do pacote em R e Python se integrasse perfeitamente à forma como os analistas de dados usam sua linguagem preferida diariamente.

Para R, isso foi relativamente simples. Eu simplesmente precisava verificar se as funções funcionavam bem com pipes (%>% e |>) e poderia ser facilmente incorporado em pacotes como os do tidyverse:

https://mlverse.github.io/mall/

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *