- FrogTeam.ai
Atualização v0.1.6: 13/10/2024
- Melhor manipulação de eventos para salvar prompts e configurações
- > Prompt de wrapper para dall-e-3
- Solicitação adicional do arquiteto líder
Atualização v0.1.5: 01/10/2024
- Adicione um novo membro da equipe e torne-o um artista gráfico
- Escolha o modelo dall-e-3
- Este é um novo recurso, não há validação nem instrução
Exemplo de prompt para usar um artista gráfico Chamei minha artista gráfica de Jenny. Quando descrevi o que queria, também incluí o seguinte para explicar as limitações de Jenny e como queria que o arquiteto-chefe lidasse com suas tarefas. Certifique-se de pedir a Jenny para fazer gráficos. As instruções de Jenny devem ser muito específicas. Você só pode pedir a ela para fazer um arquivo gráfico por vez e só pode descrever o que deseja que ela faça no prompt. Um prompt para Jenny deve ser curto, por exemplo: "faça para mim um pequeno arquivo de ícone que se pareça com um sapo". Jenny apenas retorna o caminho para o arquivo que ela criou. Você precisa contornar as limitações dela. Enquanto o arquiteto-chefe planeja primeiro o que você precisa de Jenny e depois diz aos outros o que fazer com o que você pediu para Jenny criar!
Atualização v0.1.2: 08/09/2024
- NOVA FERRAMENTA: Pesquisa de código - Se você quiser fazer uma alteração que possa afetar vários arquivos, existe uma nova ferramenta que o LLM pode usar para pesquisar o código da solução.
- Melhor tratamento de erros de chamada de ferramenta
Atualização v0.1.1: 08/09/2024
- Experimentos mlFLow para rastreamento de prompts
- Configuração mlFLow em .vscode/frogteam/config.json
- moveu os arquivos frogteam para .vscode/frogteam/
- Arquivo project.jsonb corrigido
- Deu o estado da guia de resposta
Atualização v0.1.0: 07/09/2024
- mlFLow experimenta configuração inicial mlFlow funciona apenas em localhost: 5001
- Corrigidos eventos de postagem de webview
- membro atualizado e itens da árvore de prompt
Atualizações v0.0.19: 01/09/2024
Esta versão é para correções de bugs. Botões Excluir e Clonar corrigidos. Categoria de prompt ausente corrigida.
Observe também: Os prompts podem receber caracteres curinga (*) para seu modelo.
Atualizações v0.0.18: 30/08/2024 Comece a consultar o log de alterações para obter detalhes. Este é um grande problema para a reorganização da história.
Atualizações v0.0.17: 25/08/2024
- Comandos - uma entrada de menu de nível superior
- Mudanças na hierarquia do histórico
- Alternar agrupamento de histórico (consulte "Comandos")
- Elementos pai/filho, mas uma árvore plana
- Isso significa que os elementos filhos aparecem sob seus pais e também na raiz da árvore
- Responda às respostas diretamente
- No painel Resposta do Histórico quando a resposta é Markdown existe um botão "Responder Aqui"
- Ao usar este recurso, o histórico imediato relevante será incluído na nova interação LLM
- O Builder agora coleta um nome e diretório de projeto
- Essas informações são usadas para formatar o XML usado no prompt
- Isso diz ao LLM exatamente o que está recebendo
- Os prompts do sistema serão ajustados em versões futuras
- A próxima versão usará "Nome do Projeto" na hierarquia do histórico
Atualizações de 14/08/2024:
- Azure Open AI
- Atualizar Axios devido ao relatório de vulnerabilidade
- Adicionadas algumas notas ao painel de configuração de membros
Atualizações de 13/08/2024:
- Marcando entradas do histórico
- Exibição do histórico atualizado
A seguir, adicionarei uma nova ferramenta que permitirá ao LLM consultar o histórico conforme necessário. Também estou pensando em como permitir que o LLM consulte o usuário. Se esta ferramenta for utilizada a conversa será suspensa até que o usuário responda. Este é um recurso que o usuário pode querer desativar. Eu adoraria ouvir algum feedback sobre isso.
Atualizações de 10/08/2024:
- O arquiteto líder pode usar todos os modelos implementados
- Adicionado indicador de status de execução no StatusBar que diz "Frogteam" quando é uma execução de projeto e "nome do membro" quando é uma execução direcionada.
- Adicionado um canal de saída chamado "FrogTeam.ai" que é atualizado a cada entrada do histórico e em outros eventos.
- Adicionados comandos Novo Membro e Prompt à visualização do projeto para tornar essas ações mais visíveis.
- Adicionada mensagem de erro para avisar quando um membro da equipe não possui um prompt de sistema alinhado.
- Novo prompt para solicitar resumo de tarefa/projeto
- Solicitações curinga
- importar novos prompts
- Chave de API da variável de ambiente
08-08-2024
Olá - Obrigado pela visita. Eu decidi colocar isso lá fora. Está em um local agradável onde há alguma funcionalidade. A ideia é criar membros da equipe representados por um LLM específico. Você pode usar uma variedade de LLMs diferentes e, com o tempo, a forma como os membros são selecionados e como as atribuições são feitas evoluirá a partir do estado rudimentar em que estou hoje. Você pode usar modelos AWS Bedrock e modelos OpenAI e, por enquanto, provavelmente ficarei dentro destes limites para a seleção de LLM: - O modelo suporta chamada de ferramenta - O modelo e seu recurso de chamada de ferramenta são suportados por langchain Atualmente estou me concentrando em alguns recursos de UI enquanto Eu melhoro/refino minha cadeia de chamada de ferramentas. Espero em breve passar para um recurso de compartilhamento de prompt do sistema e, eventualmente, gostaria de integrar o RAG com vetores locais. Espero então voltar atrás e usar minha extensão para desenvolver meu próximo aplicativo móvel, seja ele qual for.
Gostaria de saber se há apetite para o que estou fazendo aqui. Deixe-me saber sua opinião.
Aqui está um pequeno vídeo de demonstração. o arquiteto líder pode usar outros modelos agora
Siga-me no Instagram.
- - FrogTeam.ai
- Sua equipe virtual de desenvolvimento GenAI
- Fluxo
- Integração MFLow
- Problemas/Limitações Conhecidos
- Tarefas – Implementando Outras Fontes de Modelo
- Tarefas - No convés
- Tarefas - Pendências
- Exemplo de solicitações do usuário
- Ícones
- Como contribuir
- Envio de problemas
Sua equipe virtual de desenvolvimento GenAI
Este é meu projeto paralelo, gosto de escrever e gerar projeto de código.
O objetivo é ser uma interface de IA generativa onde você pode registrar novos modelos, definir configurações e prompts do modelo, interagir com embeddings do Chroma (eventualmente) e ter um conjunto comum de comandos que você pode usar para interagir com arquivos no espaço de trabalho e a saída de vários LLMs. Você registra “membros da equipe” e atribui um modelo a eles. Você pode usar o mesmo modelo várias vezes ou usar modelos diferentes. Você pode designar membros da equipe para colaborar em uma tarefa.
Visão geral
- Atribuição do arquiteto líder
- O arquiteto principal dividirá o projeto e dará aos outros membros disponíveis uma tarefa conforme achar adequado ao projeto geral.
- Depois que todas as tarefas forem concluídas, o arquiteto-chefe dará uma olhada para
- corrigir um problema que pode
- resumir a solução geral
- Atribuições de tarefas únicas
- Você pode @membrar uma tarefa
- Adicionar/remover/editar membro da equipe
- Nome
- Modelo
- Limites (não implementados)
- Biblioteca de prompts
- Eventualmente, isso será vinculado a um repositório git ou a um endpoint https onde novos prompts estarão disponíveis
- Isso é planejado como uma plataforma de compartilhamento comunitário
- Conjunto padrão
- Adicionar/Remover/Editar
- tags: modelo, propósito Comandos Planejados
- @TeamMember
Fluxo
Você deve definir pelo menos três membros - arquiteto líder - engenheiro líder - desenvolvedor
Abra o Construtor
O "Construtor" encontra-se no painel "Projeto".
Descrição do Projeto Descreva o que é o projeto. Seja específico e forneça todas as informações que você possa ter. Trechos de código, sugestões de hierarquia de classes, pesquisas e referências de exemplo. Referências de sites para bibliotecas que você deseja usar, etc... Quando você pressiona "Projeto GO"
Arquiteto Líder O Arquiteto Líder analisa o projeto e
- Fornece a cada membro uma tarefa
Cada membro trabalha até a conclusão de sua tarefa - Quando a tarefa é concluída, as informações são adicionadas às mensagens. Quando todos os membros concluem suas tarefas, o arquiteto líder recebe uma aprovação final e resume o trabalho realizado.
Você pode refinar o prompt e enviar novamente. Os arquivos existentes serão usados e editados.
Integração MFLow
Registro muito básico de prompt e duração no momento. Quero coletar um conjunto de soluções, cada uma com uma definição de projeto específica fornecida pelo usuário e, em seguida, criar um pipeline de avaliação para avaliar os prompts do sistema em relação a um conjunto de prompts do usuário para cada solução. Eu gostaria de chegar a um lugar onde a comunidade pudesse contribuir com prompts de sistema otimizados para linguagens e tecnologias específicas. Para enviar um prompt do sistema, você precisará passar por um pipeline de avaliação. Seria particularmente interessante permitir o compartilhamento de vetores/incorporações de conhecimento, fundamentando um prompt do sistema em torno de um contexto mais específico. Ter o MLFLow integrado aqui é experimental, mas imagino adicionar uma guia Teste onde os dados de teste podem ser usados e enviados e uma guia de envio onde os prompts podem ser enviados e rastreados.
Problemas/Limitações Conhecidos
- Validação de membros da equipe para prompts. Por enquanto, use a visualização Escalação da equipe para validar manualmente se todos os membros estão alinhados com um prompt do sistema. Se você vir: TypeError: Não é possível ler propriedades de indefinido (lendo 'conteúdo'), verifique o Lineup, alguém provavelmente não tem prompt.
- Nenhuma validação de chamada de ferramenta, então às vezes a geração inicial do projeto nunca é concluída – você pode tentar novamente
- validação/nova tentativa está chegando
- No momento, isso só funcionará diretamente com OpenAI ou AWs Bedrock
- Para OpenAI você precisa de uma chave API
- Para o AWS Bedrock, você precisa estar conectado à AWS em seu ambiente de código VS e precisa dos modelos suportados implantados na conta/região adequada
- OpenAI no Azure está implementado mas confesso que não testei ( se alguém tentar me avise )
Tarefas – Implementando Outras Fontes de Modelo
- No momento estou buscando modelos que suportem chamadas de ferramentas usando a estrutura Langchain
- OpenAI da OpenAI
- gpt-4o concluído
- gpt-4-turbo concluído
- gpt-35-turbo concluído
- Base da AWS
- Soneto antrópico de Claude 3.5 concluído
- Cluada Antrópica 2 Haiku concluído
- OpenAI no Azure
- gpt-4o PRECISA DE TESTE
- gpt-4-turbo PRECISA DE TESTE
- gpt-35-turbo PRECISA DE TESTE
- Abraçando o rosto
- Existe uma maneira padrão de fazer isso. Esta é uma tarefa de pesquisa para mim.
Tarefas - No convés
- Faça uma ferramenta para o llm que faça uma pesquisa de código, como apenas usar a pesquisa do vscode para encontrar coisas em arquivos, permitindo a localização/substituição do LLM concluída
- fluxo ml
- configuração do experimento
- Você pode iniciar um novo experimento e o ID do experimento será salvo com o objeto prompt concluído
- locais onde o prompt é usado serão criados e o prompt e a duração serão registrados como concluído `
- Você pode interromper um experimento limpando o ID do experimento concluído
PROMPT DO SISTEMA Às vezes, um arquivo grande terá apenas um comentário que diz que o resto permanece inalterado, deixando o usuário com comandos git para corrigi-lo. Esta próxima frase precisa ser adicionada aos prompts do sistema. "Lembre-se de que estes são arquivos de solução" ativos "que você precisa gerar o arquivo inteiro. Dizer coisas como" o resto deste código permanece inalterado "faz com que o arquivo fique incompleto. Não faça isso." POR AGORA ADICIONEI À DESCRIÇÃO DA FERRAMENTA saveContentToFileApi
Precisamos de uma maneira de exportar o markdown com mais facilidade. O usuário deve poder clicar no ícone "Copiar" para copiar a resposta do Markdown.
Faça uma nova ferramenta que permita ao llm solicitar que o conteúdo de uma URL seja buscado, quando for uma imagem também devemos base64
- isso deveria ser para chunk/vectorize/RAG?
Adicione try...catch/check para comprimento onde .content é usado na resposta llm
Adicionar try...catch para chamadas de ferramentas e registrar falha no histórico concluído
configuração para um limite de tempo ou token por modelo/membro da equipe
- implementar limites de token/limites de tempo/solicitar limites de token para membros da equipe
- isso exigirá rastreamento
- o arquiteto-chefe precisará estar ciente dessas restrições ao distribuir tarefas
- definir temperatura e outras configurações para o membro da equipe
ERRO: Ao pedir a um membro para realizar uma tarefa, às vezes, o resumo é redundante.
ERRO: às vezes as definições ou resultados do toolCall são ruins e o processo apresenta erros
- Talvez apenas tente capturar e relatar/registrar/adicionar histórico o que aconteceu? feito
- Neste momento o usuário pode simplesmente tentar clicar em "Ir" novamente
- Um
- A correção 0y precisará abordar as regras de conversação
Tarefas - Pendências
- Ferramenta Pergunte ao Humano - crie uma ferramenta que permita que qualquer membro da equipe (incluindo o arquiteto líder) faça uma pergunta direcionada ao humano
- isso pode estar presente no histórico, mas fará com que todo o thread da tarefa espere
- O documento deve abrir com a pergunta em exibição
- quando clicado no documento Histórico será aberto
- O documento apresenta o estado da cadeia permitindo ao humano responder e retomar a cadeia
- integração git
- comprometa-se primeiro
- ramificar primeiro
- comprometer-se
- esconda primeiro
- Geração de relações públicas
- plataforma de compartilhamento de biblioteca imediata - fazendo mais uso do MLFlow
- Faça painéis de dados para abrigar soluções "de ouro" para solicitações específicas de usuários
- Faça um pipeline para avaliar os prompts do "sistema" em relação às soluções douradas
- Faça um processo de envio imediato
- adicionar instância do Chromadb (opcionalmente?)
- rastreamento da web sob demanda que será fragmentado e armazenado no Chroma local
- URL/Internet ou conteúdo do disco local
- tipo de arquivo baseado
- implementar estratégia de chunking para a base de código de soluções
- implementar estratégia de chunking para o histórico
- implementar estratégia de chunking para documentação do projeto
- implementar histórico de pesquisa/pesquisa de código
- configurar uma fila para processar solicitações (para que o usuário possa colocar tarefas na fila enquanto as operações estão em andamento)
- processe apenas um item por vez
- Na História
- um ícone para resposta de conteúdo versus função
- indica sucesso/falha (marca de seleção verde versus X vermelho)
- podemos indicar quando há conteúdo do arquivo e quando não há (há um conflito com o markdown?)
- às vezes um arquivo ainda não foi criado e tudo bem
Exemplo de solicitações do usuário
Escreva-me uma página da web simples que use uma tela para desenhar uma bola e fazê-la saltar pelos limites da tela. Divida o projeto em vários arquivos: index.html, index.js e index.css. Coloque os arquivos em um diretório chamado bounce-ball. Este é apenas o ponto de partida do projeto, portanto, lembre-se de que solicitaremos refinamentos.
Crie um aplicativo de página única que mostre rotas de onde o navegador da web acha que está até a estação de trem mais próxima.
Usando o mapeamento baseado na web do openstreetmap, você simulará o rastreamento de uma etiqueta aérea enquanto ela se move. de: Ponto A -> 1 Gray Rock Place, Stamford CT para: Ponto B -> Cove Island Park, Stamford, CT
- Faça isso gerando instruções de direção entre esses dois locais e, em seguida, mostre um ponto se movendo ao longo dessas direções ao longo do tempo
- Quaisquer arquivos devem ser criados/editados no diretório "tracking"
- Espero poder abrir index.html do diretório de rastreamento usando a extensão LiveServer VS Code e, quando o fizer, espero ver um mapa mostrando os locais que mencionei.
Use um HTML Canvas para criar um jogo de paddle onde você pode mover um bloco retangular para frente e para trás usando as teclas de seta para a esquerda e para a direita. Você bate na bola, ela sobe, bate no topo e volta. Se você errar e a bola atingir a parede inferior você perde um ponto, se acertar a bola você ganha 2 pontos.
Escreva um jogo de quebra-cabeça para tela HTML. Ele deve conter uma seleção de formas que estão circulando e quando você clica você bloqueia uma forma, e quando clica em uma forma selecionada a forma gira. Depois que o usuário seleciona três formas, as formas começam a cair na área da tela. O usuário precisa travar três formas para formar outra forma antes de chegar ao fundo. Quando duas formas são travadas, a velocidade de queda pode diminuir. O usuário faz isso clicando nas formas para girá-las.
Ícones
Todos os ícones que você vê vieram da lista abaixo, eu os criei ou a GenAI me ajudou a criá-los. Arquivos de licença armazenados e distribuídos no diretório de recursos.
- https://iconduck.com/sets/elementary-icon-set
- https://iconduck.com/sets/open-iconic-icon-set
- https://iconduck.com/sets/font-awesome-icons
- https://iconduck.com/sets/material-design-icons
Como contribuir
Agradeço seu interesse em contribuir com este projeto. No entanto, atualmente não aceito contribuições diretas, como solicitações pull. Em vez disso, recomendo que você envie problemas se encontrar algum bug, tiver solicitações de recursos ou precisar de ajuda.
Envio de problemas
Para enviar um problema, use o recurso GitHub Issues. Descreva seu problema em detalhes e irei resolvê-lo o mais rápido possível.
Obrigado pela sua compreensão e apoio!