OpenAdapt
OpenAdapt copied to clipboard
Implement signals (Issue #43)
Summary: This pull request makes progress towards Implementing Signals (Issue #43)
Goal: Provide large language models with targets and other information to support them in strategies. Information can be in the form of a database, web-url, function call, or local file (other types could be added in the future).
Implementation:
- New Signals class
- contains member function: add_signal(signal_address)
- add_signal determines the address type and retrieves the information/signal data from the given address and stores it in a list.
- 'signals' member variable stores all added signals in a list (can be accessed using return_signals member function)
- contains member function: add_signal(signal_address)
Tests have been added in the tests folder (test_signals.py) run using pytest.
TODO:
- Add functionality for database and function call signals.
- Target specific information from a web-url as opposed to current solution of returning all contents.
- Store signals in a way that facilitates being supplied to large language models.
Please let me know if you have any suggestions or changes! Let me know if the problem was misinterpreted or if this solution isn't heading in the desired/optimal direction.
@AvidEslami thoughts on https://github.com/minimaxir/simpleaichat/blob/main/PROMPTS.md#tools ?
Let's try to automatically instantiate file signals based on what's open.
Refer to https://github.com/OpenAdaptAI/OpenAdapt/pull/464
Currently the next step for recording file signals seems to be using ProcMon from sysinternals: https://learn.microsoft.com/en-us/sysinternals/downloads/procmon.
By setting filters we seem to be able to access opened files, but we still need to investigate how we can access the ProcMon logs from within record.py, in addition to investigating how often ProcMon writes the logs in order for us to access them effectively.
@AvidEslami does https://github.com/OpenAdaptAI/OpenAdapt/pull/464 work here?
@AvidEslami does #464 work here?
Not perfect, but definitely the best we have so far