# Vídeo 1: [Link](https://www.youtube.com/watch?v=cRLsrdxNE-c) (Idioma: en) ## Descrição do Vídeo Neste vídeo, o objetivo é mostrar como contar o número de tokens de entrada e saída de uma solicitação para o modelo. O autor utiliza `EventEmitter` para monitorar e processar tanto a entrada do usuário quanto a saída do modelo. Ao longo do vídeo, é discutido a implementação de `Inlet` e `Outlet` para estas funções. A página seguida comentou que sem estes dois filtros, o contador de tokens não funcionaria corretamente. ## Visão Geral da Aplicação - Utiliza `EventEmitter` para monitorar e processar tanto a entrada do usuário quanto a saída do modelo. - Utiliza `Inlet` para processar dados de entrada do usuário. - Utiliza `Outlet` para processar respostas do modelo. ## Código ```bash import { EventEmitter } from '@angular/core'; tokenMessage: string; // declaração global class Futters { // código para contar tokens inlet() { // processamentos para contar tokens nos dados de entrada do usuário } outlet() { // processamentos para contar tokens nas respostas do modelo } } const futters = new Futters(); futters. inlet. subscribe(() => {}); futters. outlet. subscribe(() => {}); ``` # Vídeo 2: [Link](https://www.youtube.com/watch?v=K3J3GCKJBN0) (Idioma: en) ## Descrição do Vídeo Neste vídeo, o objetivo é mostrar como integrar e utilizar as funções de ação no modelo. A função de `action` permite criar botões personalizados na resposta do modelo. ## Visão Geral da Aplicação - Utiliza funções de ação para criar botões personalizados na resposta do modelo. - A função de `action` incorpora código para gerar uma exibição de gráficos a partir de dados adquiridos pelo modelo. ## Código ```typescript import * as functions from 'firebase-functions'; import { dialogflow } from 'actions-on-google'; import { WebhookClient } from 'dialogflow-fulfillment'; export class Action { action: functions. https. EventType; actionPacket: functions. https. EventType; // código para gerar o gráfico } const action = new Action(); ``` # Vídeo 3: [Link](https://www.youtube.com/watch?v=dLgOn7a_Hfk) (Idioma: en) ## Descrição do Vídeo Neste vídeo, o foco é discutir como utilizar `EventEmitter` para adicionar informações adicionais à mensagem do chat ou para acrescentar conteúdo à mensagem do chat. ## Visão Geral da Aplicação - Utiliza `EventEmitter` para adicionar informações adicionais à mensagem do chat ou para acrescentar conteúdo à mensagem do chat. ## Código ```typescript import { EventEmitter } from '@angular/core'; // define eventEmitter de status para transmitir informações adicionais this. eventEmitter. emit('status', 'I'm retrieving information'); ``` Drive a inscrição para nosso canais: - [YouTube](https://www.youtube.com/) - [LinkedIn](https://www.linkedin.com/) - [Tik Tok](https://www.tiktok.com/) - [Facebook](https://www.facebook.com/) Chamaremos a atenção para o tema 3: Ferramentas e Funções Este tema será (relativamente) difícil, mas faréi o meu melhor para explicá-lo. O que descobri é que a documentação da Open Web UI melhorou. Agora é mais fácil saber o que fazem as ferramentas e as funções. A partir do seu site, as ferramentas podem estender as competências da IA. A IA vai utilizar ferramentas para obter informações e uma vez que as obtiver, vai formar uma resposta de volta ao utilizador. O uso case é quando perguntas uma IA sobre o forecasto do tempo ou o estado do voo. Se equipas com uma ferramenta para alcançar uma chamada API que retorna os dados de tempo, a IA vai fazer uso da resposta para depois respondê-la. As funções são para a IA utilizar. Ajudam a gerir o processo da Open Web UI. Por exemplo, existe uma função chamada `Future` que apoia o tipo `Inlet`. Quando introduzes dados no caixilho e os submets para Open Web UI, poderás ter `Inlet`s funções para examinar ou gerir ou adicionar o fluxo. Uma nova funcionalidade introduzida recentemente é o `Event Emitter`. Ele permite adicionar informações adicionais ao chat e acrescenta conteúdo ao chat. Por exemplo, pode ser implementado em funções ou ferramentas. #### **Event Emitter** O `Event Emitter` permite adicionar informações adicionais ao chat e acrescenta conteúdo ao chat. Esta funcionalidade tem dois tipos: 1. **Status**: Este será visível na interface de utilizador onde a IA está no momento. Resulta uma melhor experiência do utilizador, já que indica ao utilizador que a IA está funcionando. 2. **Mensagem**: Esta será uma mensagem que será adicionada ao interface do chat. Exemplo de utilização do `Event Emitter` em uma função: ```bash // Basicamente, a função vai obter informações e emitir um status quando estiver a obter dados e outro status quando o processo estiver terminado. function fetchProductInfo() { const eventEmitter = new EventEmitter(); // Iniciar o processo de extração de dados eventEmitter. emit('status', 'Recuperando informações'); fetch('http://api.example.com/products') . then(response => response. json()) . then(data => { // Utilizar os dados // . . . eventEmitter. emit('status', 'Recuperado informação'); }) . catch(error => { console. error(error); eventEmitter. emit('status', 'Erro na recuperação de informação'); }); return eventEmitter; } // Utilização const eventEmitter = fetchProductInfo(); eventEmitter. on('status', status => { console. log(status); }); ``` Poderás ativar uma ferramenta ir ao painel de administração e selecionando-a na secção de ferramentas. #### **Vídeo 4: ** [Link](https://www.youtube.com/watch?v=zdxbY9vTJ30) (Idioma: en) Agora chamarei a atenção para o texto para voz O texto para voz é útil quando quer ter uma conversa com a IA utilizando comandos de voz. O parâmetro para esta funcionalidade encontra-se no painel de administração. A seleção de `Texto para Voz` da apresentam algumas opções: 1. **Whisper Local**: Pode configurar o modelo do whisper local introduzindo-o no caixilho de texto. As opções são: `74 Millions`, `tiny`, `small`, `medium`, `large`, e `turbo`. 2. **Open AI**: É outra opção que pode utilizar. No entanto, precisa de uma chave de API para uso. Após selecionar o modelo desejado, pode configurar o modelo de voz para texto. Para a API web, a qualidade é ruim, então é melhor utilizar `Open AI`. Há duas opções de modelo disponíveis e cinco opções de voz. Pode escolher a voz à ir ao [platform. open. com](http://platform.open.com) e tentando diferentes vozes. Em seguida, pode configurar o modelo de texto para voz. Por exemplo, se pretender utilizar a voz `Nova`, só precisa de introduzir `Nova` e salvar a configuração. Então, pode tentar a funcionalidade de texto para voz dizendo uma frase e servir-lhe como transcrição. Depois, pode configurar a funcionalidade de texto para voz para a IA responder número após fazer download de voz. Isso pode ser feito ir ao painel de administração, configuração do canal, e áudio. # Plano Claro para o Cálculo de AI: Porque É Tão Importante? Finalmente, você pode ter uma conversa verbal usando esta uma. Olá, por que você acha que devemos construir um plano nuclear de energia para computação de AI? O desenvolvimento de um plano claro para AI são crucial para várias razões. ## Padrões Éticos Com a tecnologia AI avançando, ela levanta preocupações éticas em relação à privacidade, preconceito e respostabilidade. Um plano público pode estabelecer Frameworks para normas éticas que garantem o uso justo e responsável da AI. ## Marco Regulatório Um plano completo pode ajudar os políticos a criar regulamentos que se adaptem às avançadas tecnologias, garantindo que as novas desenvolvimentos da AI estejam de acordo com os valores sociais e interesses públicos. ## Confiança Pública A transparência nos processos da AI agora é mais importante do que nunca. Com o plano público certo, você pode interromper e perguntar, "um, então quanto está a computação de AI atualmente? " Não é nada como o demo open AI oferecido alguns meses atrás, mas creio e de acordo com o que ouvi, eles lançaram um novo um há alguns dias. Vá mais fundo na importância de um plano público claro para a computação da AI envolve considerar várias dimensões e implicações. Aqui são alguns pontos a serem refletidos: ### Visão de Longo Prazo Estabelecer uma visão de longo prazo para a AI é chave para garantir que construiremos sistemas de AI que atendem aos nossos objetivos sociais e melhoram a vida das pessoas. ## Acesso ao Vídeo e Coleção Esta seção, intitulada "Vídeo 5, " parece ser uma referência a um vídeo do YouTube. Você pode acessá-lo [aqui](https://www.youtube.com/watch?v=5Lpd2o1TM7A). Para a coleção, há uma seção intitulada "Modelos pré-trendados, " onde listamos os modelos emissores adequados para serem usados com a interface web UI. Para acessá-lo, basta clicar no botão apropriado, fazendo certo que tenha configurado seus modelos TTS (Text-to-Speech) e STT (Speech-to-Text) adequadamente. Uma vez que você clicar no open, ele irá carregar e computar Vector embedding e colocará-o em um Banco de Dados Vetorial para você. ## Banco de Conhecimento O Banco de Conhecimento é relacionado a Rack e ajuda a encontrar respostas dentro de seu banco de conhecimento ou conjuntos de documentos. Uma atualização simplifica a manipulação de documentos, permitindo que você importe ou crie um novo banco de conhecimento ao clicar no botão apropriado e dando-lhe um nome (por exemplo, branco de conhecimento). Você pode importar uma pasta inteira, sincronizar a pasta, ou adicionar manualmente texto ao banco de conhecimento. Neste exemplo, o utilizador está importando uma pasta inteira chamada "fontes de MBA". O processo de indexação e computação de Vector embedding se demora algum tempo, especialmente se há muitos arquivos e subpastas. Enquanto esse processo estiver a decorrer, pode configurar modelos de emissão ao ir para a página de administração (painel de administração > configurações > documentos) e especificar os modelos de emissão desejados e se deseja uma busca híbrida ou não. Por padrão, um modelo de Transformador de Frases é usado para o Processamento de Vetor, embora você possa mudar isso escolhendo um modelo diferente dos modelos pré-trendidos fornecidos pelo Hugging Face (pode comparar o desempenho em 14 conjuntos de dados ou busca semântica e velocidadão também). Tenha em mente que se mudar o modelo de emissor, é necessário recomputar os seus documentos pois diferentes modelos podem resultar em Vetores de embedding diferentes para o mesmo documento. É importante notar que o processo de mudar o modelo de emissor pode ser lento devido aos tamanhos dos modelos em uso. Neste exemplo, o utilizador está a utilizar AllMpNet Base V2, que é um modelo mais grande que o padrão. Para acelerar as coisas, o utilizador pode deletar o processo, utilizar um modelo menor, ou escolher um modelo mais rápido fornecido pelo Hugging Face. ## Pensamentos Finais Um plano público para a computação da AI é essencial para garantir o uso ético, transparente e responsável do desenvolvimento de AI. Apreendendo uma visão de longo prazo, gerenciando documentos de forma eficiente e configurando os modelos de emissão adequadamente, construímos sistemas de AI que atendem às necessidades sociais e interesses públicos. Lembre-se de dar likes, deixar comentários, compartilhar e inscrever-se no canais, incluindo YouTube, LinkedIn, Tik Tok, e Facebook para as últimas atualizações sobre a AI e tecnologias relacionadas. Feliz aprendizado! 🎉🌟 # Vídeo 6: Embeddings e Atualizações da UI Web Aberta Olá todos, eu sou P Orens, fundador do canal YouTube Cat Dojo. Hoje estamos no episódio 18 e, como sempre, vamos trazer para você informações e conhecimentos práticos para que possam Autoritar-se com a Inteligência Artificial e Inteligência Gerativa. Antes de começar, temos uma anunciação. Teremos uma websessão gratuita em 5 de dezembro às 7: 00 (Horário do EST). A sessão será online e o assunto da sessão é o desenvolvimento de aplicações LLM para iniciantes. Você pode se inscrever nesta sessão clicando [aqui](https://www.eventbrite.com/xxxx) ou escaneando o código QR fornecido. Hoje, vamos nos imergir novamente na UI Web Aberta pois houveram atualizações significantes. Vamos falar sobre comunidades onde você pode importar ferramentas que outras pessoas uploaderam de graça. É isso que vamos fazer hoje. Vamos dar uma olhada num novo conjunto de conhecimentos que inclui modelos de rack e embebbindings também. Em nosso terceiro tópico, vamos dar uma olhada em ferramentas e uma nova funcionalidade chamada limites de evento. Isso é legal, pensei. Depois, vamos discutir funções, filtros e ações. É uma nova funcionalidade que permite criar um botão que será colocado abaixo da resposta do LLM para que possamos iniciar ações facilmente. Por fim, vamos tocar um pouco em um modelo de conversão de fala para texto ou modelo de texto para fala e no modo de comunicação vocálico que permite conversar com a Inteligência Artificial de voz. ## Comunidade da UI Web Aberta A UI Web Aberta possui uma comunidade onde você pode baixar modelos, prompts, ferramentas e funções que outros membros da comunidade uploaderam. Hoje, vamos dar uma olhada nos modelos. Esperamos que já tenham atualizado ou actualizado sua plataforma UI Web UI Open. Isto é um novo layout agora. A caixa de texto no início da sessão agora está no meio da tela em vez de na parte inferior como era. Isso é, na verdade, bastante semelhante à atualização mais recente do Chat GBt também, onde botões e a caixa de texto estão no meio. Se você é um administrador, você terá um espaço de trabalho na parte esquerda. Ao entrar neste local, você tem modelos, conhecimentos, prompts, ferramentas e funções normais. Novo aqui. Vamos falar sobre conhecimentos em nosso segundo tópico, mas vamos focar nos modelos, conforme norma. Você pode criar um modelo e colocar informações conforme necessário, equipá-lo com ferramentas, filtros e ações. Um novo aspecto aqui é que vamos dar uma olhada aqui mais tarde. Esta é uma forma de criar um modelo, mas, conforme mencionei, isto é uma comunidade, portanto, você pode chegar ao fundo da página do tab de modelo, e verá esta seção em que diz "Coberir um modelo". Vamos dar uma olhada num modelo, por isso vou apenas apagá-lo agora e vou mostrá-lo-lhe como importar. Idealmente, então, onde encontra a comunidade? Você pode clicar nesta seta, e ele aparecerá uma nova janela relacionada com a Comunidade da UI Web Aberta. Antes de poder baixar, de fato, prec # Comunidade Utilize esta seção para acessar modelos que as pessoas criaram anteriormente. ## Tópico 2: Conhecimento Esta seção está relacionada com Rack. Encontre uma resposta dentro de sua base de conhecimento ou conjuntos de documentos. ### Novo Recurso Um recurso novo ou atualização simplifica o gerenciamento de documentos. Agora é possível importar ou criar uma nova base de conhecimento ao clicar em um botão e informar um nome. ### Base de Conhecimento NBA Crie uma nova base de conhecimento chamada "Base de Conhecimento NBA" que será útil para respondê-lo a perguntas de negócios. Depois de criada, tem opções para upload de arquivos, sincronização de diretórios e adição de conteúdo de texto manual. ### Modelos Embutidos configure as Modelos de Embutimento acessando a página de administração e navegando para configurações -> documentos. Nesta página, especifique os modelos de embutimento e se você deseja uma pesquisa híbrida ou não. O modelo padrão é um modelo de Transformer de sentença. ### Modelos Pré-Treinados Compare a performance de modelos pré-treinados em 14 conjuntos de dados ou pesquisa semântica e desempenho em [o site do Hugging Face](https://huggingface.co/pretrained-models). Escolha modelos de acordo com suas necessidades e substitua o modelo atual na caixa de texto de interface web aberta. ## Observação - Alterar os modelos de embutimento exige a recomputação dos seus documentos, pois diferentes modelos levarão a embutimentos de vetores diferentes. - Exerca cuidado ao selecionar modelos, pois algumas opções maiores podem causar um desempenho mais lento. ## Solução de Problemas - Se o processo ficar preso, apague o modelo atual para começar do zero. - Certifique-se de que a base de conhecimento está atualizada e configurada de forma otimizada para melhor desempenho. # Ferramentas e Funções A compreensão da documentação da Interface Web UI pode ajudá-lo a valorizar o propósito de suas ferramentas e funções. Ferramentas extendem as habilidades da IA, fornecendo-lhe informação necessária para formular uma resposta. As funções em Open Web UI são classificadas de acordo com os seguintes tipos: - Funções de Processamento gerenciam o processo geral da Interface Web UI. - Funções de apoio, como as funções Future, ajudam com tarefas específicas quando você digita algo na caixa e o envia para a Interface Web UI. # Funções de Entrada e Emissor de Eventos Este é um guia sobre como utilizar as funções de Entrada e o Emissor de Eventos no Open Web UI. ## Funções de Entrada As funções de Entrada permite que você filtre, manipule ou edite o fluxo de dados. Essencialmente, as funções sont coisas que controlam e melhoram o processo de trabalho da Open Web UI. ### Função `getProductInformation` Esta é uma função demonstrativa que Retorna informações sobre os produtos que vamos comercializar. Esta função poderia ser usada em um cenário em que você possui uma escultura musical de café, por exemplo, e deseja que a AI pulle informações sobre os produtos antes de fornecer respostas para o usuário. ```markdown class Tools { getProductInformation() { const productInfo = 'Nossos produtos disponíveis são: \n1. Tradicional\n2. Mocha Alhambra\n3. Espresso\n4. Americano\n5. Cafezinho\nCada um desses café são excepcionais! '; // Utilizando o Event Emiter pra notificar ao usuário que estamos recuperando informações sobre os produtos. const eventEmitter = new EventEmitter(); eventEmitter. emit('status', {status: 'Retrieving information', done: false}); // Simulando uma espera de 2 segundos para que possamos ver o efeito. setTimeout(() => { const done = true; eventEmitter. emit('status', {status: 'Finished retrieving information'}); try { return productInfo; } catch (error) { console. error(error); } }, 2000); } } ``` ## Emissor de Eventos O Emissor de Eventos é uma ferramenta que permite que você adicione informações adicionais ao fluxo de chat ou adicione conteúdo ao chat. ### Tipos de Eventos Há dois tipos de eventos: `Status` e `Message`. O tipo `Status` é utilizado para mostrar algum tipo de status em um interface do usuário, como por exemplo, `Carregando`. O tipo `Message` é utilizado para adicionar um texto ao chat. ### Como implementar Para implementar o Emissor de Eventos, você precisará adicionar uma classe que contém uma função `emit` e uma lista de ouvintes. De seguida, você poderá emitir um evento específico com uma instância da classe EventEmitter no momento desejado. ```typescript class EventEmitter { listeners: Record<string, ((. . . args: any[]) => void)[]> = {}; emit(event: string, . . . args: any[]) { const eventListeners = this. listeners[event]; if (Array. isArray(eventListeners)) { eventListeners. forEach((listener) => listener(. . . args)); } } on(event: string, listener: (. . . args: any[]) => void) { if (! this. listeners[event]) { this. listeners[event] = []; } this. listeners[event]. push(listener); } once(event: string, listener: (. . . args: any[]) => void) { const boundListener = listener. bind(this); const wrapper = (. . . args) => { this. off(event, wrapper); listener(. . . args); }; this. on(event, wrapper); } } ``` Você pode utilizar `eventEmitter. on` para adicionar um ouvinte de evento e o `eventEmitter. emit` para disparar um determinado evento. ### Usando o Emissor de Eventos no enctada de input Neste guia, utilizamos o Emissor de Eventos para notificar ao usuário de que a instância `getProductInformation` está recuperando informações. ```javascript const eventEmitter = new EventEmitter(); eventEmitter. on('status', (data) => { console. log(`Evento de status: ${data. status}`); }); tools. getProductInformation(). then((info) => { console. log(info); }); eventEmitter. emit('status', { status: 'Iniciando processo. . . ' }); ``` ## Funções Futuras As funções Futures são usadas para controle e extensão da plataforma Open Web UI. Além disso, podem também ser utilizadas para modificar o input do usuário ou o output da LLM. ### Filters Os Filters são usados para manipular o input do usuário ou o output da LLM, principalmente editando o conteúdo do objeto Body. Para uso de Filters, você precisará definir duas funções no seu modelo de Functions: `inlet` e `outlet`. ```javascript class Filter { inlet(request, execute, next) { // . . . next(); } outlet(response, execute, next) { // . . . next(); } } ``` ### Ação A Ação é uma função trabalhando apenas para criar botões para o uso de interface do usuário com o objetivo de execultrar uma determinada tarefa. Uma função de Ação pode utilizar o Event Emiter para emitir um status. Sinta-se à vontade para explorar as funções e empregá-las na sua solução para melhorar a qualidade de resposta de sua aplicação. # Documentação para Ferramenta de Inteligência Artificial Esta documentação irá guiar você sobre a utilização de uma ferramenta de Inteligência Artificial (IA), cobrindo assuntos como ferramentas, funções e opções de áudio. ## Ferramentas As ferramentas são entidades que são equipadas à IA, permitindo-lhe acionar a ferramenta e responder de volta ao utilizador. As ferramentas estarão disponíveis num separador de Ferramentas. Funções, por outro lado, não aprimoram a IA em si, mas estendem a capacidade da interface web. Nesta documentação, poderá ver um exemplo de funcionalidade que permite contar os tokens na entrada e saída, bem como utilizar emissores de eventos para atualizar o estado e injetar uma mensagem na caixa de respostas. ## Função Count Tokens com Emissor de Eventos A função para contar tokens é um exemplo de utilizar emissores de eventos para atualizar o estado e injetar uma mensagem na caixa de respostas. Aqui está o esqueleto para a função: ``` class Futters: def __init__(self): self. token_message = 0 # Variável global para contar os tokens self. encoding = "valves default to uh class 100k base" def Count_tokens(self, text, encoding=None): . . . def inlet(self, user_message): . . . def outlet(self, assistant_message): . . . ``` Para a função `inlet`, conta o número de tokens na mensagem do utilizador e adiciona-o à variável global `token_message`. Para a função `outlet`, conta o número de tokens na mensagem da assistente e adiciona-o à variável global `token_message`. ## Ajustes de Áudio Os ajustes de áudio encontrem-se no painel de administração. Aqui, é possível configurar o motor de transcrição de fala para texto e as configurações de texto para fala. Para o motor de transcrição de fala para texto, há três opções: O Whisper local, chamada da API open AI e API web. Para as configurações de texto para fala, as opções são open AI e várias vozes de 11 Labs e Aure AI. ### Exemplo ``` # Configuração de transcrição de Fala para Texto speech_to_text_model = "tiny. English" # Configuração de Texto para Fala text_to_speech_model = "Open AI" voice = "Nova" ``` Com esta configuração, o modelo de transcrição de fala irá transcribir o que dizes, e o modelo de texto para fala será utilizado pela IA para responder-te. ### Conversação Verbal Para se comunicar oralmente com a IA, pode utilizar o modelo de transcrição de fala e modelo de texto para fala. Olá, como estás? IA: Sou apenas um programa, portanto, não tenho sentimentos, mas estou aqui e pronto para te ajudar. Como posso ajudar-te hoje? Para utilizar uma determinada voz, pode configurá-la nos ajustes do painel de administração. ### Conclusão Nesta documentação, aprendeu sobre as ferramentas, funções e ajustes de áudio de uma ferramenta de IA. Também mostrou um exemplo de funcionalidade que permite contar os tokens na entrada e saída, bem como utilizar emissores de eventos para atualizar o estado e injetar uma mensagem na caixa de respostas. Além disso, explicamos como configurar os ajustes de transcrição de fala e texto para fala e como se comunicar oralmente com a IA. Não esqueças de assinartes a nossa canal para mais conteúdos sobre IA! Estamos no YouTube, LinkedIn, Facebook, X e Substack. # YouTube, LinkedIn, Facebook, e Substack Webinar Uma webinar gratuita sobre o desenvolvimento de aplicações LLM para iniciantes será realizada em 5 de Dezembro às 19 horas (TEMPO EST). Espero nós nos encontrar lá. Até agora, tenha um bom dia, obrigada. [Vídeo 7: YouTube](https://www.youtube.com/watch?v=dPgrWTH0ubU) (Idioma: en) ## Visão Geral de Funções Nesta seção, discutiremos as funções e sua utilização na UI web. ### Definição de Função Neste contexto, as funções são funções programáticas escritas em Python que a LLM verá e usará para fornecer respostas a consultas dos usuários. A LLM é responsável pela preparação dos inputs para uma função. ### Ferramentas Nesta seção discutiremos três ferramentas que criei, uma delas não funciona. Vamos fazer o primerio batimento com as ferramentas que funcionam. #### Ferramenta 1: Ferramentas de Data Esta ferramenta contém três funções: 1. Obter Horário Atual: Esta função calcula a duração entre duas datas fornecidas. 2. Dia de Trabalho: Esta função determina o dia da semana a partir de uma data fornecida. #### Ferramenta 2: (Não Funcionando) Esta ferramenta recebe um usuário, email e ID como entrada. ### Adicionando Novas Ferramentas Para adicionar novas ferramentas, você precisa: 1. Ir à área de configuração da UI web aberta. 2. Clicar no botão "Alternar App". 3. Clicar no botão "+" para obter um modelo. 4. Usar a `class Tools` e definir o processo de inicialização. 5. Coloque cada função dentro dessa classe. 6. Salve a ferramenta quando terminado. 7. Equipe o modelo marcando a caixa da ferramenta que deseja equipar o modelo. ## Usando Ferramentas Para usar ferramentas, você precisa: 1. Criar um modelo. 2. Preencher a informação necessária como o nome do modelo, a descrição, o modelo de base, o prompt do sistema e as ferramentas equipadas. 3. A LLM aprenderá sobre as ferramentas e as utilizará para fornecer respostas a consultas dos usuários. === [Vídeo 8: YouTube](https://www.youtube.com/watch?v=-Ev773G3CoQ) (Idioma: en) ## Três Ferramentas Criadas (Uma Não Funcionando) Vou mostrar três ferramentas que criei, uma delas não funciona. Vamos discutir as ferramentas que funcionam primeiro. ### Ferramenta 1: Ferramentas de Data Esta ferramenta contém três funções: 1. Obter Horário Atual: Esta função calcula a duração entre datas fornecidas. 2. Dia de Trabalho: Esta função determina o dia da semana a partir de uma data fornecida. ### Ferramenta 2: (Não Funcionando) Esta ferramenta recebe um usuário, email e ID como entrada. ### Adicionando Novas Ferramentas Para adicionar novas ferramentas, você precisa: 1. Ir à área de configuração da UI web aberta. 2. Clicar no botão "Alternar App". 3. Clicar no botão "+" para obter um modelo. 4. Usar a `class Tools` e definir o processo de inicialização. 5. Coloque cada função dentro dessa classe. 6. Salve a ferramenta quando terminado. 7. Equipe o modelo marcando a caixa da ferramenta que deseja equipar o modelo. ## Usando Ferramentas Para usar ferramentas, você precisa: 1. Criar um modelo. 2. Preencher a informação necessária como o nome do modelo, a descrição, o modelo de base, o prompt do sistema e as ferramentas equipadas. 3. A LLM aprenderá sobre as ferramentas e as utilizará para fornecer respostas a consultas dos usuários. # Documentação para Utilização das Funções Avançadas na Interface Web Abertura ## Sumário 1. [Revisão da Função de Divina Predição](#revisão-da-função-de-divina-predição) 2. [Revisão da Função de Cálculo Matemático](#revisão-da-função-de-cálculo-matemático) ## Revisão da Função de Divina Predição Nesta seção, você verá uma revisão da função de divina predição com o modelo "Modelo Preditivo para Sequências de Texto", que é utilizado como a base do modelo para determinar a previsão de um nome. ### Pré-requisitos O modelo necessita de um nome como entrada, solicitando-o ao usuário. ### Instruções para uso - Inicie um chat com o modelo e solicite ao modelo a previsão de um nome. - Após inserir o nome escolhido pelo usuário, o modelo analiza o nome e o processa antes de retornar a resposta. ### Uso ideal Utilize esta função para obter uma pré-visão do futuro de um indivíduo em específico. ### Código de referência ``` Nome de Usuário: Ben Futuro do Usuário: Seu futuro parece encapsulado; talvez você queira tentar novamente depois que o tempo é mais favorável para um chancelamento astrológico. ``` ## Revisão da Função de Cálculo Matemático Nesta seção, você verá uma revisão da função de cálculo matemático do modelo, que utiliza a função `//numberArithmetic` para executar operações aritméticas, e `//getSquare` para obter o valor quadrado. ### Pré-requisitos O modelo necessita de duas operandos e um operador aritmético para realizando a operação aritmética. ### Instruções para uso - Inicie um chat com o modelo e solicite ao modelo a resposta de uma equação matemática. - Após fornecer o problema matemático para o modelo, o modelo analizar o problema antes de retornar a solução. ### Uso ideal Utilize esta função para resolver problemas matemáticos. ### Código de referência ``` 10 + 1 = 456 (Esperado 11) ``` # Guia de Utilização de Ferramentas, Futures e Pipelines no Open Web UI Hoje, compartilharei o que aprendi sobre os recursos oferecidos pelo Open Web UI. Este artigo é um esforço de explorar o que são Futures e Pipelines, e tentar expulsar alguma luz sobre a maneira de utilizar essas funcionalidades avançadas. Porém, tenha em mente que este artigo é apenas uma introdução e não pretende ser exaustivo. ## Ferramentas As ferramentas são funções Python define pelo usuário que os LMs utilizarão. A escolha se um LM terá que utilizar uma ferramenta para responder a uma mensagem do usuário é de seu critério. ### Criando uma ferramenta Para criar uma ferramenta, basta seguir estes passos: 1. Vá até a página de administração do Open Web UI. 2. Clique em `Workspace` e, em seguida, selecione a guia `Tools`. 3. Clique em `Add Tool` e preencha o template fornecido. 4. Para criar uma função que relacione function de temporização e packê-las em conjunto, você pode criar uma classe `Tools` e definir várias funções dentro dele. Se você quiser, pode adicionar mais funções ao seu projeto. 5. Selecione um modelo base adequado para o seu LM e defina uma linha de comando de sistema como você achar correto. 6. Equipe a ferramenta no modelo selecionado. No exemplo a seguir, criaremos uma ferramenta para trabalhar com datas: ```python # Importar a biblioteca utilizada from datetime import datetime class Tools: def __init__(self): pass def current_time(self): return datetime. now() def get_duration(self, date1, date2): diff = date2 - date1 return diff. days def day_of_week(self, date_string): # Uso da biblioteca para determinar um dia da semana a partir de uma string de data pass ``` ## Futures Os Futures são um mecanismo no Open Web UI que permite processar mensagens do usuário de forma assíncrona para aplicar filtros de entrada e saida, filtrar a linguagem inapropriada ou prejudicial e traduzir mensagens para o inglês. Para utilizar uma Future, basta definir seu LM para passar por ela as mensagens do usuário. ## Pipelines Pipelines são uma extenção do Open Web UI muito poderoso, permitindo ir além das funções básicas, O pipelines têm filtros de entrada e saída, além de permite escrever seu próprio código entre esses filtros. Para que um pipeline funcione, basta habilitá-lo quando sua página estiver carregada. Você pode definir e customizar todos os códigos em seu pipeline. Além disso, você pode fazer pedidos para APIs, aceder a bancos de dados externos ou utilizar um LLM adicional para potenciar o seu pipeline. **Dicas: ** - Sozinha, a tarefa exata de processamento de uma mensagem do usuário e o processamento da resposta do LLM é complexa e poderá não funcionar corretamente sempre. Por esse motivo, certifique-se de criar funções de utilidade e testar-las antes de incluir no pipeline. - Certifique-se de que o seu LLM está treinado com uma grande quantidade de dados e que as configurações do seu pipeline sejam enxadas para garantir o melhor desempenho possível. - Se o seu pipeline não estiver funcionando corretamente, certifique-se de verificar a documentação do Open Web UI e ver # Documentação Técnica para Mat Tool AI ## Sumário 1. Introdução 2. Ferramentas - Ferramenta do Adivinhador de Sorte - Ferramentas de Cálculo Matemático 3. Funções - Árithmética de Dois Números - Quadrado de um Valor Determinado 4. Comparação entre o Seguimento de Instruções no GBTab40 Mini e no Chat GBTab40 5. Tecas de Funções e Filtros ## 1. Introdução Este documento fornece uma visão geral do Mat Tool AI, enfocando suas ferramentas, funções e instruções para uso. ## 2. Ferramentas ### 2. 1 Ferramenta do Adivinhador de Sorte A Ferramenta do Adivinhador de Sorte é a ferramenta mais bem-sucedida, atingindo um sucesso de aproximadamente 100%. Ela provê serviços de adivinhação, funcionando conforme o previsto quando ativada. ### 2. 2 Ferramentas de Cálculo Matemático As Ferramentas de Cálculo Matemático foram identificadas como um caso de fracasso, sem nenhum sucesso em conseguir chamar as funções. #### 2. 2. 1 Árithmética de Dois Números Esta função tem como objetivo extrair dois números da consulta do usuário, identificar o operador (adicionar, subtrair, multiplicar, dividir), e executar uma conta. O código real para executar as contas seria fornecido se essa função executasse com sucesso. #### 2. 2. 2 Quadrado de um Valor Determinado Esta função tem como objetivo encontrar o quadrado de um valor específico, mas ela falhou na chamada adequada. ## 3. Comparação entre o Seguimento de Instruções no GBTab40 Mini e no Chat GBTab40 A seguir está uma comparação do seguimento de instruções entre GBTab40 Mini e Chat GBTab40, conforme observações no prompt do sistema. ## 4. Tecas de Funções e Filtros As tecas de funções permitem definir filtros e pipeline diretamente na interface de Web UI. No entanto, há uma limitação, pois Não é possível instalar dependências Python personalizadas ao usar a teca de função. Em vez disso, futuros e pipeline implementados serão limitados pelas bibliotecas ou pacotes disponíveis na biblioteca de Web UI aberta. ### 4. 1 Filtros Os filtros permitem processar mensagens de entrada dos usuários e saídas do Large Language Model(LLM). Um filtro possui um template e pode incluir Válvulas como entradas Futuro. ## 5. Pipelines Esta seção sugere a visita da página GitHub de Pipelines Web UI para mais exemplos e documentação detalhada sobre o uso de pipelines, pois a documentação atual falta. Aqui está um exemplo de uma pasta clonada contendo exemplos de pipelines para estudo adicional. # Futuros e Pipelines Neste exemplo, abordaremos Filters, Pipelines e Scaffolds. No entanto, não abordaremos Scaffolds neste momento. Desejamos focar apenas em Futuros e Pipelines. Veja um exemplo de código Futuros que você deve se concentrar: ```javascript // Tradução automaticamente de Futuros // Aqui está o que é realmente importante Tem alguma sensação que, mesmo sendo Futuros, eles ainda estão usando uma pipe como classe aqui. Não entendo realmente pelo que isso é, mas funciona bem assim. De qualquer forma, em pipes, eles também contêm recursos de filtragem como Inlet e Outlet a seguir. Então, talvez aquela seja a razão por trás. Neste exemplo de Futuros (aquele que segue), este é um dos exemplos: ``` ## Implementação de Futuros (um exemplo) ```python # Implementação de Futuros # Aqui apenas tem Inlet e Outlet ``` ### Função de tradução ```python def traduzir(message_do_usuário): # código. . . # Este é o lugar do código que faz a tradução # Você pode utilizar qualquer biblioteca de tradução aqui (por exemplo, Google Translate) #x, y = localize_source_e_target(message_do_usuário) # message_traduzida = traduzir_com_google(message_do_usuário, x, y) message_traduzida = "tradução fictícia da mensagem de origem" return message_traduzida ``` ### Inlet ```python def inlet(request): message_do_usuário = request. body message_traduzida = traduzir(message_do_usuário) return message_traduzida ``` ### Outlet ```python def outlet(thread): return thread. response ``` ## Futuros Os Futuros são acreditados por serem a extensão mais poderosa da UI web aberta, pois eles permitem fazer muitas coisas dentro dele. É como escrever seu próprio código dentro de uma caixa preta para a UI web não precisar saber nada além de enviar uma mensagem de usuário para esse caixa preta e receber algo de volta. Isso permite personalizações no seu código. Você pode utilizar Raku para emitir-o, ter um banco de dados hospedado na nuvem e fazer uma solicitação para obter o contexto ou as documentações de volta. O mesmo se aplica ao SQL: você pode enviar uma solicitação para um banco de dados remoto e receber a resposta de volta. Definir suas próprias funções e utiliza-las dentro do pipeline também pode ser feito. Integrar fornecedores de IA não-terceirizados, como Gemini ou Anthropic, também pode ser feito neste pipeline. Além disso, estações livres podem ser implementadas dentro do pipeline. **Observação: ** Consulte o repositório completo [pipelines](https://github.com/openweb-ui/pipelines) para ver os exemplos detalhados e integrações adicionais. ## Exemplo de pipeline Neste diretório [`pipelines/example/smart_bot`](https://github.com/openweb-ui/pipelines/tree/master/pipelines/example/smart_bot), você pode ver exemplos de integração, como o seguinte: ```sql // exemplo de integração com Google # Utilize o Google Cloud Platform API para este exemplo. // . . . # Defina um modelo Google no Google Cloud Platform. # Aqui não mostrarei o código, pois é de muito diverso da intenção deste exemplo. # . . . ``` ## Servindo o pipeline Para servir o pipeline, você pode utilizar um servidor SSH ou outras ferramentas. Para garantir que o pipeline esteja conectado à UI web, é necessário verificar a conexão pelo endereço `https://seu-servidor-open-web-ui:3000/admin/pipeline`. Se a conexão parecer assim, tudo funciona correto: ```html Example pipelines: - Meu pipeline: https://seu-servidor-open-web-ui:3000/app/pipeline/meu-pipeline ``` ## Ligando seu pipeline personalizado Para ligar um pipeline personalizado, faça o download do repositório e salve a pasta em um local onde você deseja hospedar o pipeline. Depois, siga estas etapas: 1. Execute o comando abaixo para iniciar um contêiner Docker: ```bash docker run -it --rm -p 127. 0. 0. 1: 4040: 4040 openwebui/pipeline: latest ``` 2. Acesse a página do pipeline na UI aberta web em `https://seu-servidor-open-web-ui:3000/admin/pipeline`. 3. Adicione seu pipeline personalizado clicando em `Select code` e selecionando o arquivo do pipeline. Espero que este resumo do repositório ajude a compreender como funcionam pipelines e Futuros com UI web aberto. Veja o repositório completo [pipelines](https://github.com/openweb-ui/pipelines) se quiser explorar os exemplos detalhados. # Vídeo 11: Recuperação Básica com Pipelines no Open Web UI (Português de Portugal) Use esta função para realizar recuperação básica com um pipeline no Open Web UI. ## Pré-requisitos - Uma compreensão de funções, ferramentas, recursos e pipelines - Interface do Open Web UI e do modelo Llama 3. 1 disponível ## Passos a seguir 1. Selecione a função `Recuperação Básica` 2. Especifique a palavra-chave (por exemplo, manga) para recuperar produtos no banco de dados. 3. O pipeline deve devolver uma descrição do produto(s) encontrado(s). ## Cenário de exemplo Se procurares por `Gia`, o pipeline deve recuperar as seguintes informações: ````markdown > O pipeline recuperou a descrição do produto 'Gia'. ```` ## Próximos Passos 1. Escolha outros modelos e solicite-lhes que execute tarefas baseadas na descrição recuperada. Por exemplo, utilize a descrição recuperada para gerar um pequeno anúncio ou post de rede social. 2. Experimente com vários modelos e combinações para melhorar a funcionalidade dos seus pipelines. ## Vídeo 12: Construindo uma Ferramenta Meteorológica de Cidade com Chamadas de Função ### Introdução Aprenda a construir uma Ferramenta Meteorológica de Cidade neste tutorial para obter o tempo atual de qualquer cidade. Sigam os passos para definir e chamar funções em sua AI. ### Preparação - Sejam famíliars com a definição de ferramentas e o uso de funções ### Passos para construir a sua Ferramenta Meteorológica de Cidade 1. Na guia Ferramentas, defina a sua ferramenta com o nome e um ID gerado (por exemplo, Tempo da Cidade). 2. Importe qualquer biblioteca necessária para a funcionalidade da sua ferramenta. 3. Defina a função que deseja que o modelo execute para recuperar o tempo atual da cidade. ### Exemplo Simples Aqui está uma implementação simples da ferramenta `Tempo da Cidade`: ````python from openweathermapapi import OpenWeatherMapApi class CityWeather(Tool): async def __call__(self, city: str) -> str: api = OpenWeatherMapApi(sua_api_chave) weather = api. weather(city) return f'O temperatura atual em {city} é {weather["main"]["temp"]}K. ' ```` Sua `sua_api_chave` deve ser substituída pela sua chave de API OpenWeatherMap. Encontre instruções para obter uma chave API [aqui](https://openweathermap.org/api/one-call-api#onecalldata). ## Conclusão O uso de chamadas de função permite-lhe criar ferramentas mais versáteis e adaptáveis no Open Web UI. Combine esta técnica com pipelines para criar aplicações web robustas e potentes. Divirta-se explorando e integrando estas conceitos na sua experiência Open Web UI! # Descrição da Ferramenta de Tempo Atual Esta seção descreve o propósito e as funcionalidades da Ferramenta de Tempo Atual. ## Visão Geral A Ferramenta de Tempo Atual é feita para fornecer as informações do tempo em uma cidade determinada. Ela cria um argumento com o nome da cidade e fornece as condições atuais do tempo para aquela cidade. ## Chamada de Função Para usar a ferramenta, você precisará criar primeiro um modelo na guia Apresentação. Dê um nome e uma descrição para o modelo. Selecione a base de dados de partida (por exemplo, gbd4) que sua ferrumenta será baseada. Em seguida, deme um prompts de sistema para direcionar o comportamento da ferramenta. Depois que o modelo for criado, navegue pelo guia Ferramentas e selecione a Ferramenta de Tempo Atual. Você também pode anexar documentos relevantes para a ferramenta usar. Não se esqueça de ativar a ferramenta antes de usá-la. ## Teste da Ferramenta É importante testar a ferramenta para garantir que a chamada de função esteja funcionando corretamente. Para testar a ferramenta, tente rodá-la com diferentes cidades. Se a ferramenta retornar apenas o tempo da cidade como "boa, " então a ferramenta está funcionando conforme o previsto. Entretanto, se a ferramenta retornar uma entoanth曲 "o tempo em São Francisco é geralmente muito bom, " sugere que há um problema com a chamada de função. Nesse caso, você pode considerar utilizar uma base de dados diferente que seja capaz de chamadas de função consistentes. ## Modelos Disponíveis Para tornar a ferramenta disponível para os usuários, você precisará branquejar o modelo nesta página. Você pode encontrar o modelo C Weather na lista de modelos e permitir para o seu uso. ## Solução de problemas Se encontrar algum problema enquanto testa a ferramenta, tente deslogar e se logar novamente. Isto poderá ajudar a resolver algumas falhas que possam afetar o seu desempenho. ## Pesquisa na Web Além da Ferramenta de Tempo Atual, é também possível habilitar a pesquisa na web para fornecer à ferramenta a capacidade de acessar informações na internet. Para habilitar a pesquisa na Web, siga os passos descritos no video Vídeo 13. ## Recuperação e Aumento de Conteúdo Raro Esta seção se concentra no uso da aplicação Frack para recuperação e aumento de conteúdo raro. Para mais informações, assista o video Vídeo 14. --- # Video 13: [YouTube Link](https://www.youtube.com/watch?v=X84loetQFHc) (Idioma: en) --- # Video 14: [YouTube Link](https://www.youtube.com/watch?v=W0nAZiFMnYw) (Idioma: en) # Gestão de Documentos com Rack usando Interface Web Aberta Este guia vai mostrar-lhe como gerir documentos usando Rack e Interface Web Aberta. ## Enviando Documentos Para enviar documentos, siga estes passos: 1. Propor documentos: Você pode propor documentos usando o botão de envio. No entanto, lembre-se de que você terá que enviar documentos sempre que os precisar, pois não são permanentemente acessíveis. ## Acessando Documentos Enviados Para selecionar um documento para uma aplicação do Rack, puede utilizar a notação de loja de compartilhamento para selecionar o documento que pretende utilizar como contexto. Isso lhe permite selecionar documentos com base no tema, como marketing ou contabilidade. Por exemplo, para selecionar um documento sobre "piece de quatro", pode utilizar o hash (#four-piece). Isto lhe ajudará a procurar documentos relacionados com marketing apenas, não todos os documentos. ## Processamento de Documentos pela Interface Web Aberta A Interface Web Aberta executa uma processamento básico dos documentos, extraíndo apenas o texto contido no documento. Não realiza a conversão de imagem para texto nem nenhuma enriquecimento. Se o seu documento contiver texto de alta qualidade sem muita informação sendo mantida nos gráficos ou imagens, isso deverá ser suficiente para você. ## Usando Rack com Interface Web Aberta Os usuários podem acessar o Rack usando a interface (UI). No entanto, o usuário não verá informações novas imediatamente. Você terá de atualizar a página para que a informação nova seja atualizada. ## Listagem branca de utilizadores Pode listar modelos para utilizadores indo para a guia de configuração e conexões. Isso lhe permite definir os modelos que os utilizadores, além dos admins, podem utilizar. ## Conclusão Este guia fornece uma compreensão básica de como utilizar Rack e Interface Web Aberta para gestão de documentos. Por seguindo estes passos, pode gerir facilmente os seus documentos e os aceder para aplicações diversas. Para mais informação, pode assistir ao [Video 15](https://www.youtube.com/watch?v=GOPyzn3b7CU) (Língua: en). # Padrões de Parâmetros de Consulta e Modelo de Aplicação Rack Este documento fornece uma visão geral dos parâmetros de consulta padrão para uma aplicação Rack, juntamente com um modelo que será usado quando a aplicação Rack for ativada. ## Visão Geral O modelo utilizará este modelo para aprender conhecimentos e recuperar informações conforme o contexto que for especificado. Em seguida, populará a informação recuperada no lugar adequado. Se não estiver familiarizado, simplesmente use a prompt "não sei". ### Certificação (para CLIicação) Este é apenas um prompt usado para aplicação Rack. Se você não estiver familiarizado com Rack, consulte minha vídeo separate no meu canal do YouTube sobre Rack para mais informações. ### Tamanho do bloco Determine o tamanho de seu bloco (como quer que seja dividido o seu texto) para que possa ser dado ao modelo para processar. ### Capacidade de Pesquisa na Web A capacidade de pesquisa na Web permite que seja recuperada informação de uma pesquisa na Web e provedora como contexto para o modelo responder. Pode habilitar esta capacidade usando a função abaixo: ```ruby # Habilitar pesquisa na Web habilitar_pesquisa_na_web(opções) ``` Where `opções` pode incluir o número de resultados de pesquisa que deseja, o número de pedidos em paralelo, e se desejar verificar a verificação de segurança. ### Geração de título de Prompt Este prompt gera o título do chat com o seu bot. Não haveremos modificações nesta por enquanto. ### Modelo de fala e OCR Pode escolher o modelo de OCR que prefere, seja ele um modelo pequeno no seu computador local ou a API OpenAI ou web API. Para mais recursos, você pode pesquisar na internet. No entanto, algumas funcionalidades não estão profundamente explicadas e podem precisar de explicação adicional em vídeos futuros. ### Geração de Imagem Por padrão, a geração de imagem é automática. No entanto, por limitação de tempo usaremos a chave API OpenAI com o modelo Dalle-2 ao invés disso. Para habilitar a geração de imagem, siga as etapas abaixo: 1. Ativar a geração de imagem. 2. Selecione o modelo que prefere (Dalle-2, por exemplo). 3. Defina a resolução (recomendamos utilizar 1024 para Dalle-2 para evitar erros). ### Pipelines Não discutiremos pipelines neste documento, mas o conceito é semelhante à automatização, onde você conecta coisas ou constrói pipelines para processar algo. Pode-se cobrir pipelines em uma sessão futura. ### Gestão de Usuários Esta secção o guiará por processo de adição de um novo usuário. #### Painel de Controle No painel de controle, poderá ver os usuários dentro do seu sistema. Poderá alterar a função de um usuário de pendente para usuário ou admin, conforme necessário. #### Processo de Gestão de Usuários 1. Crie um novo usuário abrindo um modo incógnito, acessando o servidor e seguindo o processo de registro. 2. Acione ou conceda acesso ao sistema para o novo usuário indo à página de admin, encontrando o novo usuário na lista e atualizando a função. #### White Listing de Modelos Para adicionar novos modelos ao white list (para todos os usuários), siga as etapas abaixo: 1. Vá para painel de admin. 2. Vá para `Configurações` > `Usuários`. 3. Adicione o modelo desejado à white list. 4. Clique em `Guardar`. ## Referências - [Vídeo 16: Aplicação Rack com UI Web Open](https://www.youtube.com/watch?v=du9M6Epqp94) (Idioma: en) - [Vídeo 17: Recursos da UI Web Open](https://www.youtube.com/watch?v=B6gG729hjAA) (Idioma: en) # Notas de Versão: GBTR 40 Mini Este GBTR 40 mini é suposto ser eficiente em custos, embora sua performance possa ser levemente inferior à GPD 4 ou à versão regular. No entanto, você ganha mais em termos de custos. Por exemplo, atualmente, o GBTR para todos custará 15 centavos por milhão de tokens de entrada, enquanto os tokens de saída custarão 60 centavos por milhão de tokens de saída – significantemente menos que o GPT 4 e GPT 4. Isto torna-o extremamente atraente para construir uma aplicação de models em texto usando um GBTR 40 mini. ## Características chave - **Executar a baixo custo** - **Latência baixa** - **Efetivo para aplicações que exigem a montagem ou priorização de várias chamadas de modelo** - **Perfeito para aplicações de Geração Retrieval-augmented, com a capacidade de arrolar um PDF inteiro no modelo para que o modelo encontre respostas de referência** ## Vantagens adicionais - **Benefícios de custo favorecem a aplicação em tempo real** - **Latência baixa é adequada para aplicações que interagem com clientes** ## Limitações - **Atualmente, apenas texto e visão são dedicadas na API** - **Entradas multimodais como texto, imagem, vídeo e áudio, assim como saídas, serão sustained no futuro** - **A janela de contexto é ainda limitada a 128. 000 token** - **Saída pode ser até 16. 000 token** ## Comparação Você pode olhar o painel de notas desta versão no site da Open AI aqui. Poderíamos comparar o desempenho de várias aplicações de Learning Language Models (LLM) existentes, incluindo o GBTR 40 Mini, em Laranja, o Flash Gemini (uma versão mais rápida do Pro 1. 5 Gemini da Google), o Claude da Anthropic e o GBTR 4 ou em Rosa da Open AI. Aqui está um gráfico comparando o GBTR 4 com outras LLMs: [Conexão perdida] Neste gráfico, o GBTR 4 está classificando em primeiro lugar em muitos benchmarks. O GBTR 40 mini é menos efficaz mas ainda vence outras LLMs de proveedores como Gini, por exemplo. Se este gráfico ou barras for o mesmo, o GBTR 40 mini é uma opção viável para construir uma aplicação de LLC. ## Treinamento e segurança Se você estiver interessado em como treinam o modelo e como eles implementam a segurança durante o treinamento do modelo, você pode conferir isso também. ## Novo Modelo: Gro Lamda 3 Croc Duo Model Há outro modelo lançado em parceria pela Gro com Glaive. Este modelo é construído sobre o arquiteto Llama 3 da Mata, e Groc treinou este modelo em dois sabor: com 70 bilhões de parâmetros e com 8 bilhões de parâmetros. ### Características - **Extremamente competente em chamadas de função ou uso de ferramentas** - **Função de uso de excelente precisão e uso** - **Melhora o desempenho de sua aplicação** ### Disponibilidade O Modelo Gro Lamda 3 Croc Duo está disponível no modo fase hucking, bem. Você pode acessá-lo e usá-lo como desejar. ### Leaderboard de chamadas de função Discutiremos sobre o leaderboard de chamadas de função em nosso próximo tópico. Fique atento! # Página de Aterrissagem para Análise. ai Esta página oferece uma comparação de vários modelos de linguagem através de várias dimensões, incluindo qualidade, velocidade de saída, preço, tamanho da janela de contexto e mais. Siga os passos abaixo para tomar decisões informadas sobre o modelo que deseja utilizar. ## Selecione um Modelo 1. Navegue para a página de comparação de modelos. 2. Escolha um modelo de interesse (por exemplo, Gemini 1. 5 para este caso). ## Diagrama de Comparação em Duas Dimensões ! [Diagrama de Duas Dimensões](URL_para_diagrama_umidimensional) Para uma melhor comparação, escolha um modelo e veja sua performance contra outros no diagrama de duas dimensões. Neste exemplo, o Gemini 1. 5 está destacado. ### Características Chave do Gemini 1. 5 * Suporta contexto de até 1 milhão de tokens enquanto o gbt 4 mini apenas suporta 128, 000. * Melhorar o comprimento de contexto para melhor compreensão e geração. ## Comparação de Modelos Navegue através da comparação de modelos usando os botões fornecidos, focando nos aspectos que a interessam o mais. Por exemplo, aqui está o diagrama de duas dimensões para qualidade versus velocidade de saída para CPT 40 mini: ! [Diagrama de Comparação de Modelos](URL_para_diagrama_de_comparação_modelo) ## Categorias de Modelos O Análise. ai também oferece comparação entre modelos de texto a fala e fala a texto. Além disso, você pode explorar a geração de imagem a partir de texto: ### Geração de Imagem a partir de Texto Descubra diversos jogadores nesta categoria, como Mid Journey, Stable Diffusion e Doll-E. ## Classificação de Chamada de Função O Classificação da Universidade de Berkeley de Chamada de Função avalia modelos de linguagem artificiais em termos de sua capacidade de corretamente chamar funções. Este estudo é possível graças a um grupo na Universidade de Berkeley. Mais informações sobre a classificação, incluindo uma explicação mais detalhada do processo de avaliação, podem ser encontrados no site oficial. ### Categorias de Avaliação * Chamada de Função: Avalia os modelos baseados em sua capacidade de correta escrever chamadas de função. * Área Python: Avalia se um modelo pode utilizar ou chamar funções simples em código. * Não Python: Avalia a capacidade dos modelos em utilizar síntaxe REST API, comandos SQL e interagir com Java e JavaScript. * Árvore de Sintaxe Abstrata: Avalia os árvores de decisão de modelos e sua capacidade de executar funções. ### Classificações O modelo de liderança no classificador de chamada de função é CL 3. 5 Sunet, seguido por GPT 4. Outros modelos, como Gorilla e MetaLama 3, estão disponíveis para comparação. # Avaliação e Uso da Interface Web Aberta ## Tabela de Classificação de Chamada de Função de Berkeley Vamos olhar para o `Tabela de Classificação de Chamada de Função de Berkeley` para avaliar modelos de chamada de função e utilização de ferramentas. A tabela de classificação também pode ser acessada em [Tabela de Classificação de Chamada de Função de Berkeley](https://gorilla.berkeley.edu/functioncalling/leaderboard/). Aqui está a descrição do processo de avaliação dos modelos: ### Métricas de Avaliação - CES (Pontuação de Execução Correta): Mede se o modelo pode executar a chamada de função fornecida corretamente. - Documentação e Saída Lógica: Fornece a documentação e a saída lógica que o modelo precisa gerar para determinar se ele pode executar a tarefa correta. ### Uso da Interface Web Aberta Vamos discutir o uso da Interface Web Aberta, uma interface que você pode implementar em sua máquina local. #### Pré-requisitos 1. Instale o Docker: Escolha a versão que atenda aos seus requisitos. 2. Baixe a imagem do Docker da Interface Web Aberta: ``` docker pull rajatkt3/openwebui: latest docker run -it --rm -p 8080: 8080 rajatkt3/openwebui ``` (Nota: Baixe a versão adequada para seu sistema operacional se você não tiver uma GPU. ) #### Acessando a Interface Web Aberta 1. Abra um navegador web e digite `http://localhost:8080`. 2. Faça o logon ou crie uma conta se for a primeira vez a executar o contêiner do Docker. A primeira conta a se cadastrar será a admin. #### Dentro da Interface Web Aberta 1. Crie uma nova sessão de chat clicando no botão `Novo` no painel esquerdo. 2. Personalize a sessão de chat modificando a solicitação do sistema na seção de `Configurações`. Por exemplo, você pode alterá-lo para pirata: ``` style: name: Pirata ``` Com essa configuração, todas as mensagens nesta sessão serão escritas em estilo pirata. 3. Interaja com o assistente de inteligência artificial. A Interface Web Aberta suporta a geração retriever-augmentada, a pesquisa na web e a chamada de função. Você também pode gerar imagens como usando Gemini ou a interface de chat TBT do navegador web. 4. Salve ou apague a história de chat conforme necessário. #### Dicas e Truques 1. Prompt de sistema reutilizável: Crie um prompt personalizado (como meu prompt) fornecendo um prompt de sistema. Esse prompt pode ser reutilizado em várias sessões de chat. 2. Compartilhe a interface: Hospede a interface em um provedor de nuvem e compartilhe um link externo com membros do time para colaborar. Muitas pessoas podem usar a mesma chave da API do OpenAI. 3. Interação por fala: Use falas em vez de texto para interagir com a Interface Web Aberta. 4. Personalização: Personalize o tema, as configurações de áudio e outras prefereências de acordo com suas preferências. ```markdown # Interface de Usuário da Open Web UI Este é um resumo da interface de usuário da Open Web UI. ## Configurando a Open Web UI Configuração inicial envolve o estabelecimento da ligação aos modelos. 1. Navegue até o painel de administração. 2. Acesse a guia `Configurações` e `Conexões`. 3. Crie conexões introduzindo a URL API do OpenAI e a chave da API. 4. Grave as alterações. Depois de salvar, serão carregados os modelos disponíveis da API do OpenAI. ### Hospedagem de Modelos próprios Para hospedar seus próprios modelos, primeiro é necessário um URL de acesso para o seu Cloud privado. A implementação do MS deverá ser compatível com a API do OpenAI em termos da interface de API. Atualmente, parece ser possível, mas os detalhes não são fornecidos aqui. ## Apenas Models Permitidos No painel do utilizador, pode definir os modelos que os utilizadores (não administradores) poderão acessar. Pode acrescentar modelos à lista branca clicando no botão `Adicionar` e selecionando o modelo do qual tem acesso. Por exemplo, o GPT 40 mini pode ser adicionado à lista de modelos permitidos posteriormente. ## Utilização Básica Este ferramental pode ser utilizado em seu computador pessoal e, com uso avançado, pode ser hospedado em provedores Cloud privativos e porkostado à equipa. Para detalhes sobre o uso avançado, pare de procurar formas de hospedar-se no seu Cloud privativo ou Cloud providers. ## Pesquisa na Web A pesquisa da Web permite a realização de pesquisas na Web e a recuperação de informações de fontes como D. O. Pode ativar as capacidades de pesquisa da Web usando esta função. ## Outras Funções - Geração de Prompt de Título: cria o título de cada conversa. - Áudio: Selecione e utilizar um modelo de conversão de fala. - Geração de Imagens: Por defeito, é utilizado automaticamente o modelo 1111, mas aconselha utilizar a API do OpenAI com o modelo DALL-E 3 em vez disso. ## Adicionar e Gerir Utilizadores - Painel de Controlo: Mostra os utilizadores no seu sistema. - Administração de Utilizadores: Permite alterar o papel de um utilizador, eliminar ou promover os utilizadores. ``` # Introdução à Rack e AMA ## Introdução Começamos por ligar OpenAI (AMA) com Rack. 1. Teste da AMA - Comece por testar a AMA através da minha interface de admin. - Minha AMA também tem um `Demma`, então vamos ver se funciona. 2. Carregamento de Documentos - Para utilizar Rack, começamos com o portal de admin e vamos para o workspace. - Aqui podemos ter guias na parte superior, a primeira sendo "Documentos". - Neste local, podemos carregar documentos que desejamos colocar no Rack. - É claro se o programa copiar automaticamente os documentos carregados para uma pasta local, mas isso pode ser explorado mais tarde. 3. Marcação - Utilize marcação adequada para agrupar documentos similares. - Isso facilitará a gestão e a busca de documentos específicos. 4. Utilização de Rack - Para utilizar Rack, primeiro, selecione um modelo, como `gbt 3. 5 Turbo`. - Forneça os documentos que deseja utilizar com este modelo. - Se já tiveres documentos carregados, os poderes fornecê-los através do botão de upload. - No entanto, serás obrigado a fazê-lo a cada vez que precisares de utilizar Rack. 5. Pesquisa na Web - A pesquisa na web pode ser acionada através do painel de admin. - Se ativada corretamente, os utilizadores podem efectuar buscas na web também. 6. Pergunta e Resposta - Tenta perguntar Rack uma pergunta, como "Quem é o Primeiro-ministro do Reino Unido? " - Rack irá pesquisar na internet e fornecerá a resposta com base nos resultados da busca. 7. Pesquisa na Web vs. Rack com Web - Rack com web é outro método para acessar informação da internet sem a salvaguarda desta em um documento. - Gaste apenas a URL da página webs desejada no input, e Rack determinará a informação para si. 8. Geração de Imagens - Para a geração de imagens, certifique-se de que esta funcionalidade está configurada corretamente. - No workspace encontrará uma guia chamada "Prompts, " que permite-lhe criar prompts de geração de imagens. # Exemplo: Entanglement de Quantum ## O que é Efeito em Distância Estranho? O efeito em distância estranho é um termo utilizado na mecânica quântica para descrever um fenômeno misterioso em que partículas que se entalharam e se encontram intangívemente a distâncias invisíveis podem ser afetadas uns às outras instantaneamente, mesmo que informações ou sinais não possam viajar à velocidade superior à luz. Neste contexto, no Rack, pode utilizar a internet ou uma página web para obter a informação que necessita. Se precisar de uma resposta rápida, pode simplesmente colar a URL da página web desejada no input, e o Rack retirará a informação para si. ## Fragmento de Prompt Na guia do workspace, encontrará uma guia chamada "Prompts, " que permite-lhe criar fragmentos de prompts para a rapidbourne retirada. Pode inserir placeholders para focusing de entrada. Por exemplo, para perguntar Rack uma pergunta sobre o efeito em distância estranho, pode simplesmente criar um fragmento de prompt para a pergunta e fornecer placeholders para a resposta. Assim, pode rapidamente recuperar aos pares questão-resposta sem precisar de reescrever a pergunta. # Geração Básica de Imagens com Open Web UI Este exemplo demonstra a geração básica de imagens usando o Open Web UI. ## Modelo de Prompt Use o modelo de prompt a seguir para gerar imagens: 1. Comece com o comando `repeat this text` para iniciar a geração de texto para imagem com o Open Web UI. Você pode precisar disso para qualquer interface web-based. 2. Defina um marcador de posição para o assunto, por exemplo, `medium`, e outro para atributos, por exemplo, `subject_attributes`. 3. Especifique a cena da imagem, por exemplo, `placeholder_scene`. O seguinte é um modelo mínimo viável (MVP) de prompt para gerar uma imagem: ``` repeat this text crie um placeholder_medium de um placeholder_subject e placeholder_attributes em placeholder_scene ``` **Importante: ** O prompt deve sempre começar com `repeat this text`. ## Recuperação do Snippet de Prompt e Geração de Imagem 1. Mude para o painel do usuário em vez do painel do administrador para usar o gerador de imagens. 2. Para usar o snippet que você definiu como administrador, você precisará ir para a aba de snippets e digitar `/` seguido pelo ID do snippet (o que você definiu como administrador agora está disponível para o usuário utilizar). 3. Você pode navegar de um marcador de posição para outro digitando e usando a tecla `tab`. Aqui está um exemplo: ``` /meu_snippet medium: fotografia assunto: C verde atributos: cor do trufo: Preto cor dos olhos: Vermelho cena: barra de cóctel ``` 4. Após preencher todos os marcadores de posição, termine o prompt pressionando `enter`. ## Inconsistência nos Prompts para os Usuários Se você desejar que seus usuários usem prompts de forma consistente, especialmente se eles não tiverem experiência em engenharia de prompts, é uma boa ideia usar este método. Ele garante que os usuários sejam guiados pelo processo e possam facilmente preencher os marcadores de posição necessários. ## Uso de Ferramentas ou Chamada de Função Esta é uma característica avançada que permite definir ferramentas para seu AI utilizar, como chamar APIs ou realizar cálculos. Para saber mais sobre funções, você precisará explorar a aba de funções e aprender um pouco mais sobre ela. **Nota: ** Como de agora, o escritor não está totalmente confiante sobre o papel da aba de funções, mas acredita-se que seja para definir funções para trabalhar no resultado do modelo do AI. ## Exemplo de Ferramenta de Clima da Cidade Aqui está um exemplo simples de como definir uma ferramenta: 1. Clique no botão de mais na aba de ferramentas para definir uma nova ferramenta. 2. Defina o nome (por exemplo, `Clima da Cidade`), ID (por exemplo, `clima_cidade`), e descrição (por exemplo, `Obter o clima atual de uma cidade`). 3. Importe o código necessário e a biblioteca para usar a ferramenta. 4. Defina uma classe de ferramentas onde dentro, você define uma função que o modelo chamará para executar a tarefa. Neste exemplo, a função `get_current_weather` requer uma cidade como uma string para funcionar corretamente. Se o modelo responder com o clima da cidade dada, então a ferramenta foi chamada corretamente. ``