؟ AIVMLIB : AI Vis V V OICE MODEL FILE (.AIVM/.AIVMX)
AIVM ( ai vis v oice m odel) / aivmx ( ai vis v oice m odel for onn x ) هو تنسيق ملف مفتوح لنماذج توليف الكلام AI التي تجمع بين النماذج التي تم تدريبها مسبقًا ، ومقاييس النمط ، ومواقف النمط ، وبيانات مكبر الصوت (الأسماء ، والمشاهدات العامة ، والرسم ، أو العينات الصوتية ، إلخ.) في ملف واحد .
ملحوظة
"AIVM" هو أيضًا مصطلح عام لكل من مواصفات تنسيق AIVM/AIVMX ومواصفات البيانات الوصفية.
على وجه التحديد ، ملف AIVM هو ملف نموذج بتنسيق "Safetensors مع Metadata AIVM" ، وملف AIVMX هو ملف نموذج في "تنسيق ONNX مع Metadata AIVM".
يشير "بيانات التعريف AIVM" إلى العديد من البيانات الوصفية المرتبطة بنموذج مدرب كما هو محدد في مواصفات AIVM.
يمكنك بسهولة استخدام نماذج توليف الكلام AI عن طريق إضافة ملفات AIVM/AIVMX إلى البرامج التي تدعم مواصفات AIVM ، بما في ذلك محرك AIVISSPEEDE/AIVISSPEEDE.
يوفر AIVMLIB/AIVMLIB-WEB فائدة لقراءة وكتابة البيانات الوصفية في ملفات AIVM/AIVMX.
هذا AIVMLIB هو تطبيق مرجعي لمواصفات AIVM المكتوبة في Python. إذا كنت تستخدم متصفح ويب ، فيرجى استخدام AIVMLIB-Web.
نصيحة
يتيح لك AIVM Generator إنشاء ملفات AIVM/AIVMX بسهولة وتحريرها باستخدام واجهة المستخدم الرسومية على متصفحك.
نوصي باستخدام مولد AIVM عند إنشاء وتحرير ملفات AIVM/AIVMX يدويًا.
إذا قمت بتثبيته باستخدام PIP ، فسيتم أيضًا تثبيت أداة سطر الأوامر aivmlib تلقائيًا.
يتطلب بيثون 3.11 أو أعلى.
pip install aivmlibأستخدم الشعر أثناء التطوير.
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --helpفيما يلي كيفية استخدام أداة CLI نفسها.
$ 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. │
╰───────────────────────────────────────────────────────────────────────────────────╯فيما يلي مثال على تنفيذ الأمر.
# 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.aivmxنصيحة
للاستخدام كمكتبة ، راجع تنفيذ أداة CLI التي تم تنفيذها في __main__.py .
مهم
AIVMLIB/AIVMLIB-WEB هي مكتبة تقرأ/كتابة وظائف فقط لتنسيقات ملف AIVM/AIVMX.
يتم ترك منطق الاستدلال لنماذج توليف الكلام AI لكل بنية نموذجية وكيف يتم ترك البيانات التي تم الحصول عليها من AIVMLIB/AIVMLIB-Web لمستخدم المكتبة.
رخصة معهد ماساتشوستس للتكنولوجيا
يحدد هذا القسم المواصفات التقنية التالية المدرجة في "مواصفات AIVM":
والغرض من ذلك هو الجمع بين نموذج تخليق خطاب الذكاء الاصطناعى المدربين والبيانات الوصفية المختلفة اللازمة لاستخدامها في ملف واحد ، ومنع تبديد الملفات والارتباك ، وتسهيل استخدام النموذج ومشاركته.
نصيحة
من خلال دمجه في ملف واحد ، يمكنك بسهولة تشغيله عن طريق تنزيل ملف AIVM/AIVMX بسهولة ووضعه في مجلد محدد ، واستخدام نموذج توليف الكلام على الفور مع برنامج متوافق.
ميزة أخرى هي أنه ليس ملفًا مضغوطًا ، لذلك ليست هناك حاجة لنشره.
لا تعتمد مواصفات AIVM على بنية النموذج لنموذج تخليق الكلام.
لقد تم تصميمه مع وضع قابلية التوسع في المستقبل والتنوع في الاعتبار بحيث يمكن التعامل مع نماذج تخليق الكلام من بنية نموذجية مختلفة بتنسيق ملف مشترك.
إذا تم حفظ النموذج المدرب الأساسي في تنسيق Safetensors واحد أو OnNx ، من حيث المبدأ ، يمكنك إضافة بيانات تعريف لإنشاء ملفات AIVM/AIVMX ، بغض النظر عن بنية النموذج.
عند التصميم ، أكدنا على التوافق مع النظم الإيكولوجية الموجودة بحيث يمكن تحميلها كملفات Safetensors العادية أو ملفات ONNX دون أي معالجة تحويل.
مهم
لا تحدد مواصفات AIVM طريقة الاستدلال لكل بنية نموذجية. يتم تعريف المواصفات على أنها "ملف يلخص البيانات الوصفية لنموذج تخليق خطاب الذكاء الاصطناعي."
على سبيل المثال ، بالنسبة لملفات AIVM ، قد يكون نموذج توليف خطاب الذكاء الاصطناعي المخزن لـ Pytorch أو TensorFlow.
كيفية استنتاج نماذج توليف الكلام منظمة العفو الدولية يتم ترك لتنفيذ البرامج التي تدعم ملفات AIVM/AIVMX.
وترد أدناه مواصفات تنسيق ملف AIVM.
AIVM ( ai vis v oice m odel) هي مواصفات تنسيق Safetensor الموسعة التي تخزن معلومات مختلفة مثل بيانات Metadata (AIVM Canner) ، ومقاطعات البارامات ، وناقلات النمط كبيانات مخصصة في منطقة الرأس في طراز مدرب مخزّن في Safetensorsorsors).
يمكن أيضًا القول بأنه "مواصفات وصف البيانات الوصفية المشتركة لنماذج توليف الكلام الذكرية المحفوظة بتنسيق Safetensors."
نظرًا لأنه مواصفات ممتدة في تنسيق Safetensor ، يمكن تحميلها كملف Safetensor العادي كما هو.
مثل Safetensors ، فإن أول 8 بايتات من عدد صحيح 64bit Little-Endian Little هو حجم الرأس تليها سلسلة JSON UTF-8 بطول حجم الرأس.
يخزن رأس JSON من Safetensors إزاحة Tensors ، وما إلى ذلك ، ولكن مفتاح __metadata__ يسمح لك بتعيين الخريطة بحرية من سلسلة إلى سلسلة.
باستخدام هذه المواصفات ، يقوم AIVM بتخزين بيانات السلسلة التالية في المفاتيح التالية في __metadata__ :
aivm_manifest : بيان AIVMaivm_hyper_parameters : أجهزة فرط النماذج لنماذج توليف الكلامStyle-Bert-VITS2 و Style-Bert-VITS2 (JP-Extra) يخزن سلاسل JSONaivm_style_vectors : متجهات نمط نموذج توليف الكلام المشفرة BASE64 (ثنائي)Style-Bert-VITS2 و Style-Bert-VITS2 (JP-Extra) ، يتم تخزين سلسلة مع صفيف numpy المشفر base64 (.npy).فيما يلي مواصفات تنسيق ملف AIVMX.
AIVMX ( ai vis v oice m odel for onnx ) هي مواصفات تنسيق onnx ممتدة تخزن معلومات مختلفة مثل بيانات التعريف (AIVM 1) ، ناقلات نمط الفائقة المفرطة مثل البيانات الوصفية المخصصة في منطقة البيانات الوصفية لنموذج مدرب مخزّن في شكل Onnx.
يمكن أيضًا القول بأنه "مواصفات وصف البيانات الوصفية الشائعة لنماذج توليف الكلام الذكاء الاصطناعى المحفوظة في تنسيق ONNX."
نظرًا لأنه مواصفات ممتدة في تنسيق ONNX ، يمكن تحميلها كملف ONNX عادي كما هو.
يتم تعريف ملفات ONNX بتنسيق المخازن المؤقتة للبروتوكول ، وهي مصممة لتخزين البيانات الوصفية كقائمة من StringStringEntryProto في حقل metadata_props لرسالة Root ModelProto .
باستخدام هذه المواصفات ، يقوم AIVMX بتخزين بيانات السلسلة التالية في المفاتيح التالية في metadata_props :
aivm_manifest : بيان AIVMaivm_hyper_parameters : أجهزة فرط النماذج لنماذج توليف الكلامStyle-Bert-VITS2 و Style-Bert-VITS2 (JP-Extra) يخزن سلاسل JSONaivm_style_vectors : متجهات نمط نموذج توليف الكلام المشفرة BASE64 (ثنائي)Style-Bert-VITS2 و Style-Bert-VITS2 (JP-Extra) ، يتم تخزين سلسلة مع صفيف numpy المشفر base64 (.npy).فيما يلي مواصفات بيان AIVM (الإصدار 1.0) المدرج في تنسيق ملف AIVM/AIVMX.
يحتوي بيان AIVM على العديد من المعلومات اللازمة لاستخدام نموذج تخليق الكلام ، مثل الإصدار البيض ، بنية النموذج ، اسم النموذج ، بيانات تعريف السماعات ، ومعلومات النمط.
تنسيق البيانات الخاص ببيان AIVM هو سلسلة UTF-8 مكتوبة بتنسيق JSON.
نظرًا لتنسيق JSON ، يتم تخزين الصور وبيانات الصوت كسلاسل مشفرة BASE64.
ملحوظة
يجب أن تكون AIVM (Safetensors) التي يتم تعريفها حاليًا على أنها تنسيق الحاوية لـ AIVM - منطقة البيانات الوصفية لـ AIVMX (ONNX) قيمة رئيسية من نوع سلسلة إلى نوع سلسلة دون تعشيش ، لذلك يتم تسلسل جميع البيانات الوصفية إلى سلسلة وتخزينها.
يتم تخزين البيانات الثنائية مثل الصور والصوت كسلسلة بعد تشفير BASE64.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) مهم
يجب التحقق من صحة البرامج التي تدعم ملفات AIVM/AIVMX بشكل صحيح لملفات AIVM/AIVMX من بنيات النماذج التي لا تدعمها البرنامج الخاص بك.
على سبيل المثال ، البرامج التي لا تدعم بنية النماذج بخلاف Style-Bert-VITS2 (JP-Extra) ، عندما يُطلب منها تثبيت ملف AIVM/AIVMX للهندسة المعمارية Style-Bert-VITS2 ، سيتم عرض تنبيه قائلاً "هذه البنية النموذجية غير مدعومة" وسيتم تنظيم التثبيت.
مهم
من الناحية الفنية ، يمكن تخزين نماذج توليف الكلام من بنية النماذج بخلاف تلك المذكورة أعلاه ، ولكن يتم تعريف سلاسل العمارة النموذجية الوحيدة المذكورة أعلاه رسميًا في مواصفات AIVM (الإصدار 1.0).
عند تحديد سلسلة الهندسة المعمارية الخاصة بك ، يجب أن تكون حريصًا للغاية على تجنب تعارضات الاسم مع بنية النماذج الحالية أو اختلال البرامج المختلفة.
يوصى بإرسال طلبات السحب إلى هذا المستودع قدر الإمكان وإضافة دعم رسمي للهندسة المعمارية الجديدة إلى مواصفات AIVM.
فيما يلي تعريفات الحقل لمواصف AIVM اعتبارًا من مواصفات AIVM (الإصدار 1.0) (مقتطفات من تعريف مخطط AIVMLIB Pydantic).
مهم
يمكن إضافة الحقول في بيان AIVM أو توسيعها أو إزالتها عند تحديث مواصفات AIVM في المستقبل.
من الممكن أيضًا إضافة البيانات الوصفية الجديدة إلى بيان AIVM وتنسيق ملف AIVM/AIVMX نفسه بدعم لتحديثات الإصدار المستقبلي وأبنية طرازات إضافية.
إصدار AIVM البيان النشط الوحيد حاليًا هو 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 )]أ. لتوفير تنسيقين محسّن للتطبيقات والبيئات المختلفة ، مما يتيح استخدامًا أكثر مرونة.
نعم ، من الممكن.
تم تصميم AIVM كامتداد لتنسيق Safetensors ، بينما تم تصميم AIVMX كملحق لتنسيق ONNX ، بحيث يمكن قراءة كل منها كملف Safetensors العادي أو ملف ONNX.
يتم تخزين بيانات تعريف AIVM في منطقة البيانات الوصفية المحددة بواسطة مواصفات تنسيق النموذج الحالية ولا تؤثر على سلوك الأدوات الموجودة.
A. هناك طريقتان:
لاحظ أن النموذج الذي تقوم بتحويله منه يجب حفظه بتنسيق Safetensor واحد أو ONNX.
يتم إجراء التحكم في الإصدار AIVM الواضحة بموجب السياسات التالية:
حاليا ، 1.0 هو الأحدث.
A. AIVMLIB و AIVMLIB-WEB هما مكتبات تنفذ نفس مواصفات AIVM للغات المختلفة/بيئات التشغيل.
BinaryIO في Python يصبح File (Blob) من API على الويب JavaScript ، فإن تصميم API الأساسي هو نفس AIVMLIB.نصيحة
في هذا الوقت ، لا توجد مكتبات مواصفات AIVM يتم الحفاظ عليها رسميًا إلى جانب AIVMLIB/AIVMLIB-Web.
هناك احتمال أن تظهر مكتبات الطرف الثالث للغات الأخرى في المستقبل.
مهم
عند إضافة دعم للبنية النموذجية الجديدة ، يجب عليك إضافة تطبيقات إلى كل من AIVMLIB و AIVMLIB-Web.
نظرًا لأن AIVM Generator يستخدم AIVMLIB-Web ، يجب تحديث كلا المكتبات لتوفير ميزات جديدة للمستخدمين النهائيين.
أ. لا تحدد مواصفات AIVM تفاصيل التنفيذ لهتائما النماذج ، مما يجعل من السهل نسبيًا إضافة بنيات نموذجية جديدة.
GPT-SoVITS2 ) إلى ModelArchitecture .generate_aivm_metadata() في نفس الوقت.aivm_style_vectors ، ثم إرسال طلب سحب.مهم
يجب دعم مواصفات AIVM المقدمة من قبل كل من AIVMLIB (Python) و AIVMLib-Web (Web TypeScript).
يتم استخدام AIVMLIB-Web داخل مولد AIVM.
بمجرد إضافة الدعم إلى AIVMLIB ، أضف الدعم إلى AIVMLIB-Web أيضًا.
ملحوظة
تم تصميم بيان AIVM لتحديد البيانات الوصفية المشتركة فقط المستقلة عن بنية النموذج.
يجب تخزين فرطاميرات التطبيق الخاصة بالتنفيذ في حقل aivm_hyper_parameters .
نحن نقبل أيضًا إضافة تعريفات مخطط Pydantic لفرط الأبرامير. حاليًا ، يتم تعريف مخطط البنية الفائقة فقط للبنيات Style-Bert-VITS2 .
ملحوظة
بالطبع ، يجب حفظ نموذج المصدر لـ AIVM/AIVMX في تنسيق Safetensors واحد أو ONNX.
لذلك ، لا يتم دعم بنيات النماذج التي تمتد إلى ملفات نموذجية متعددة.
يرجى النظر في كيفية دمج ملفات النموذج في واحد أو إزالة ملفات النماذج غير الضرورية.
أ. معلومات الترخيص في نص مميز أو نص عادي ، وإعداد نسخة كاملة من الترخيص المدمج مباشرة في ملف AIVM/AIVMX.
أسباب تضمين نص الترخيص الكامل بدلاً من تحديد عنوان URL هي كما يلي:
أ. على الرغم من عدم وجود حد محدد للحجم ، إلا أن ملف النموذج نفسه ضخم بشكل عام ، لذلك يزيد حجم الملفات بسبب البيانات الوصفية إلى الحد الأدنى.
نصيحة
يتبع التنفيذ المرجعي ، مولد AIVM ، هذه الإرشادات لضمان تحسين الحجم السليم.
أ. لا ينصح بالتحرير اليدوي لأن البيانات الوصفية مضمنة مباشرة في الثنائي.
إذا كنت مستخدمًا نهائيًا ، فيرجى استخدام مولد AIVM.
نصيحة
يمكن للمطورين كتابة تطبيقاتهم الخاصة باستخدام AIVMLIB/AIVMLIB-Web.
يوفر AIVMlib CLI فقط القدرة على إنشاء ملفات AIVM/AIVMX بأقل بيانات تعريف والتحقق من البيانات الوصفية.