arbor-ai 0.1.4__py3-none-any.whl → 0.1.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arbor/cli.py +89 -5
- arbor/client/api.py +1 -2
- arbor/server/api/models/schemas.py +209 -5
- arbor/server/api/routes/files.py +39 -10
- arbor/server/api/routes/grpo.py +54 -0
- arbor/server/api/routes/inference.py +53 -0
- arbor/server/api/routes/jobs.py +110 -7
- arbor/server/core/config.py +44 -7
- arbor/server/main.py +6 -5
- arbor/server/services/comms/__init__.py +0 -0
- arbor/server/services/comms/comms.py +226 -0
- arbor/server/services/dependencies.py +0 -16
- arbor/server/services/file_manager.py +270 -109
- arbor/server/services/grpo_manager.py +310 -0
- arbor/server/services/inference_manager.py +275 -0
- arbor/server/services/job_manager.py +74 -69
- arbor/server/services/scripts/grpo_training.py +576 -0
- arbor/server/services/training_manager.py +337 -40
- arbor_ai-0.1.6.dist-info/METADATA +78 -0
- arbor_ai-0.1.6.dist-info/RECORD +34 -0
- {arbor_ai-0.1.4.dist-info → arbor_ai-0.1.6.dist-info}/WHEEL +2 -1
- arbor_ai-0.1.6.dist-info/entry_points.txt +2 -0
- arbor_ai-0.1.6.dist-info/top_level.txt +1 -0
- arbor/server/api/routes/training.py +0 -16
- arbor_ai-0.1.4.dist-info/METADATA +0 -97
- arbor_ai-0.1.4.dist-info/RECORD +0 -27
- arbor_ai-0.1.4.dist-info/entry_points.txt +0 -3
- {arbor_ai-0.1.4.dist-info → arbor_ai-0.1.6.dist-info/licenses}/LICENSE +0 -0
@@ -1,97 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.3
|
2
|
-
Name: arbor-ai
|
3
|
-
Version: 0.1.4
|
4
|
-
Summary: A framework for fine-tuning and managing language models
|
5
|
-
License: MIT
|
6
|
-
Keywords: machine learning,fine-tuning,language models
|
7
|
-
Author: Noah Ziems
|
8
|
-
Author-email: nziems2@nd.edu
|
9
|
-
Requires-Python: >=3.9, <3.14
|
10
|
-
Classifier: Development Status :: 3 - Alpha
|
11
|
-
Classifier: Intended Audience :: Developers
|
12
|
-
Classifier: License :: OSI Approved :: MIT License
|
13
|
-
Classifier: Programming Language :: Python :: 3
|
14
|
-
Classifier: Programming Language :: Python :: 3.9
|
15
|
-
Classifier: Programming Language :: Python :: 3.10
|
16
|
-
Classifier: Programming Language :: Python :: 3.11
|
17
|
-
Classifier: Programming Language :: Python :: 3.12
|
18
|
-
Classifier: Programming Language :: Python :: 3.13
|
19
|
-
Requires-Dist: click
|
20
|
-
Requires-Dist: fastapi
|
21
|
-
Requires-Dist: peft (>=0.14.0,<0.15.0)
|
22
|
-
Requires-Dist: pydantic-settings (>=2.8.1,<3.0.0)
|
23
|
-
Requires-Dist: python-multipart (>=0.0.20,<0.0.21)
|
24
|
-
Requires-Dist: torch (>=2.6.0,<3.0.0)
|
25
|
-
Requires-Dist: transformers (>=4.49.0,<5.0.0)
|
26
|
-
Requires-Dist: trl (>=0.15.2,<0.16.0)
|
27
|
-
Requires-Dist: uvicorn
|
28
|
-
Project-URL: Repository, https://github.com/arbor-ai/arbor
|
29
|
-
Description-Content-Type: text/markdown
|
30
|
-
|
31
|
-
# Arbor 🌳
|
32
|
-
|
33
|
-
A drop-in replacement for OpenAI's fine-tuning API that lets you fine-tune and manage open-source language models locally. Train and deploy custom models with the same API you already know.
|
34
|
-
|
35
|
-
## Installation
|
36
|
-
|
37
|
-
```bash
|
38
|
-
pip install arbor-ai
|
39
|
-
```
|
40
|
-
|
41
|
-
## Quick Start
|
42
|
-
|
43
|
-
1. Start the Arbor server:
|
44
|
-
|
45
|
-
```bash
|
46
|
-
arbor serve
|
47
|
-
```
|
48
|
-
|
49
|
-
2. The server will be available at `http://localhost:8000`.
|
50
|
-
|
51
|
-
3. Upload your training data:
|
52
|
-
|
53
|
-
```python
|
54
|
-
import requests
|
55
|
-
|
56
|
-
requests.post('http://127.0.0.1:8000/api/files', files={'file': open('your_file.jsonl', 'rb')})
|
57
|
-
```
|
58
|
-
|
59
|
-
4. Submit a fine-tuning job:
|
60
|
-
|
61
|
-
```python
|
62
|
-
requests.post('http://127.0.0.1:8000/api/fine-tune', json={'model': 'HuggingFaceTB/SmolLM2-135M-Instruct', 'training_file': 'Returned file ID from Step 3'})
|
63
|
-
```
|
64
|
-
|
65
|
-
5. Monitor the job status:
|
66
|
-
|
67
|
-
```python
|
68
|
-
requests.get('http://127.0.0.1:8000/api/jobs/{Returned job ID from Step 4}')
|
69
|
-
```
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
## Development Setup
|
74
|
-
|
75
|
-
```bash
|
76
|
-
poetry install
|
77
|
-
```
|
78
|
-
|
79
|
-
```bash
|
80
|
-
poetry run arbor serve
|
81
|
-
```
|
82
|
-
|
83
|
-
```bash
|
84
|
-
poetry run pytest
|
85
|
-
```
|
86
|
-
|
87
|
-
## Contributing
|
88
|
-
|
89
|
-
Contributions are welcome! Please feel free to submit a Pull Request.
|
90
|
-
|
91
|
-
## License
|
92
|
-
|
93
|
-
This project is licensed under the MIT License - see the LICENSE file for details.
|
94
|
-
|
95
|
-
## Support
|
96
|
-
|
97
|
-
If you encounter any issues or have questions, please file an issue on the [GitHub repository](https://github.com/Ziems/arbor/issues).
|
arbor_ai-0.1.4.dist-info/RECORD
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
arbor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
arbor/cli.py,sha256=6fT5JjpXSwhpJSQNE4pnLOY04ryHPwJBAOet3hyho8k,383
|
3
|
-
arbor/client/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
4
|
-
arbor/client/api.py,sha256=WFaNtwCNWXRAHHG1Jfyl7LvTP6jiEyQOLZn2Z8Yjt5k,40
|
5
|
-
arbor/server/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
6
|
-
arbor/server/api/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
7
|
-
arbor/server/api/models/schemas.py,sha256=19uDproKWhPQvVTit0hWuqmPb80zrELtCgnLybDuBKw,398
|
8
|
-
arbor/server/api/routes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
9
|
-
arbor/server/api/routes/files.py,sha256=U5QPC05VzqgDirB77lpy6BJLvg3zo1eGz7RUEk3HgRw,970
|
10
|
-
arbor/server/api/routes/jobs.py,sha256=W2Y-rByaULxT0pEy3_YSNWO2CEKR5obyax-uR4ax_6Y,539
|
11
|
-
arbor/server/api/routes/training.py,sha256=5M6OAtl9i8L-jBefmvPWvyf1M_x30-IlXzgleBg41Yc,977
|
12
|
-
arbor/server/core/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
13
|
-
arbor/server/core/config.py,sha256=R67gNeUXz0RShvpr8XF3Lpn7-RMOfKf2xTIyqXvj4PI,215
|
14
|
-
arbor/server/core/logging.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
15
|
-
arbor/server/main.py,sha256=I3chVYsoG56zE7Clf88lEuOPaDzJvKsOzivOWpsFDls,350
|
16
|
-
arbor/server/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
17
|
-
arbor/server/services/dependencies.py,sha256=y3EoIkwScYc811jZ8p5m0kJT4ixRo7vguimBKKMuxAQ,458
|
18
|
-
arbor/server/services/file_manager.py,sha256=VUCn0cUtd-Q1BrUPtKStS1hGtV_OlymUyA0I8zeG9Po,4037
|
19
|
-
arbor/server/services/job_manager.py,sha256=rZjuhwwbvL7yCJi653tv7z36iFFvp1w5J9j5DntSWKM,2073
|
20
|
-
arbor/server/services/training_manager.py,sha256=BQsUsxOyRlgFDEFM77tyIahmm4NqcoOwxq8Tlmp66dY,10724
|
21
|
-
arbor/server/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
|
-
arbor/server/utils/helpers.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
23
|
-
arbor_ai-0.1.4.dist-info/LICENSE,sha256=5vFGrbOFeXXM83JV9o16w7ohH4WLeu3-57GocJSz8ow,1067
|
24
|
-
arbor_ai-0.1.4.dist-info/METADATA,sha256=977OGIuruJzS8wkFntELEoO7Ey5VzEhv88v1Pt81pa0,2451
|
25
|
-
arbor_ai-0.1.4.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
|
26
|
-
arbor_ai-0.1.4.dist-info/entry_points.txt,sha256=AaLg05CZSQeP2oGlCH_AnmZPz-zzLlVtpXToI4cM3kY,39
|
27
|
-
arbor_ai-0.1.4.dist-info/RECORD,,
|
File without changes
|