stella-agent

Scale your agents with any model

https://github.com/karthikhrr/stella-agent

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
Last synced: 10 months ago · JSON representation ·

Repository

Scale your agents with any model

Basic Info
  • Host: GitHub
  • Owner: KarthikhRR
  • License: apache-2.0
  • Language: TypeScript
  • Default Branch: master
  • Homepage:
  • Size: 7.11 MB
Statistics
  • Stars: 57
  • Watchers: 6
  • Forks: 10
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners Security

README.md

Stella Framework logo

Stella Multi-Agent Framework

Twitter Follow

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]

yarn should be installed via Corepack (tutorial)

  1. Clone the repository git clone git@github.com:i-am-Stella/Stella-agent-framework.
  2. Install dependencies yarn install --immutable && yarn prepare.
  3. Create .env (from .env.template) and fill in missing values (if any).
  4. Start the agent yarn run start:Stella (it runs /examples/agents/Stella.ts file).

➡️ 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

Owner

  • Name: Karthikh
  • Login: KarthikhRR
  • Kind: user
  • Location: San Francisco

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

.github/workflows/e2e-tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
.github/workflows/examples-tests.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
.github/workflows/main.yml actions
  • actions/checkout v4 composite
  • actions/setup-node v4 composite
.github/workflows/release.yml actions
  • SethCohen/github-releases-to-discord master composite
  • actions/checkout v3 composite
  • amendx/slackbot-release 1.0.1 composite
package.json npm
  • @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
scripts/ibm_vllm_generate_protos/package.json npm
yarn.lock npm
  • 1431 dependencies