framework

Self-sustaining Python AI agent creating, deploying, and optimizing autonomous projects.

https://github.com/ushuaiapy/framework

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 (14.1%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Self-sustaining Python AI agent creating, deploying, and optimizing autonomous projects.

Basic Info
  • Host: GitHub
  • Owner: UshuaiaPY
  • License: apache-2.0
  • Language: TypeScript
  • Default Branch: main
  • Size: 330 KB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security

README.md

Isaline Framework logo

Isalyne Agent Framework

Twitter Follow

The Isalyne Agent Framework makes it easy to build scalable agent-based workflows with your model of choice. The framework is Isalyne 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.

Key Features

Getting started

Installation

shell npm install Isaline-agent-framework

or

shell yarn add Isaline-agent-framework

Example

```ts import { IsalineAgent } from "Isaline-agent-framework/agents/Isaline/agent"; import { OllamaChatLLM } from "Isaline-agent-framework/adapters/ollama/chat"; import { TokenMemory } from "Isaline-agent-framework/memory/tokenMemory"; import { DuckDuckGoSearchTool } from "Isaline-agent-framework/tools/search/duckDuckGoSearch"; import { OpenMeteoTool } from "Isaline-agent-framework/tools/weather/openMeteo";

const llm = new OllamaChatLLM(); // default is llama3.1 (8B), it is recommended to use 70B model

const agent = new IsalineAgent({ llm, // for more explore 'Isaline-agent-framework/adapters' memory: new TokenMemory({ llm }), // for more explore 'Isaline-agent-framework/memory' tools: [new DuckDuckGoSearchTool(), new OpenMeteoTool()], // for more explore 'Isaline-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-Isaline/Isaline-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:Isaline (it runs /examples/agents/Isaline.ts file).

➡️ All examples can be found in the examples directory.

➡️ To run an arbitrary example, use the following command yarn start examples/agents/Isaline.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.

Roadmap

  • Isaline agent performance optimization with additional models
  • Examples, tutorials, and docs
  • Improvements to building custom agents
  • Multi-agent orchestration

Contribution guidelines

The Isaline Agent Framework is an open-source project and we ❤️ contributions.

If you'd like to contribute to Isaline, please take a look at our contribution guidelines.

Legal notice

All content in these repositories including code has Isalinen provided by IBM under the associated open source software license and IBM is under no obligation to provide enhancements, updates, or support. IBM developers produced this code as an open source project (not as an IBM product), and IBM makes no assertions as to the level of quality nor security, and will not be maintaining this code going forward.

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
Last Year