mirror of
https://github.com/mudler/LocalAI.git
synced 2024-12-22 05:57:50 +00:00
7e52c8e21a
Signed-off-by: Ettore Di Giacinto <mudler@users.noreply.github.com>
89 lines
3.3 KiB
Markdown
89 lines
3.3 KiB
Markdown
# Contributing to LocalAI
|
|
|
|
Thank you for your interest in contributing to LocalAI! We appreciate your time and effort in helping to improve our project. Before you get started, please take a moment to review these guidelines.
|
|
|
|
## Table of Contents
|
|
|
|
- [Getting Started](#getting-started)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Setting up the Development Environment](#setting-up-the-development-environment)
|
|
- [Contributing](#contributing)
|
|
- [Submitting an Issue](#submitting-an-issue)
|
|
- [Creating a Pull Request (PR)](#creating-a-pull-request-pr)
|
|
- [Coding Guidelines](#coding-guidelines)
|
|
- [Testing](#testing)
|
|
- [Documentation](#documentation)
|
|
- [Community and Communication](#community-and-communication)
|
|
|
|
|
|
|
|
## Getting Started
|
|
|
|
### Prerequisites
|
|
|
|
- Golang [1.21]
|
|
- Git
|
|
- macOS/Linux
|
|
|
|
### Setting up the Development Environment and running localAI in the local environment
|
|
|
|
1. Clone the repository: `git clone https://github.com/go-skynet/LocalAI.git`
|
|
2. Navigate to the project directory: `cd LocalAI`
|
|
3. Install the required dependencies ( see https://localai.io/basics/build/#build-localai-locally )
|
|
4. Build LocalAI: `make build`
|
|
5. Run LocalAI: `./local-ai`
|
|
|
|
## Contributing
|
|
|
|
We welcome contributions from everyone! To get started, follow these steps:
|
|
|
|
### Submitting an Issue
|
|
|
|
If you find a bug, have a feature request, or encounter any issues, please check the [issue tracker](https://github.com/go-skynet/LocalAI/issues) to see if a similar issue has already been reported. If not, feel free to [create a new issue](https://github.com/go-skynet/LocalAI/issues/new) and provide as much detail as possible.
|
|
|
|
### Creating a Pull Request (PR)
|
|
|
|
1. Fork the repository.
|
|
2. Create a new branch with a descriptive name: `git checkout -b [branch name]`
|
|
3. Make your changes and commit them.
|
|
4. Push the changes to your fork: `git push origin [branch name]`
|
|
5. Create a new pull request from your branch to the main project's `main` or `master` branch.
|
|
6. Provide a clear description of your changes in the pull request.
|
|
7. Make any requested changes during the review process.
|
|
8. Once your PR is approved, it will be merged into the main project.
|
|
|
|
## Coding Guidelines
|
|
|
|
- No specific coding guidelines at the moment. Please make sure the code can be tested. The most popular lint tools like []`golangci-lint`](https://golangci-lint.run) can help you here.
|
|
|
|
## Testing
|
|
|
|
`make test` cannot handle all the model now. Please be sure to add a test case for the new features or the part was changed.
|
|
|
|
### Running AIO tests
|
|
|
|
All-In-One images has a set of tests that automatically verifies that most of the endpoints works correctly, a flow can be :
|
|
|
|
```bash
|
|
# Build the LocalAI docker image
|
|
make DOCKER_IMAGE=local-ai docker
|
|
|
|
# Build the corresponding AIO image
|
|
BASE_IMAGE=local-ai DOCKER_AIO_IMAGE=local-ai-aio:test make docker-aio
|
|
|
|
# Run the AIO e2e tests
|
|
LOCALAI_IMAGE_TAG=test LOCALAI_IMAGE=local-ai-aio make run-e2e-aio
|
|
```
|
|
|
|
## Documentation
|
|
|
|
We are welcome the contribution of the documents, please open new PR or create a new issue. The documentation is available under `docs/` https://github.com/mudler/LocalAI/tree/master/docs
|
|
|
|
## Community and Communication
|
|
|
|
- You can reach out via the Github issue tracker.
|
|
- Open a new discussion at [Discussion](https://github.com/go-skynet/LocalAI/discussions)
|
|
- Join the Discord channel [Discord](https://discord.gg/uJAeKSAGDy)
|
|
|
|
---
|