
A estrutura do agente de abelhas facilita a criação de fluxos de trabalho com base em agentes com seu modelo de escolha. A estrutura foi projetada para um desempenho robusto com os modelos IBM Granite e Llama 3.x, e estamos trabalhando ativamente para otimizar seu desempenho com outros LLMs populares.
Nosso objetivo é capacitar os desenvolvedores a adotar os mais recentes modelos de código aberto e proprietários com alterações mínimas em sua implementação atual de agentes.
Dica
Você gostaria de um projeto TypeScript totalmente configurado com abelha, intérprete de código e observabilidade? Confira o nosso iniciante de abelhas.
Dica
Você gostaria de trabalhar com abelha no seu navegador da web? Veja a pilha de abelhas
npm install bee-agent-frameworkou
yarn add bee-agent-framework import { BeeAgent } from "bee-agent-framework/agents/bee/agent" ;
import { OllamaChatLLM } from "bee-agent-framework/adapters/ollama/chat" ;
import { TokenMemory } from "bee-agent-framework/memory/tokenMemory" ;
import { DuckDuckGoSearchTool } from "bee-agent-framework/tools/search/duckDuckGoSearch" ;
import { OpenMeteoTool } from "bee-agent-framework/tools/weather/openMeteo" ;
const llm = new OllamaChatLLM ( ) ; // default is llama3.1 (8B), it is recommended to use 70B model
const agent = new BeeAgent ( {
llm , // for more explore 'bee-agent-framework/adapters'
memory : new TokenMemory ( { llm } ) , // for more explore 'bee-agent-framework/memory'
tools : [ new DuckDuckGoSearchTool ( ) , new OpenMeteoTool ( ) ] , // for more explore 'bee-agent-framework/tools'
} ) ;
const response = await agent
. run ( { prompt : "What's the current weather in Las Vegas?" } )
. observe ( ( emitter ) => {
emitter . on ( "update" , async ( { data , update , meta } ) => {
console . log ( `Agent ( ${ update . key } ) ? : ` , update . value ) ;
} ) ;
} ) ;
console . log ( `Agent ? : ` , response . result . text ) ;➡️ Ver um exemplo mais avançado.
➡️ Você pode executar este exemplo após a instalação local, usando os yarn start examples/agents/simple.ts
Dica
Para executar este exemplo, certifique -se de instalar o Ollama com o modelo LLAMA3.1 baixado.
Dica
A documentação está disponível em https://i-i-bee.github.io/bee-agent-framework/
Observação
yarn deve ser instalado via Corepack (tutorial)
git clone [email protected]:i-am-bee/bee-agent-framework .yarn install ..env (de .env.template ) e preencha os valores ausentes (se houver).yarn run start:bee (ele executa o arquivo /examples/agents/bee.ts ).➡️ Todos os exemplos podem ser encontrados no diretório exemplos.
➡️ Para executar um exemplo arbitrário, use os seguintes yarn start examples/agents/bee.ts (basta passar o caminho apropriado para o exemplo desejado).
O diretório de origem ( src ) fornece inúmeros módulos que se pode usar.
| Nome | Descrição |
|---|---|
| agentes | Classes de base definindo a interface comum para o agente. |
| llms | Classes base que definem a interface comum para inferência de texto (padrão ou bate -papo). |
| modelo | Sistema de modelagem imediata com base no Mustache com várias melhorias. |
| memória | Vários tipos de memórias para usar com o agente. |
| ferramentas | Ferramentas que um agente pode usar. |
| cache | Predefinição de diferentes abordagens de cache que podem ser usadas juntamente com ferramentas. |
| erros | Classes de erro e ajudantes para capturar erros rapidamente. |
| adaptadores | Implementações concretas de determinados módulos para diferentes ambientes. |
| Logger | Componente central para registrar todas as ações dentro da estrutura. |
| serializador | Componente do núcleo para a capacidade de serializar/desserializar módulos no formato serializado. |
| versão | Constantes representando a estrutura (por exemplo, versão mais recente) |
| emissor | Trazendo visibilidade ao sistema emitindo eventos. |
| Internalas | Módulos usados por outros módulos dentro da estrutura. |
Para ver uma explicação mais aprofundada, consulte a visão geral.
? Em breve ?
A estrutura do agente de abelhas é um projeto de código aberto e nós contribuições.
Se você quiser contribuir com a Bee, dê uma olhada em nossas diretrizes de contribuição.
Estamos usando problemas do GitHub para gerenciar nossos bugs públicos. Ficamos de olho nisso; portanto, antes de apresentar um novo problema, verifique se ele ainda não foi registrado.
Este projeto e todos os participantes são governados pelo Código de Conduta. Ao participar, você deve defender este código. Leia o texto completo para que você possa ler quais ações podem ou não ser toleradas.
Todo o conteúdo nesses repositórios, incluindo o código, foi fornecido pela IBM sob a licença de software de código aberto associado e a IBM não tem obrigação de fornecer aprimoramentos, atualizações ou suporte. Os desenvolvedores da IBM produziram esse código como um projeto de código aberto (não como um produto IBM), e a IBM não faz afirmações quanto ao nível de qualidade nem segurança, e não manterá esse código daqui para frente.
Agradecimentos especiais aos nossos colaboradores por nos ajudar a melhorar a estrutura do agente de abelhas.