👋 Welcome and thank you for your interest in contributing to AIConfig!
-
{ Code Contributions }: We always welcome code contributions to the library. In particular, model-parsers, extensions, and cookbooks are areas that can always use contributions.
-
{ Cookbooks }: Showcase innovative ways and use cases to use AIConfig in your code through a cookbook.
-
{ Bugs }: File a bug report when you encounter an issue and/or submit a fix for the bug.
-
{ Feature Requests }: Submit feature or enhancement requests to help guide our roadmap.
-
{ Documentation }: Contribute documentation to make it easier for others using the library.
aiconfig/
├─ cookbook/
├─ cli/
├─ editor/
├─ aiconfig-docs/
├─ python/
├─ typescript/
├─ extensions/
-
{ Model Parsers }: Model Parsers manage the connection to foundation models. By default, we provide Model Parsers for OpenAI and Google PaLM models. The Model Parsers are defined in both
python
andtypescript
.Instructions for contributing a Model Parser:
- Add a folder under
aiconfig/extensions
- Define the requirements. For
python
, you'll need to set uppyproject.toml
. Fortypescript
, you'll need apackage.json
Naming convention for the extension: aiconfig-extension-NAME_OF_MODEL_PARSER
- Extend from
ModelParser
class, and implementserialize
,deserialize
andrun
functions - We highly recommend adding a cookbook under
aiconfig/cookbooks
for a guide on using your Model Parser - Submit a PR for the lastmile team to review the extension and cookbook
- Finally, publish your extension package on
pypi
and/ornpm
- Add a folder under
-
{ Extensions }: Other than Model Parsers, there are opportunities to publish extensions that can connect
aiconfig
with other useful Generative AI libraries.
Create a small app to add to our cookbook to showcase your use case or innovative idea.
Important - Each app in the cookbook must have a README. We want to ensure that developers can easily use the cookbook.
Cookbook apps can be in typescript or python. And, you can decide on whether to showcase it as a console app, ipython notebook, etc.
We track bugs in Github issues with the bug
label.
- If you're a first-time contributor, a good option is to find an issue tagged
good first issue
- If you're looking to fix a few bugs (we greatly appreciate it), the issues are tagged with
bug
File a bug report in Github issues with the bug
label. We try to triage the feature requests daily. Please include as much detail as possible in the report.
We track feature requests in Github issues with the enhancement
label. We try to triage the feature requests daily. Please include as much detail as possible in the request.
We have our documentation source controlled in the aiconfig/aiconfig-docs
directory. The docs are published to our LastMile AI website. Feel free to contribute documentation fixes and improvements and the LastMile team will review.
pyright; pytest; flake8; pylint