? AIVMLIB : AI VIS V OICE MODEL -Datei (.aivm/.aivmx) Dienstprogramm LIB RELARY
AIVM ( ai vis v oice m odel) / AIVMX ( ai vis v oice m odel für ONN x ) ist ein offenes Dateiformat für AI-Sprachsynthesemodelle, das vorgebildete Modelle, Hyperparameter, Stilvektoren, Sprecher-Metadaten (Namen, Übersicht, Lizenzen, Icons, Voice-Samples usw.) in einer Datei kombiniert .
Notiz
"AIVM" ist auch ein allgemeiner Begriff sowohl für die Spezifikationen von AIVM/AIVMX -Format als auch für Metadatenspezifikationen.
Insbesondere ist die AIVM -Datei eine Modelldatei in "Safetensors -Format mit AIVM -Metadaten hinzugefügt", und die AIVMX -Datei ist eine Modelldatei im "Onnx -Format mit AIVM -Metadaten" hinzugefügt ".
"AIVM -Metadaten" bezieht sich auf verschiedene Metadaten, die mit einem ausgebildeten Modell in Verbindung gebracht werden, wie in der AIVM -Spezifikation definiert.
Sie können AI-Sprachsynthesemodelle problemlos verwenden, indem Sie AIVM/AIVMX-Dateien zu Software hinzufügen, die AIVM-Spezifikationen, einschließlich AIVISSpeech/AIVisspeech-Engine, unterstützt.
AIVMLIB/AIVMLIB-Web bietet ein Dienstprogramm zum Lesen und Schreiben von Metadaten in AIVM/AIVMX-Dateien.
Diese AIVMLIB ist eine Referenzimplementierung der in Python geschriebenen AIVM -Spezifikation. Wenn Sie einen Webbrowser verwenden, verwenden Sie AIVMLIB-Web.
Tipp
Mit AIVM -Generator können Sie AIVM/AIVMX -Dateien mit der GUI in Ihrem Browser problemlos generieren und bearbeiten.
Wir empfehlen die Verwendung von AIVM -Generator, wenn Sie AIVM/AIVMX -Dateien manuell generieren und bearbeiten.
Wenn Sie es mit PIP installieren, wird das Befehlszeilen -Tool aivmlib auch automatisch installiert.
Benötigt Python 3.11 oder höher.
pip install aivmlibIch benutze Poesie während der Entwicklung.
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --helpIm Folgenden finden Sie das CLI -Tool selbst.
$ aivmlib --help
Usage: aivmlib [OPTIONS] COMMAND [ARGS]...
Aivis Voice Model File (.aivm/.aivmx) Utility Library
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it │
│ or customize the installation. │
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────╮
│ create-aivm 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVM ファイルを生成する │
│ create-aivmx 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVMX ファイルを生成する │
│ show-metadata 指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM │
│ メタデータを見やすく出力する │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib show-metadata --help
Usage: aivmlib show-metadata [OPTIONS] FILE_PATH
指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM メタデータを見やすく出力する
╭─ Arguments ───────────────────────────────────────────────────────────────────────╮
│ * file_path PATH Path to the AIVM / AIVMX file [default: None] │
│ [required] │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivm --help
Usage: aivmlib create-aivm [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVM ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVM │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the Safetensors │
│ model file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivmx --help
Usage: aivmlib create-aivmx [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVMX ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVMX │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the ONNX model │
│ file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯Unten finden Sie ein Beispiel für die Ausführung des Befehls.
# Safetensors 形式で保存された "Style-Bert-VITS2 (JP-Extra)" モデルアーキテクチャの学習済みモデルから AIVM ファイルを生成
# .safetensors と同じディレクトリに config.json と style_vectors.npy があることが前提
# -a オプションを省略した場合、既定で "Style-Bert-VITS2 (JP-Extra)" の学習済みモデルと判定される
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors -h ./config.json -s ./style-vectors.npy
# ONNX 形式で保存された "Style-Bert-VITS2" モデルアーキテクチャの学習済みモデルから AIVMX ファイルを生成
# .onnx と同じディレクトリに config.json と style_vectors.npy があることが前提
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 "
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 " -h ./config.json -s ./style-vectors.npy
# AIVM ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivm
# AIVMX ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivmxTipp
Für die Verwendung als Bibliothek finden Sie implementiert das in __main__.py implementierte CLI -Tool.
Wichtig
AIVMLIB/AIVMLIB-Web ist eine Bibliothek, in der nur Funktionen für AIVM/AIVMX-Dateiformate gelesen/schreiben.
Die Inferenzlogik für AI-Sprachsynthesemodelle für jede Modellarchitektur und wie Daten, die von AIVMLIB/AIVMLIB-Web erhalten wurden, dem Benutzer der Bibliothek überlassen werden.
MIT -Lizenz
In diesem Abschnitt werden die folgenden technischen Spezifikationen definiert, die in den "AIVM -Spezifikationen" enthalten sind:
Ziel ist es, das ausgebildete AI -Sprachsynthesemodell und die verschiedenen Metadaten zu kombinieren, die für die Verwendung in eine einzige Datei erforderlich sind, die Ableitungen und Verwirrung von Dateien verhindern und das Modell einfacher verwenden und freigeben.
Tipp
Durch Kombinieren in einer einzelnen Datei können Sie sie einfach bedienen, indem Sie einfach die AIVM/AIVMX -Datei herunterladen und in einen angegebenen Ordner platzieren und das Sprachsynthesemodell sofort mit kompatibler Software verwenden.
Ein weiterer Vorteil ist, dass es sich nicht um eine komprimierte Datei handelt, sodass Sie sie nicht bereitstellen müssen.
Die AIVM -Spezifikation beruht nicht auf der Modellarchitektur des Sprachsynthesemodells.
Es wurde mit berücksichtigender Skalierbarkeit und Vielseitigkeit entwickelt, so dass Sprachsynthesemodelle verschiedener Modellarchitekturen in einem gemeinsamen Dateiformat behandelt werden können.
Wenn das zugrunde liegende geschulte Modell in einem einzelnen Safetensors oder einem ONNX -Format gespeichert wird, können Sie im Prinzip Metadaten hinzufügen, um AIVM/AIVMX -Dateien unabhängig von der Modellarchitektur zu generieren.
Beim Entwerfen haben wir die Kompatibilität mit vorhandenen Ökosystemen hervorgehoben, damit sie als regelmäßige Safetensoren oder ONNX -Dateien ohne Konvertierungsverarbeitung geladen werden können.
Wichtig
Die AIVM -Spezifikation definiert die Inferenzmethode für jede Modellarchitektur nicht. Die Spezifikationen sind definiert als "eine Datei, die die Metadaten des AI -Sprachsynthesemodells zusammenfasst".
Zum Beispiel kann für AIVM -Dateien das gespeicherte AI -Sprachsynthesemodell für Pytorch oder Tensorflow erfolgen.
Wie man AI -Sprachsynthesemodelle schließt, bleibt der Implementierung von Software, die AIVM/AIVMX -Dateien unterstützt.
Die Spezifikationen für das AIVM -Dateiformat sind unten angezeigt.
AIVM ( Ai vis v oice m odel) ist eine erweiterte Safetensor -Formatspezifikation, die verschiedene Informationen wie Lautsprechermetadaten (AIVM Manifest), Hyperparameter und Stilvektoren als maßgefertigte Metadaten im Kopfbereich eines ausgebildeten Modells in den Safetensors (. -Afetensoren) speichern.
Es kann auch gesagt werden, dass es sich um eine "gemeinsame Metadatenbeschreibungsspezifikation für KI -Sprachsynthesemodelle, die im Safetensors -Format gespeichert sind".
Da es sich um eine erweiterte Spezifikation im SafeTensor -Format handelt, kann es als normale Safetensor -Datei so geladen werden.
Wie bei Safetensoren ist die erste 8 Bytes der nicht signierten 64-Bit-Ganzzahl von Little-Endian die Headergröße, gefolgt von einer UTF-8-JSON-Saite nach der Länge der Kopfzeilegröße.
Der JSON -Header von SafeTensors speichert den Offset von Tensoren usw., aber die __metadata__ -Taste ermöglicht es Ihnen, die Karte von String zu String frei einzustellen.
Unter Verwendung dieser Spezifikation speichert AIVM die folgenden Zeichenfolgendaten in den folgenden Schlüssel in __metadata__ :
aivm_manifest : AIVM manifestiertaivm_hyper_parameters : Hyperparameter für SprachsynthesemodelleStyle-Bert-VITS2 und Style-Bert-VITS2 (JP-Extra) Model Architecture Stores Json Saitenaivm_style_vectors : Base64 codierte Sprachsynthese -Modellstilvektoren (binär)Style-Bert-VITS2 und Style-Bert-VITS2 (JP-Extra) wird eine Saite mit Base64 Coded Numpy Array (.npy) gespeichert.Nachfolgend finden Sie die Spezifikationen für das AIVMX -Dateiformat.
AIVMX ( AI vis v oice m odel für ONNX ) ist eine erweiterte Onnx -Formatspezifikation, die verschiedene Informationen wie Lautsprechermetadaten (AIVM -Manifest) speichert, Hyperparameter -Vektoren als benutzerdefinierte Metadaten im Metadatenbereich eines ausgebildeten Modells, das in ONNX -Format gespeichert ist.
Es kann auch gesagt werden, dass es sich um eine "gemeinsame Metadatenbeschreibungspezifikation für KI -Sprachsynthesemodelle, die im ONNX -Format gespeichert sind".
Da es sich um eine erweiterte Spezifikation im ONNX -Format handelt, kann es als normale ONNX -Datei so geladen werden.
ONNX -Dateien sind im Protokollpufferformat definiert und sind so konzipiert, dass sie Metadaten als Liste von StringStringEntryProto im Feld metadata_props der Root ModelProto -Nachricht speichern.
Unter Verwendung dieser Spezifikation speichert AIVMX die folgenden Zeichenfolgedaten in den folgenden Schlüssel in metadata_props :
aivm_manifest : AIVM manifestiertaivm_hyper_parameters : Hyperparameter für SprachsynthesemodelleStyle-Bert-VITS2 und Style-Bert-VITS2 (JP-Extra) Model Architecture Stores Json Saitenaivm_style_vectors : Base64 codierte Sprachsynthese -Modellstilvektoren (binär)Style-Bert-VITS2 und Style-Bert-VITS2 (JP-Extra) wird eine Saite mit Base64 Coded Numpy Array (.npy) gespeichert.Nachfolgend finden Sie die Spezifikationen für das AIVM -Manifest (Version 1.0) im AIVM/AIVMX -Dateiformat.
Das AIVM -Manifest enthält verschiedene Informationen, die zur Verwendung des Sprachsynthesemodells erforderlich sind, wie z.
Das Datenformat für das AIVM-Manifest ist eine UTF-8-Zeichenfolge, die im JSON-Format geschrieben wurde.
Aufgrund des JSON -Formats werden Bilder und Audiodaten als Base64 -codierte Zeichenfolgen gespeichert.
Notiz
AIVM (SAFETENSORS), der derzeit als Containerformat für AIVM -Manifeste definiert ist - der Metadatenbereich von AIVMX (ONNX) muss ein Schlüsselwert von einem String -Typ zu einem String -Typ ohne Nesting sein, sodass alle Metadaten in eine Zeichenfolge serialisiert und gespeichert sind.
Binärdaten wie Bilder und Audio werden nach Base64 -Codierung als Zeichenfolge gespeichert.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) Wichtig
Software, die AIVM/AIVMX -Dateien unterstützt, muss für AIVM/AIVMX -Dateien von Modellarchitekturen ordnungsgemäß validiert werden, die von Ihrer eigenen Software nicht unterstützt werden.
Zum Beispiel wird Software, die keine Modellarchitekturen als Style-Bert-VITS2 (JP-Extra) unterstützt, bei der Aufforderung zur Installation der AIVM/AIVMX-Datei für Style-Bert-VITS2 eine Warnmeldung angezeigt. "Diese Modellarchitektur wird nicht unterstützt" und die Installation wird abgebrochen.
Wichtig
Technisch gesehen können Sprachsynthesemodelle von anderen als oben aufgeführten Modellarchitekturen gespeichert werden, aber die einzigen oben genannten Modellarchitektur -Saiten sind offiziell in der Spezifikation von AIVM Manifest (Version 1.0) definiert.
Wenn Sie Ihre eigene Modellarchitektur -Zeichenfolge definieren, müssen Sie äußerst vorsichtig sein, um Namenskonflikte mit vorhandenen Modellarchitekturen oder Fehlausrichtung zwischen verschiedenen Software zu vermeiden.
Es wird empfohlen, Pull -Anfragen so weit wie möglich an dieses Repository zu senden und die neue Modellarchitektur offiziell zur AIVM -Spezifikation zu unterstützen.
Nachfolgend finden Sie die Felddefinitionen für das AIVM -Manifest als der AIVM -Manifest -Spezifikation (Version 1.0) (Auszug aus AIVMLIBs pydantischer Schema -Definition).
Wichtig
Felder im AIVM -Manifest können hinzugefügt, erweitert oder entfernt werden, wenn die AIVM -Spezifikation in Zukunft aktualisiert wird.
Es ist auch durchaus möglich, dass dem AIVM -Manifest neue Metadaten hinzugefügt werden und das AIVM/AIVMX -Dateiformat mit Unterstützung für zukünftige Versionsaktualisierungen und zusätzlichen Modellarchitekturen sich selbst unterstützt.
Die einzige derzeit aktive AIVM -Manifest -Version ist 1.0 .
class ModelArchitecture ( StrEnum ):
StyleBertVITS2 = 'Style-Bert-VITS2' # 対応言語: "ja", "en-US", "zh-CN"
StyleBertVITS2JPExtra = 'Style-Bert-VITS2 (JP-Extra)' # 対応言語: "ja"
class ModelFormat ( StrEnum ):
Safetensors = 'Safetensors'
ONNX = 'ONNX'
class AivmManifest ( BaseModel ):
""" AIVM マニフェストのスキーマ """
# AIVM マニフェストのバージョン (ex: 1.0)
# 現在は 1.0 のみサポート
manifest_version : Literal [ '1.0' ]
# 音声合成モデルの名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は話者名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 音声合成モデルの簡潔な説明 (最大 140 文字 / 省略時は空文字列を設定)
description : Annotated [ str , StringConstraints ( max_length = 140 )] = ''
# 音声合成モデルの制作者名のリスト (省略時は空リストを設定)
# 制作者名には npm package.json の "author", "contributors" に指定できるものと同じ書式を利用できる
# 例: ["John Doe", "Jane Doe <[email protected]>", "John Doe <[email protected]> (https://example.com)"]
creators : list [ Annotated [ str , StringConstraints ( min_length = 1 , max_length = 255 )]] = []
# 音声合成モデルのライセンス情報 (Markdown 形式またはプレーンテキスト / 省略時は None を設定)
# AIVM 仕様に対応するソフトでライセンス情報を表示できるよう、Markdown 形式またはプレーンテキストでライセンスの全文を設定する想定
# 社内のみでの利用など、この音声合成モデルの公開・配布を行わない場合は None を設定する
license : Annotated [ str , StringConstraints ( min_length = 1 )] | None = None
# 音声合成モデルのアーキテクチャ (音声合成技術の種類)
model_architecture : ModelArchitecture
# 音声合成モデルのモデル形式 (Safetensors または ONNX)
# AIVM ファイル (.aivm) のモデル形式は Safetensors 、AIVMX ファイル (.aivmx) のモデル形式は ONNX である
model_format : ModelFormat
# 音声合成モデル学習時のエポック数 (省略時は None を設定)
training_epochs : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデル学習時のステップ数 (省略時は None を設定)
training_steps : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデルを一意に識別する UUID
uuid : UUID
# 音声合成モデルのバージョン (SemVer 2.0 準拠 / ex: 1.0.0)
version : Annotated [ str , StringConstraints ( pattern = r'^(0|[1-9]d*).(0|[1-9]d*).(0|[1-9]d*)(?:-((?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*)(?:.(?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:+([0-9a-zA-Z-]+(?:.[0-9a-zA-Z-]+)*))?$' )]
# 音声合成モデルの話者情報 (最低 1 人以上の話者が必要)
speakers : list [ AivmManifestSpeaker ]
class AivmManifestSpeaker ( BaseModel ):
""" AIVM マニフェストの話者情報 """
# 話者の名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は音声合成モデル名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 話者のアイコン画像 (Data URL)
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )]
# 話者の対応言語のリスト (BCP 47 言語タグ)
# 例: 日本語: "ja", アメリカ英語: "en-US", 標準中国語: "zh-CN"
supported_languages : list [ Annotated [ str , StringConstraints ( pattern = r'^[a-z]{2,3}(?:-[A-Z]{4})?(?:-(?:[A-Z]{2}|d{3}))?(?:-(?:[A-Za-z0-9]{5,8}|d[A-Za-z0-9]{3}))*(?:-[A-Za-z](?:-[A-Za-z0-9]{2,8})+)*(?:-x(?:-[A-Za-z0-9]{1,8})+)?$' )]]
# 話者を一意に識別する UUID
uuid : UUID
# 話者のローカル ID (この音声合成モデル内で話者を識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 )]
# 話者のスタイル情報 (最低 1 つ以上のスタイルが必要)
styles : list [ AivmManifestSpeakerStyle ]
class AivmManifestSpeakerStyle ( BaseModel ):
""" AIVM マニフェストの話者スタイル情報 """
# スタイルの名前 (最大 20 文字)
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 20 )]
# スタイルのアイコン画像 (Data URL, 省略可能)
# 省略時は話者のアイコン画像がスタイルのアイコン画像として使われる想定
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )] | None = None
# スタイルの ID (この話者内でスタイルを識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 , le = 31 )] # 最大 32 スタイルまでサポート
# スタイルごとのボイスサンプル (省略時は空リストを設定)
voice_samples : list [ AivmManifestVoiceSample ] = []
class AivmManifestVoiceSample ( BaseModel ):
""" AIVM マニフェストのボイスサンプル情報 """
# ボイスサンプルの音声ファイル (Data URL)
# 音声ファイル形式は WAV (audio/wav, Codec: PCM 16bit)・M4A (audio/mp4, Codec: AAC-LC) のいずれか (M4A を推奨)
audio : Annotated [ str , StringConstraints ( pattern = r'^data:audio/(wav|mp4);base64,[A-Za-z0-9+/=]+$' )]
# ボイスサンプルの書き起こし文
# 書き起こし文は音声ファイルでの発話内容と一致している必要がある
transcript : Annotated [ str , StringConstraints ( min_length = 1 )]A. um zwei Formate bereitzustellen, die für verschiedene Anwendungen und Umgebungen optimiert wurden, und eine flexiblere Verwendung ermöglichen.
A. Ja, es ist möglich.
AIVM ist als Erweiterung des SafeTensors -Formats konzipiert, während AIVMX als Erweiterung des ONNX -Formats konzipiert ist, sodass jeder als reguläre Safetensors -Datei oder eine ONNX -Datei gelesen werden kann.
AIVM -Metadaten werden im Metadatenbereich gespeichert, das durch die vorhandenen Modellformatspezifikationen definiert ist, und wirkt sich nicht auf das Verhalten vorhandener Tools aus.
A. Es gibt zwei Möglichkeiten:
Beachten Sie, dass das Modell, aus dem Sie es konvertieren, in einem einzelnen Safetensor- oder ONNX -Format gespeichert werden muss.
A. AIVM Manifest -Versionskontrolle wird unter folgenden Richtlinien durchgeführt:
Derzeit ist 1.0 die neueste.
A. AIVMLIB und AIVMLIB-Web sind Bibliotheken, die die gleiche AIVM-Spezifikation für verschiedene Sprachen/Betriebsumgebungen implementieren.
BinaryIO in Python, wird zu File (BLOB) der JavaScript -Web -API, ist das grundlegende API -Design dieselbe wie AIVMLIB.Tipp
Zu diesem Zeitpunkt gibt es neben AIVMLIB/AIVMLIB-Web keine offiziell gepflegten AIVM-Spezifikationsbibliotheken.
Es besteht die Möglichkeit, dass in Zukunft Bibliotheken Dritter für andere Sprachen erscheinen werden.
Wichtig
Wenn Sie Unterstützung für neue Modellarchitekturen hinzufügen, müssen Sie sowohl AIVMLIB als auch AIVMLIB-WEB Implementierungen hinzufügen.
Da AIVM Generator AIVMLIB-Web verwendet, müssen beide Bibliotheken aktualisiert werden, um Endbenutzern neue Funktionen bereitzustellen.
A. Die AIVM -Spezifikation gibt keine Implementierungsdetails für Modellarchitekturen an, wodurch es relativ einfach ist, neue Modellarchitekturen hinzuzufügen.
GPT-SoVITS2 ) zur ModelArchitecture hinzuzufügen.generate_aivm_metadata() hinzu.aivm_style_vectors -Manifest getrennt ist, z.Wichtig
Die eingereichten AIVM-Manifestspezifikationen müssen technisch sowohl von AIVMLIB (Python) als auch von AIVMLIB-Web (Typscript Web) unterstützt werden.
AIVMLIB-Web wird im AIVM-Generator verwendet.
Sobald Sie AIVMLIB unterstützt haben, fügen Sie AIVMLIB-Web auch Unterstützung hinzu.
Notiz
Das AIVM -Manifest soll nur gemeinsame Metadaten definieren, die unabhängig von der Modellarchitektur sind.
Die implementierungsspezifischen Hyperparameter sollten im Feld aivm_hyper_parameters gespeichert werden.
Wir akzeptieren auch die Zugabe von pydantischen Schema -Definitionen für Hyperparameter. Derzeit ist nur das Hyperparameter-Schema für Style-Bert-VITS2 Architekturen definiert.
Notiz
Natürlich muss das Quellmodell an AIVM/AIVMX im einzigen Safetensors oder eines ONNX -Formats gespeichert werden.
Daher werden Modellarchitekturen, die mehrere Modelldateien umfassen, nicht unterstützt.
Bitte überlegen Sie, wie Sie Modelldateien zu einem kombinieren oder unnötige Modelldateien entfernen.
A. Lizenzinformationen finden Sie in Markdown- oder Klartext und richten Sie eine vollständige Kopie der Lizenz ein, die direkt in eine AIVM/AIVMX -Datei einbettet.
Die Gründe für die Einbettung des vollständigen Lizenztextes, anstatt eine URL anzugeben, sind wie folgt:
A. Obwohl es keine spezifische Größengrenze gibt, ist die Modelldatei selbst im Allgemeinen groß, so
Tipp
Die Referenzimplementierung, AIVM -Generator, folgt diesen Richtlinien, um eine ordnungsgemäße Größenoptimierung sicherzustellen.
A. Die manuelle Bearbeitung wird nicht empfohlen, da Metadaten direkt in die Binärdatei eingebettet sind.
Wenn Sie Endbenutzer sind, verwenden Sie bitte den AIVM -Generator.
Tipp
Entwickler können ihre eigenen Anwendungen mit AIVMLIB/AIVMLIB-Web schreiben.
Die AIVMLIB -CLI bietet nur die Möglichkeit, AIVM/AIVMX -Dateien mit minimalen Metadaten zu generieren und die Metadaten zu überprüfen.