
Bee代理框架使您可以轻松地使用您的选择模型来构建基于可扩展的代理工作流程。该框架的设计目的是使用IBM花岗岩和Llama 3.X型号进行稳健性,我们正在积极地在其他流行的LLMS上优化其性能。
我们的目标是使开发人员能够采用最新的开源和专有模型,其当前代理实施的变化很小。
提示
您是否想要一个带有蜜蜂,代码解释器和可观察性的打字稿项目?查看我们的Bee Framework开胃菜。
提示
您想在网络浏览器中与Bee合作吗?请参阅Bee Stack
npm install bee-agent-framework或者
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 ) ;➡️请参见一个更高级的示例。
➡️您可以在本地安装后运行此示例,使用命令yarn start examples/agents/simple.ts
提示
要运行此示例,请确保您已使用下载Llama3.1模型安装了Ollama。
提示
文档可在https://i-am-bee.github.io/bee-agent-framework/上获得
笔记
yarn应通过CorePack(教程)安装
git clone [email protected]:i-am-bee/bee-agent-framework 。yarn install 。.env (来自.env.template ),然后填写缺失值(如果有)。yarn run start:bee (它运行/examples/agents/bee.ts文件)。➡️所有示例都可以在示例目录中找到。
➡️要运行一个任意示例,请使用以下命令yarn start examples/agents/bee.ts (只需将适当的路径传递到所需的示例)即可。
源目录( src )提供了许多人可以使用的模块。
| 姓名 | 描述 |
|---|---|
| 代理商 | 基本类定义代理的常见接口。 |
| LLMS | 基础类定义文本推理的通用接口(标准或聊天)。 |
| 模板 | 基于Mustache迅速模板系统以及各种改进。 |
| 记忆 | 各种类型的记忆要与代理一起使用。 |
| 工具 | 代理可以使用的工具。 |
| 缓存 | 可以与工具一起使用的不同缓存方法的预设。 |
| 错误 | 错误类和帮助者快速捕获错误。 |
| 适配器 | 给定模块为不同环境的具体实现。 |
| 记录器 | 用于记录框架中所有操作的核心组件。 |
| 序列化器 | 能够序列化模块序列化格式的核心组件。 |
| 版本 | 代表框架的常数(例如,最新版本) |
| 发射极 | 通过发射事件为系统带来可见性。 |
| 内部 | 框架中其他模块使用的模块。 |
要查看更多深入的解释,请参阅概述。
?即将推出 ?
Bee Agent Framework是一个开源项目,我们是我们的贡献。
如果您想为蜜蜂做出贡献,请查看我们的贡献指南。
我们正在使用GitHub问题来管理我们的公共错误。我们密切关注此问题,因此在提交新问题之前,请检查以确保尚未记录它。
该项目和参与该项目的每个项目都受到行为准则的约束。通过参加,您应该维护此代码。请阅读全文,以便您可以阅读哪些动作可能会被容忍。
这些存储库(包括代码)中的所有内容均由IBM根据相关的开源软件许可提供,而IBM无义务提供增强功能,更新或支持。 IBM开发人员将此代码作为开源项目(不是作为IBM产品)生成,而IBM对质量或安全性水平也没有任何断言,并且不会维护此代码未来。
特别感谢我们的贡献者帮助我们改善Bee Agent框架。