Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.3%) to scientific vocabulary
Repository
Scale your agents with any model
Basic Info
Statistics
- Stars: 57
- Watchers: 6
- Forks: 10
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Stella Multi-Agent Framework
The Stella Multi-Agent Framework builds scalable agent-based workflows with your model of choice, including the ability to deploy Twitter agents and Warpcast agents. The framework is designed to perform robustly with IBM Granite and Llama 3.x models, and we're actively working on optimizing its performance with other popular LLMs.
Our goal is to empower developers to adopt the latest open-source and proprietary models with minimal changes to their current agent implementation.
Getting started
Installation
shell
npm install Stella-agent-framework
or
shell
yarn add Stella-agent-framework
Example
```ts import { StellaAgent } from "Stella-agent-framework/agents/Stella/agent"; import { OllamaChatLLM } from "Stella-agent-framework/adapters/ollama/chat"; import { TokenMemory } from "Stella-agent-framework/memory/tokenMemory"; import { DuckDuckGoSearchTool } from "Stella-agent-framework/tools/search/duckDuckGoSearch"; import { OpenMeteoTool } from "Stella-agent-framework/tools/weather/openMeteo";
const llm = new OllamaChatLLM(); // default is llama3.1 (8B), it is recommended to use 70B model
const agent = new StellaAgent({ llm, // for more explore 'Stella-agent-framework/adapters' memory: new TokenMemory({ llm }), // for more explore 'Stella-agent-framework/memory' tools: [new DuckDuckGoSearchTool(), new OpenMeteoTool()], // for more explore 'Stella-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);
```
Local Installation
[!NOTE]
yarnshould be installed via Corepack (tutorial)
- Clone the repository
git clone git@github.com:i-am-Stella/Stella-agent-framework. - Install dependencies
yarn install --immutable && yarn prepare. - Create
.env(from.env.template) and fill in missing values (if any). - Start the agent
yarn run start:Stella(it runs/examples/agents/Stella.tsfile).
➡️ All examples can be found in the examples directory.
➡️ To run an arbitrary example, use the following command yarn start examples/agents/Stella.ts (just pass the appropriate path to the desired example).
📦 Modules
The source directory (src) provides numerous modules that one can use.
| Name | Description |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| agents | Base classes defining the common interface for agent. |
| llms | Base classes defining the common interface for text inference (standard or chat). |
| template | Prompt Templating system based on Mustache with various improvements. |
| memory | Various types of memories to use with agent. |
| tools | Tools that an agent can use. |
| cache | Preset of different caching approaches that can be used together with tools. |
| errors | Error classes and helpers to catch errors fast. |
| adapters | Concrete implementations of given modules for different environments. |
| logger | Core component for logging all actions within the framework. |
| serializer | Core component for the ability to serialize/deserialize modules into the serialized format. |
| version | Constants representing the framework (e.g., latest version) |
| emitter | Bringing visibility to the system by emitting events. |
| internals | Modules used by other modules within the framework. |
To see more in-depth explanation see overview.
Key Features
- 🤖 AI agents: Use our powerful Stella agent refined for Llama 3.1 and Granite 3.0, or build your own.
- 🛠️ Tools: Use our built-in tools or create your own in Javascript/Python.
- 👩💻 Code interpreter: Run code safely in a sandbox container.
- 💾 Memory: Multiple strategies to optimize token spend.
- ⏸️ Serialization Handle complex agentic workflows and easily pause/resume them without losing state.
- 🔍 Instrumentation: Use Instrumentation based on Emitter to have full visibility of your agent’s inner workings.
- 🎛️ Production-level control with caching and error handling.
- 🔁 API: Integrate your agents using an OpenAI-compatible Assistants API and Python SDK.
- 🖥️ Chat UI: Serve your agent to users in a delightful UI with built-in transparency, explainability, and user controls.
Owner
- Name: Karthikh
- Login: KarthikhRR
- Kind: user
- Location: San Francisco
- Repositories: 1
- Profile: https://github.com/KarthikhRR
Design at /dev/agents.
Citation (CITATION.cff)
cff-version: 1.2.0 title: Bee Agent Framework message: >- If you use this software, please cite it using the metadata from this file. type: software authors: - name: IBM Research repository-code: "https://github.com/i-am-bee/bee-agent-framework" url: "https://github.com/i-am-bee" license: Apache-2.0 date-released: "2024-08-23"
GitHub Events
Total
- Push event: 4
Last Year
- Push event: 4
Dependencies
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- SethCohen/github-releases-to-discord master composite
- actions/checkout v3 composite
- amendx/slackbot-release 1.0.1 composite
- @aws-sdk/client-bedrock-runtime ^3.706.0 development
- @commitlint/cli ^19.6.0 development
- @commitlint/config-conventional ^19.6.0 development
- @elastic/elasticsearch ^8.16.2 development
- @eslint/js ^9.16.0 development
- @eslint/markdown ^6.2.1 development
- @google-cloud/vertexai ^1.9.2 development
- @googleapis/customsearch ^3.2.0 development
- @grpc/grpc-js ^1.12.4 development
- @grpc/proto-loader ^0.7.13 development
- @ibm-generative-ai/node-sdk ~3.2.4 development
- @langchain/community ~0.3.17 development
- @langchain/core ~0.3.22 development
- @opentelemetry/instrumentation ^0.56.0 development
- @opentelemetry/resources ^1.29.0 development
- @opentelemetry/sdk-node ^0.56.0 development
- @opentelemetry/sdk-trace-node ^1.29.0 development
- @opentelemetry/semantic-conventions ^1.28.0 development
- @release-it/conventional-changelog ^8.0.2 development
- @rollup/plugin-commonjs ^28.0.1 development
- @swc/core ^1.10.0 development
- @types/eslint ^9.6.1 development
- @types/eslint-config-prettier ^6.11.3 development
- @types/eslint__js ^8.42.3 development
- @types/glob ^8.1.0 development
- @types/js-yaml ^4.0.9 development
- @types/mustache ^4 development
- @types/needle ^3.3.0 development
- @types/node ^20.17.9 development
- @types/object-hash ^3.0.6 development
- @types/turndown ^5.0.5 development
- @zilliz/milvus2-sdk-node ^2.5.1 development
- docsify-cli ^4.4.4 development
- dotenv ^16.4.7 development
- embedme ^1.22.1 development
- eslint ^9.16.0 development
- eslint-config-prettier ^9.1.0 development
- eslint-plugin-unused-imports ^4.1.4 development
- glob ^11.0.0 development
- groq-sdk ^0.9.0 development
- husky ^9.1.7 development
- langchain ~0.3.6 development
- linkinator ^6.1.2 development
- lint-staged ^15.2.10 development
- ollama ^0.5.11 development
- openai ^4.76.0 development
- openai-chat-tokens ^0.2.8 development
- openapi-fetch ^0.13.3 development
- openapi-typescript ^7.4.4 development
- picocolors ^1.1.1 development
- pino-pretty ^13.0.0 development
- pino-test ^1.1.0 development
- prettier ^3.4.2 development
- release-it ^17.10.0 development
- rimraf ^6.0.1 development
- sequelize ^6.37.5 development
- sqlite3 ^5.1.7 development
- strip-ansi ^7.1.0 development
- temp-dir ^3.0.0 development
- tsc-files ^1.1.4 development
- tsup ^8.3.5 development
- tsx ^4.19.2 development
- typescript ^5.7.2 development
- typescript-eslint ^8.17.0 development
- vite-tsconfig-paths ^5.1.3 development
- vitest ^2.1.8 development
- yaml ^2.6.1 development
- @ai-zen/node-fetch-event-source ^2.1.4
- @connectrpc/connect ^1.6.1
- @connectrpc/connect-node ^1.6.1
- @opentelemetry/api ^1.9.0
- @streamparser/json ^0.0.21
- ajv ^8.17.1
- ajv-formats ^3.0.1
- bee-proto 0.0.2
- duck-duck-scrape ^2.2.6
- fast-xml-parser ^4.5.0
- header-generator ^2.1.57
- joplin-turndown-plugin-gfm ^1.0.12
- js-yaml ^4.1.0
- json-schema-to-typescript ^15.0.3
- jsonrepair ^3.11.1
- mathjs ^14.0.0
- mustache ^4.2.0
- object-hash ^3.0.0
- p-queue-compat ^1.0.227
- p-throttle ^7.0.0
- pino ^9.5.0
- promise-based-task ^3.1.1
- remeda ^2.17.4
- serialize-error ^11.0.3
- string-comparison ^1.3.0
- string-strip-html ^13.4.8
- turndown ^7.2.0
- wikipedia ^2.1.2
- zod ^3.23.8
- zod-to-json-schema ^3.23.5
- 1431 dependencies