Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V0 #1

Merged
merged 16 commits into from
Feb 9, 2024
Merged

V0 #1

merged 16 commits into from
Feb 9, 2024

Conversation

elijahbenizzy
Copy link
Contributor

No description provided.

@elijahbenizzy elijahbenizzy force-pushed the initial-prototypes branch 3 times, most recently from c85afff to addb081 Compare February 6, 2024 04:33
@elijahbenizzy elijahbenizzy changed the title Ideating V0 Feb 6, 2024
@elijahbenizzy
Copy link
Contributor Author

elijahbenizzy commented Feb 6, 2024

TODO prior to release:

  • Package management
    • Get burr on pypi
    • Change all references from dw-burr to burr
    • Add pyproject.toml and setup.py
  • Repo cleanliness
    • circleCI or github actions
      • unit tests
      • pre-commit
    • Go through and ensure no junk is left
    • Clean out commits/organize into a few good ones
  • Features
    • Function-decoration syntax for action
      • Add tests for state subsetting trickery
      • Add more tests for that specific API
    • Exception management (hold till later, add in README)
    • Typed state (hold till later, add in README)
  • Examples
    • gpt -- add README
    • counter -- add README
    • cowsay -- add README
    • ML training -- add README saying this is a placeholder (ask for contributions)
    • SImulation -- add placeholders for trading sim, say this is a placeholder (ask for contributions)
  • Documentation
    • Basic README with:
      • Why Burr
      • Hello world
      • ChatBot (overview)
      • Burr + Hamilton
      • Burr + Langchain (mention coming soon, but don't implement)
      • Customization (link to README)
      • Links to examples
  • License
    - [x] Probably same as Hamilton

@elijahbenizzy elijahbenizzy force-pushed the initial-prototypes branch 25 times, most recently from f04b365 to 83b82f6 Compare February 9, 2024 06:20
@elijahbenizzy elijahbenizzy force-pushed the initial-prototypes branch 4 times, most recently from a18d028 to 96350d8 Compare February 9, 2024 21:01
We don't have any code yet, but this will get us started.
Current features include:
1. Basic state machine, implemented through objects
2. Hooks for customizing different steps
3. Hamilton integration for building Burr actions with Hamilton
4. Streamlit integration with tools for displaying burr during execution
5. Transition conditions/expressions for managing action transitions
   (conditional)
These test every core + integration capability. These consist largely of
individual unit tests, but there are a few e2e tests of various
components mixed in. The coverage is fairly high (but not perfect yet).
This is a bit of a hello world, but the state in streamlit is quite
ugly, so I'm going to do cowsay as the hello world. This is a good
example of a simple state machine.
As a toy this is a fun one, also kind of cute/a good demo for the very
basics. The streamlit integration is simple as we go step-by-step with
an infinite loop and no user input. It is also very easy to rationalize
about.
We will likely change this to use the new functional API,
but its a good example for how burr can work
with LLMs. Note this is not fully complete -- we don't have errors
handled yet.
These are not implemented, we will be adding READMEs with outlines soon
This has two jobs -- pre-commit + tests. Tests run for 3.9, 3.10, 3.11,
3.12.
This looks like this:

@action(reads=..., writes=...)
def my_action(state: State) -> Tuple[dict, State]:
    ...

Then in ApplicationBuilder:

with_actions(action=my_action)

This should be a much easier, lower-effort approach to building out the
action.
TODO -- decide whether the cowsay example is good as it makes a fun
streamlit app.
See docs/README-internal.md
Adds READMEs with basic instructions.
Starting at 0.1.0 as that is as good of a place as any!
@elijahbenizzy elijahbenizzy requested a review from skrawcz February 9, 2024 21:42
A variant of the BSD 3-Clause License that explicitly does not grant any
patent rights.
@elijahbenizzy elijahbenizzy merged commit 091551f into main Feb 9, 2024
5 checks passed
@elijahbenizzy elijahbenizzy deleted the initial-prototypes branch February 9, 2024 22:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants