GenAIをグラフに組み込む
| 項目 | 値 |
|---|---|
| カテゴリ | GenAI |
| 難易度 | 上級 |
| 推定所要時間 | 20-25 minutes |
| ラベル | genai, graph, composition, streaming, advanced |
ほとんどの生成AIアプリケーションは、直接的なモデルAPIから始めるべきです。生成AIが他のモデルと連携する必要がある場合、グラフによる構成が役立ちます。 Neat ステージ、名前付き入力、名前付き 出力、ルーティング、またはアプリケーションレベルのオーケストレーション。
ウォークスルー
GenAI グラフフラグメントを作成
タスク固有のモデルハンドルを作成し、グラフフラグメントのオプションを設定し、パブリックモデルを構築します。 Graph フラグメント。
このビジョンと言語のフラグメントは、 prompt, imageおよび use_cached_image 入力に加えて tokens, done, encodedおよび error 出力。音声文字起こし機能の一部は、次の機能を提供します。 audio そして audio_path 入力に加えて tokens, doneおよび error 出力。
SpeechTranscriberOptions デフォルトでは、言語を自動的に検出し、
文字起こしを行います。設定してください。 task へ ASRTask::Translate C++または
ASRTask.Translate Pythonで音声を聞き取り、英語に翻訳します。 done
bundleは、検出されたソース言語を報告し、利用可能な場合は
no_speech_prob そして avg_logprob.
tutorials/022_compose_genai_into_graph/compose_genai_into_graph.cpp
auto model = std::make_shared<genai::VisionLanguageModel>(args.model);
genai::VisionLanguageOptions options;
options.system_prompt = "You are concise.";
options.max_new_tokens = 96;
options.streaming = true;
options.encode_images_on_input = false;
simaai::neat::Graph genai_fragment =
genai::graphs::VisionLanguage(model, options, "genai_stage");
フラグメントをアプリのグラフに追加します
このフラグメントを、より大規模なアプリケーションのグラフに追加します。このフラグメントは、公開エンドポイントの名前を保持するため、アプリケーションコードは名前を使用してデータをプッシュおよびプルできます。
tutorials/022_compose_genai_into_graph/compose_genai_into_graph.cpp
simaai::neat::Graph app("genai_app");
app.add(genai_fragment);
std::cout << app.describe() << "\n";