Skip to main content

A framework for making agents more aware of their environment through explicit modeling of pre and post effects

Project description

Frame-log

Overview

Frame-log is a framework aiming to make agents more aware of their environment through the explicit modeling of pre and post effects. The approach is inspired by logic-based AI theory such as the "AI Frame Problem".

Repository Overview

This repository implements the Frame-Log framework, providing utility methods that are usable across agentic workflows. Specifically, the following are included:

  • Prompt templates to elicit change-logs
  • Pre-defined change-log schema
    • Currently supports JSON. Future work can include XML or git diff formats.
  • Extraction methods to decompose a set of change-logs from an agent response into structured objects
  • Evaluation and sanity check methods for change-logs, including:
    • Schema validation
    • Action verification
    • Semantic similarity-based effect grounding via sentence embeddings

Setup

pip install framelog

Quick Start

from framelog.extract_log import to_dict
from framelog.evaluator import ChangeLogEvaluator, ChangeLogFailureType

evaluator = ChangeLogEvaluator()

# Parse a change log from an agent response
change_log = to_dict(response, evaluator=evaluator)

# Advance the evaluator timestep
evaluator.step()

# Inspect failure rates
print(evaluator.no_json_rate())
print(evaluator.invalid_action_rate())
print(evaluator.failure_breakdown())

Supported Benchmarks

License

MIT


Do you spot any bugs? Inefficiencies? Or have any general suggestions? Please create an issue or contact me via miller.j.nasir@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

framelog-0.1.5.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

framelog-0.1.5-py3-none-any.whl (9.4 kB view details)

Uploaded Python 3

File details

Details for the file framelog-0.1.5.tar.gz.

File metadata

  • Download URL: framelog-0.1.5.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.5.tar.gz
Algorithm Hash digest
SHA256 778816284ce60c761a167d2c04144eeb6925d75a5921bb3f94bd5916be0d49c0
MD5 b2fdad57a7ac5a50775a724ee6363dc1
BLAKE2b-256 2b231082b85f40e727ea38fab37426e6f3f9e002d105351a25b243402c620020

See more details on using hashes here.

File details

Details for the file framelog-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: framelog-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 9.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for framelog-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e6a0209d391d415d186e275c05f8e9260126c3b8f69a58e32b598dab3e57fd46
MD5 7e5ba08817ac055dd73f1fb769cad6bd
BLAKE2b-256 4b25f07384e3abb9bb8c90dc2ca03714af90c74dcc08b7147d703d4891d8ddd8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page