Introdução geral
O Bambo é um novo tipo de estrutura de proxy que é mais leve e mais flexível do que as estruturas convencionais e é capaz de lidar com uma ampla variedade de tarefas de carga. O Bambo consegue uma funcionalidade de proxy eficiente definindo todas as ferramentas no catálogo de ferramentas e usando funções personalizadas assíncronas. Os usuários podem definir o modelo e os parâmetros do cliente que precisam chamar no arquivo llm_client.py e, em seguida, criar seus próprios scripts de teste na pasta de exemplos. O objetivo do Bambo é fornecer uma solução de proxy eficiente e flexível para uma variedade de cenários de aplicativos.
Estrutura tradicional do agente: cada função é um agente independente, precisa de um "supervisor" para coordenar o trabalho, a troca de função precisa passar por um processo de transferência complexo, as chamadas do LLM são mais frequentes, o que resulta em baixa velocidade de resposta e fluidez.
O Bambo resolve esse problema por meio da interpretação de papéis. Com base no Bambo, um efeito semelhante ao notebooklm é implementado. Não há TTS no efeito, portanto, você pode adicionar o código correspondente no script de teste, se necessário.
Lista de funções
- Estrutura de proxy leve e flexível
- Manuseio de uma variedade de cargas
- Suporte a funções personalizadas assíncronas
- Definir e invocar o modelo necessário e os parâmetros do cliente
- Criação e execução de scripts de teste
- Suporte a cenários com vários caracteres
- Funções de execução e análise de código
Usando a Ajuda
Processo de instalação
- Armazém de Clonagem:
git clone https://github.com/LB-Young/Bambo.git cd Bambo
- Instale a dependência:
pip install -r requirements.txt
- Instale o PyTorch manualmente (se necessário):
pip3 install torch torchvision torchaudio
Instalação e configuração
- Defina todas as ferramentas no catálogo de ferramentas e certifique-se de que as funções personalizadas sejam assíncronas.
- Defina o modelo e os parâmetros do cliente para as chamadas necessárias no arquivo llm_client.py.
- Crie seus próprios scripts de teste na pasta de exemplos, definindo as funções e ferramentas necessárias.
- Inicialize o objeto Bambo e passe os parâmetros necessários:
from src.bambo import Bambo from src.llm_client import client, model from src.tools.code_execute import code_execute funções = { "finance_expert": "finance_expert", "law_expert". "computer_expert": "computer_expert", } tools = {} bambo = Bambo(client=client, bambo_role=None, roles=roles, tools=tools, agents=None, model=model) query = "Sou um estudante do ensino médio e agora quero escolher uma especialização, mas não sei o que escolher. Você poderia me dizer quais são as vantagens e desvantagens de cada uma das três especializações: Finanças, Direito e Ciência da Computação?" async for item in bambo.execute(query=query). print(item, end="", flush=True)
Usando o Bambo
- Execute a interface Bambo:
python examples/notebooklm.py
- ou executar o agente em segundo plano:
nohup python examples/multi_roles.py &> multi_roles.log &
- O menu interativo o guiará pelas seguintes opções:
- Criar/atualizar o conjunto de dados de treinamento
- Modelos de treinamento
- Agentes de execução
- Executar o fluxo de trabalho completo
- abortar
configurar
Edite o config.py para personalizá-lo:
- Seleção de modelos
- Hiperparâmetros de treinamento
- Configurações de proxy
- Modelos responsivos
- Filtragem de tarefas
A Bambo oferece uma variedade de maneiras de filtrar as tarefas tratadas:
- Etiquetagem (automática)
- Lista negra (manual)