semvec/pypi-packages huggingface dataset:
camsai-standards 2024.12.13.post1
CAMSAI standards
Requires Python: >=3.8

# CAMSAI Standards

The **CAMSAI Standards** repository defines and maintains a set of consistent schemas, validation tools, and data standards for materials science data and AI-driven research workflows. These standards ensure the interoperability, reproducibility, and scalability of materials-related datasets and applications across the CAMSAI ecosystem.

---

## **Purpose**

This repository provides:
- **Data Models**: Pydantic-based schemas for defining and validating data structures.
- **Validation Utilities**: Tools to ensure data compliance with established standards.
- **Interoperability Support**: Standards that facilitate seamless collaboration between different systems, tools, and workflows.

---

## **Key Features**

1. **Schema Definitions**
   - Comprehensive data models for common materials science objects.
   - Designed for compatibility with CAMSAI workflows and third-party applications.

2. **Validation Tools**
   - Python utilities to validate data against the defined standards.
   - Example workflows for integrating validation into your projects.

3. **Interoperability**
   - Supports data exchange and integration across various CAMSAI and external platforms.

---

## **Repository Structure**

- **`src/py/camsai/standards`**  
  Contains Python files defining the Pydantic schemas for various data models by source/provider (e.g., Mat3ra.com).
  
---

## **Installation**

### Using `pip`:
You can install the repository using `pip` (requires Python 3.8+):
```bash
pip install camsai-standards
```

or from GitHub:

```bash
pip install git+https://github.com/camsai/standards.git
```

### In JupyterLite:
Install the package in a Pyodide-based JupyterLite environment:
```python
await micropip.install("camsai-standards")
```

---

## **Usage**

### Example: Validating a Material Schema
```python
from camsai.standards.mat3ra import Mat3raMaterialSchema
from camsai.standards import is_valid

# Example material data
material_data = {...}

# Validate data
if is_valid(Mat3raMaterialSchema, material_data):
    print("Valid material data")
else:
    print("Invalid material data")
```

### Example: Using Predefined Examples
```python
from mat3ra.esse.data.examples import EXAMPLES

example_material = next((e for e in EXAMPLES if e["path"] == "material"), None)["data"]
print(example_material)
```

---

## **Contributing**

We welcome contributions! To contribute:
1. Fork the repository.
2. Create a branch for your changes:
   ```bash
   git checkout -b feature/new-schema
   ```
3. Commit your changes and open a pull request.

Please ensure all contributions are consistent with existing standards and include tests where applicable.

---

## **License**

This repository is licensed under the **Apache License 2.0**. See the [LICENSE](LICENSE) file for details.

---

## **Contact**

For questions or feedback, contact us at:
- **Email**: [info@camsai.org](mailto:info@camsai.org)
- **Website**: [CAMSAI - Consortium for the Advancement of Materials Science with AI](https://camsai.org)
felafax-cli 0.1.17
CLI tool for interacting with the Felafax platform; fine-tuning and inference on non-NVIDIA chipsets.
Requires Python: >=3.8

---
title: 'CLI Reference'
description: 'Command-line interface for fine-tuning and managing large language models'
---

## Installation

Install the Felafax CLI using pip:

```bash
pip install felafax-cli
```

## Authentication

Before using the CLI, authenticate with your token:

```bash
felafax-cli auth login --token <your-token>
```

<Tip>
Use the `--force` flag to override existing authentication.
</Tip>

## Core Features

<CardGroup cols={2}>
  <Card
    title="Model Management"
    icon="robot"
    href="#model-management"
  >
    List, chat with, and manage your fine-tuned models
  </Card>
  <Card
    title="Training Management"
    icon="graduation-cap"
    href="#training-management"
  >
    Initialize and manage fine-tuning jobs
  </Card>
  <Card
    title="File Management"
    icon="folder"
    href="#file-management"
  >
    Upload and manage your training data files
  </Card>
  <Card
    title="Configuration"
    icon="gear"
    href="#configuration"
  >
    Configure your fine-tuning parameters
  </Card>
</CardGroup>

## Model Management

### List Models

View all your available fine-tuned models:

```bash
felafax-cli model list
```

### Interactive Chat

Start an interactive chat session with a model:

```bash
felafax-cli model chat <model_id> [--system-prompt "Your custom prompt"]
```

### Model Information

Get detailed information about a specific model:

```bash
felafax-cli model info <model_id>
```

### Delete Model

Remove a fine-tuned model:

```bash
felafax-cli model delete <model_id>
```

## Training Management

### Initialize Configuration

Create a new configuration file:

```bash
felafax-cli tune init-config
```

### Start Fine-tuning

Launch a new fine-tuning job:

```bash
felafax-cli tune start \
    --model <model_name> \
    --config path/to/config.yml \
    --dataset <dataset_id>
```

### Manage Jobs

```bash
# List all training jobs
felafax-cli tune list

# Check job status
felafax-cli tune status --job-id <id>

# Stop a running job
felafax-cli tune stop --job-id <id>
```

## File Management

### List Files

View all your training data files:

```bash
felafax-cli files list [--prefix <prefix>] [--limit <number>]
```

### Upload File

Upload a new training data file:

```bash
felafax-cli files upload <file_path>
```

### Delete File

Remove a training data file:

```bash
felafax-cli files delete <file_path>
```

## Configuration

### Configuration Example

When you run `felafax-cli tune init-config`, it creates a YAML file with the following structure:

```yaml
hyperparameters:
  learning_rate: 1.0e-05
  batch_size: 32
  n_epochs: 4
  warmup_ratio: 0.0
lora:
  enabled: false
  r: 8
  alpha: 8
  dropout: 0.0
```

## Support

For more information, visit our documentation at <https://docs.felafax.ai>

## License

MIT License