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

Dexter V4 #52

Merged
merged 26 commits into from
Oct 22, 2024
Merged

Dexter V4 #52

merged 26 commits into from
Oct 22, 2024

Conversation

rileytomasek
Copy link
Contributor

@rileytomasek rileytomasek commented Oct 13, 2024

This version is focused on simplifying the library, removing unused functionality, and improving TypeScript support for chat messages from the OpenAI API. In particular, it now supports refusal messages and convenient guards to avoid the overhead of message.content?: null that comes with it.

  • Add build step before typecheck in CI workflow
  • Catch tokenizer error without console output
  • Update openai-fetch to 3.3.1 and handle refusals
  • Delete documentation website
  • Remove Datastore classes & add Knip to clean up
  • Remove unused code and exports
  • Refactor to remove top-level exports
  • Remove remnants of deleted Datastore class
  • Refactor telemetry file structure and imports
  • Refactor: Move utils to model/utils directory
  • Refactor error handling into model/utils/errors.ts
  • Refactor Msg to MsgUtil and update related imports
  • Refactor prompt directory to ai-function
  • Add extensive readme to replace docs website
  • Add createExtractFunction for data extraction
  • Add rough Swarm implementation

This commit updates the `openai-fetch` dependency to version 3.3.1.
It also introduces handling for message refusals by throwing a
`RefusalError` when a refusal is returned. This includes changes in
`chat.ts`, test enhancements, and updates to message types and checks.
- Updated import paths for helper functions from `utils` to `model/utils`
- Removed `./` export paths in `package.json` for `utils`
- Deleted `src/utils/index.ts` file as it's no longer needed
Moved error-related functions and classes from `prompt` to the
`model/utils/errors.ts` file for better organization and reuse. Updated
imports to reflect this change.
This commit refactors the `Msg` utility to `MsgUtil` and updates all
related imports and references throughout the codebase. Additionally,
it includes the unification of message type definitions under the
`Model` namespace and removes the duplicated type definitions.
This change restructures the codebase by renaming and relocating
files from the `prompt` directory to the `ai-function` directory.
This includes moving functions like `createAIFunction` and
`createAIRunner`, along with their corresponding types and tests.
@rileytomasek rileytomasek force-pushed the v4 branch 2 times, most recently from 80e5b10 to f25feab Compare October 13, 2024 23:24
Introduce `createExtractFunction` using OpenAI's structured output
feature, leveraging a Zod schema for data validation and extraction.

This is a better and more modern alternative to the `createAIExtractFunction`
utility, which is now deprecated.
This commit introduces a new `Swarm` module that includes REPL
functionality and tools for handling functions. Additional changes
include the integration of the `chalk` library for colorful terminal
output. Modifications are made to `package.json` to reflect
these new dependencies and module structures.
@rileytomasek
Copy link
Contributor Author

@colelawrence i'd love your feedback if you have any. i published it to npm as v4.0.0-0 if you want to try it.

Copy link
Contributor

@cfortuner cfortuner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

Copy link
Collaborator

@transitive-bullshit transitive-bullshit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great @rileytomasek 💪

Just a random spattering of minor feedback & thoughts.

The imports stuff is the only thing you'll prolly have strong feelings on.

package.json Outdated Show resolved Hide resolved
package.json Outdated Show resolved Hide resolved
readme.md Show resolved Hide resolved
readme.md Show resolved Hide resolved
readme.md Outdated Show resolved Hide resolved
src/model/types.ts Outdated Show resolved Hide resolved
src/swarm/index.ts Show resolved Hide resolved
src/swarm/swarm-tools.ts Show resolved Hide resolved
src/swarm/swarm.ts Show resolved Hide resolved
src/swarm/test.ts Show resolved Hide resolved
@rileytomasek
Copy link
Contributor Author

thanks for the feedback @transitive-bullshit. i resolved the comments as i went so it was easy to track, but feel free to unresolve+comment on any of them.

@rileytomasek
Copy link
Contributor Author

rileytomasek commented Oct 17, 2024

This one's for you @transitive-bullshit: 4513b78

I left the swarm code on it's own export because it does import chalk right now which could be problematic and that code isn't ready for primetime yet, but I want an easy way to test it.

I also published it as v4.0.0-1

@transitive-bullshit
Copy link
Collaborator

This one's for you @transitive-bullshit: 4513b78

I left the swarm code on it's own export because it does import chalk right now which could be problematic and that code isn't ready for primetime yet, but I want an easy way to test it.

I also published it as v4.0.0-1

Amazing :) 💕

@rileytomasek rileytomasek merged commit bb4f36e into master Oct 22, 2024
4 checks passed
@rileytomasek rileytomasek deleted the v4 branch November 11, 2024 17:06
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.

4 participants