# インターフェース: CommitEditFile

既存のファイルを編集するには、元のコンテンツのバイト範囲を置き換えます。

`originalContent` が XetBlob（xet バックエンドのファイルに対して [downloadFile](../modules#downloadfile) が返すもの）である場合、ファイルの未変更部分はダウンロードも再チャンク化もされません。CAS サーバーはチャンク整列された編集ウィンドウと部分的な Merkle データ（`GET /v2/file-chunk-hashes`）を提供するため、変更された領域（およびそのチャンク境界の近傍）のみが取得、再チャンク化、ハッシュ化されます。

- バケット（sha256 は関与しない）の場合、これは編集および追記において、**変更されていないデータのダウンロードが一切不要**であることを意味します。
- モデル/データセット/スペースの場合、変更されていないデータは、新しいファイルのsha256を計算するために**1回だけ**ストリーミングされます（LFSプロトコルで必要）。2回（sha256 + チャンク分割）ではありません。

`originalContent` が他の Blob の場合、コンテンツ全体がローカルで再チャンク化され、変更されていないチャンクはリモート側と重複排除されます（アップロードはスキップされますが、コンテンツは完全に読み取られます）。

## プロパティ

### 編集

• **edits**: \{ `content`: `Blob` ; `end`: `number` ; `start`: `number`  }[]

#### 定義場所[[edits.defined-in]]

[packages/hub/src/lib/commit.ts:76](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L76)

___

### 操作

• **操作**: ``"edit"``

#### 定義場所[[operation.defined-in]]

[packages/hub/src/lib/commit.ts:72](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L72)

___

### import torch
import torch.nn as nn
import torch.nn.functional as F

class Attention(nn.Module):
    def __init__(self, dim, num_heads):
        super().__init__()
        self.num_heads = num_heads
        self.head_dim = dim // num_heads
        self.qkv = nn.Linear(dim, 3 * dim)
        self.out = nn.Linear(dim, dim)

    def forward(self, x):
        b, n, d = x.shape
        qkv = self.qkv(x).reshape(b, n, 3, self.num_heads, self.head_dim).permute(2, 0, 3, 1, 4)
        q, k, v = qkv.unbind(0)
        attn = F.scaled_dot_product_attention(q, k, v)
        out = attn.permute(1, 3, 2, 4).reshape(b, n, d)
        return self.out(out)

• **originalContent**: `Blob`

後で、ContentSourceになります。現時点では、ブロブを処理する方が簡単です

#### 定義場所[[originalcontent.defined-in]]

[packages/hub/src/lib/commit.ts:75](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L75)

___

### path

• **path**: `string`

#### 定義場所[[path.defined-in]]

[packages/hub/src/lib/commit.ts:73](https://github.com/huggingface/huggingface.js/blob/main/packages/hub/src/lib/commit.ts#L73)

