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.3.tar.gz (5.9 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.3-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: framelog-0.1.3.tar.gz
  • Upload date:
  • Size: 5.9 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.3.tar.gz
Algorithm Hash digest
SHA256 03559570ee8aa0797eb2858c43d704a8369f6b44d24e5bbe3a389f790a68eafa
MD5 6d262a6ca249665bd3189ba1c8ed1405
BLAKE2b-256 8dfd4ce570e19215ef3bf5180021674732053ade0117121ac2b6622de7e599ee

See more details on using hashes here.

File details

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

File metadata

  • Download URL: framelog-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 8.6 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 42ef4cee2ba2d2f1cfd43082a04045fc7481c9853756cb33dd7c2ef0e875a182
MD5 da5759a4273459592b643c073f6ca273
BLAKE2b-256 1072361accf081e1b16b80bbc34aa192d2047382b25f3142b34913e14cdfbc86

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