Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/argilla-io/argilla-server
A Python native FastAPI server for the Argilla backend.
https://github.com/argilla-io/argilla-server
api argilla fastapi llm machine-learning nlp server
Last synced: 4 days ago
JSON representation
A Python native FastAPI server for the Argilla backend.
- Host: GitHub
- URL: https://github.com/argilla-io/argilla-server
- Owner: argilla-io
- License: apache-2.0
- Created: 2024-01-09T08:59:21.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-04-09T14:31:58.000Z (7 months ago)
- Last Synced: 2024-04-10T10:46:24.524Z (7 months ago)
- Topics: api, argilla, fastapi, llm, machine-learning, nlp, server
- Language: Python
- Homepage: https://docs.argilla.io/en/latest/
- Size: 746 KB
- Stars: 7
- Watchers: 5
- Forks: 6
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
Awesome Lists containing this project
README
> [!IMPORTANT]
> This repository has been archived and is no longer maintained. If you are looking for the latest version of the Argilla server, please visit the [Argilla mono repo](https://github.com/argilla-io/argilla), code for Argilla server is located at [`argilla-server`](https://github.com/argilla-io/argilla/tree/develop/argilla-server) folder.
Argilla-Server
The repository for the Python native FastAPI server for Argilla backend.
Argilla is a **collaboration platform for AI engineers and domain experts** that require **high-quality outputs, full data ownership, and overall efficiency**.
This repository only contains developer info about the backend server. If you want to get started, we recommend taking a look at our [main repository](https://github.com/argilla-io/argilla) or our [documentation](https://docs.argilla.io/).
Are you a contributor or do you want to understand what is going on under the hood, please keep reading the documentation below.
## Clone repository
`argilla-server` is using `argilla` repository as submodule to build frontend statics so when cloning use the following command:
```sh
git clone --recurse-submodules [email protected]:argilla-io/argilla-server.git
```If you already cloned the repository without using `--recurse-submodules` you can init and update the submodules with:
```sh
git submodule update --remote --recursive --init
```> [!IMPORTANT]
> By default `argilla` submodule is using `develop` branch so the previous command will get the latest commit from that branch.### Specify a tag for argilla submodule
When doing a release we should change `argilla` submodule to use an specific tag. In the following example we are setting tag `v1.22.0`:
```sh
cd argilla
git fetch --tags
git checkout v1.22.0
```> [!NOTE]
> You should see some changes on the `argilla-server` root folder where the subproject commit is now changed to the one from the tag version. Feel free to commit these changes.## Development environment
By default all commands executed with `pdm run` will get environment variables from `.env.dev` except command `pdm test` that will overwrite some of them using values coming from `.env.test` file.
These environment variables can be overrided if necessary so feel free to defined your own ones locally.
### Run cli
```sh
pdm cli
```### Run database migrations
By default a SQLite located at `~/.argilla/argilla.db` will be used. You can create the database and run migrations with the following custom PDM command:
```sh
pdm migrate
```### Run tests
A SQLite database located at `~/.argilla/argilla-test.db` will be automatically created to run tests. You can run the entire test suite using the following custom PDM command:
```sh
pdm test
```## Run development server
### Build frontend static files
Before running Argilla development server we need to build the frontend static files. Node version 18 is required for this action:
```sh
brew install node@18
```After that you can build the frontend static files:
```sh
./scripts/build_frontend.sh
```After running the previous script you should have a folder at `src/argilla_server/static` with all the frontend static files successfully generated.
### Run uvicorn development server
```sh
pdm server
```