KrugleAI Web User Guide - krugle-jp/Krugle-Library GitHub Wiki
Krugle AI Web ユーザーガイド
Version: 0.7.x
目次
はじめに
このユーザーガイドでは、Krugle AI Webの機能とWeb UIの操作方法について説明します。
https://<your Krugle AiO server>/ai-webにアクセスすると、Krugle AI Webの初期画面を表示することができます。

機能概要
Krugle AI Webは、以下の機能を提供します。
Apps
Appsは、実行したいプロンプトをAppとして定義します。1つのApp設定に定義できるプロンプトは1つのみです。

Chain
Chainは、Appsで定義した複数のApp(プロンプト)を順番に1つずつシーケンシャルに実行するため設定を行います。 App設定を組み合わせて、一連のタスクを自動的に実行するためのチェーンを作成します。

AI Jobs
AI Jobsは、事前定義されたAppもしくはChainとプロジェクトを関連付けし、プロンプトに基づく処理をプロジェクト内の各ファイルに対して実行する機能を提供します。
Apps 設定方法
Appsではプロンプトを定義します。

App設定項目
- App ID:
- Appのユニークな識別子です。
- 英数字、ハイフン(-)およびアンダースコア(_)のみを使用可能です。日本語は使用できません。
- App name:
- Appのタイトルを入力します。これはユーザーインターフェースで表示されます。
- 英数字、スペース、ハイフン(-)およびアンダースコア(_)のみを使用可能です。日本語は使用できません。
- Output directory alias:
- 出力ディレクトリのエイリアスを指定します。これは出力ファイルが保存される場所を示します。
- デフォルトは、documentationに設定されています。必要に応じて変更できます。
- 英数字、ハイフン(-)およびアンダースコア(_)のみを使用可能です。
- Output file ext name: 出力ファイルの拡張子名を入力します。例: .md
- Description: Appの説明を入力します。これはユーザーインターフェースで表示されます。
- Prompt: ユーザーがAppを使用する際に表示されるプロンプトを入力します。
Promptで使用可能な変数
Promptで使用可能な変数は、以下の通りです。主に{lang}, {code}, {app_result}が使用されます。
- {lang}: 入力されたソースコードの言語(例: java, python, cpp, jsなど)
- {code}: 入力されたソースコード。通常、
{lang}変数とともに使用されます。 - {file_name}: ファイル名
- {project_uid}: プロジェクトのユニークID
- {app_result}: Chainにおいて前のAppで実行された結果を取得します。
Promptでプロジェクトから入力されるコードブロックの指定方法
AI Webでは、以下の通りマークダウン形式でコードブロックを指定します。{lang}変数と{code}変数は、指定されたプロジェクトからファイルを取得し、取得ファイルのプログラミング言語に合わせて{lang}変数が自動的に設定されます。
また、{code}変数は自動的に取得ファイルの内容が設定されます。
```{lang}
{code}
````
App設定例
-
App ID: check-hard-coded-secrets
-
App name: Check Hard Coded Secrets
-
Output directory alias: output
-
Output file ext name: .md
-
Description: ソースコード内のハードコーディングされたシークレットをチェックします。
-
Prompt:
以下のコード中で、パスワードやパスコードがハードコーディングされている箇所があれば日本語で指摘してください。
```{lang}
{code}
```
下記は、New Appウィザードで設定例を入力した例です。

New AppウィザードでSaveボタンをクリックすると、Appが保存されAll Appsの一覧に表示されます。

Chain 設定方法
Chainを定義するには、以下の手順に従います。
- Chainに指定するApp設定を定義します。
- Chain設定を定義します。
1. App設定の定義
-
1番目のApp設定を定義します。App設定例にあるような
{lang}変数,{code}変数を使用して、App設定を定義します。 -
2番目以降のApp設定を定義します。
- 2番目以降のApp設定では、前のApp設定の出力を参照するために、
{app_result}変数を使用します。これにより、前のApp設定で出力された結果を次のApp設定の入力として使用します。 - 中間生成物を保存する場合、Output file ext nameが複数のAppで同じものであると、中間生成物が上書きされます。異なる拡張子を指定することで、複数の中間生成物を保存できます。例えば1番目のAppでは
.1.md、2番目のAppでは.2.mdと指定します。
AppのPrompt設定例
以下の文書をマークダウン形式で要約してください。100単語以内に収めてください。日本語で書いてください。日本語で返信があります。
```
{app_result}
```
2. Chain設定の定義
Chain設定項目

- Chain ID:
- Chainのユニークな識別子です。
- 英数字、ハイフン(-)およびアンダースコア(_)のみを使用可能です。日本語は使用できません。
- Chain name:
- Chainのタイトルを入力します。これはユーザーインターフェースで表示されます。
- 英数字、スペース、ハイフン(-)およびアンダースコア(_)のみを使用可能です。日本語は使用できません。
- Output directory alias:
- Description: Chainの説明を入力します。これはユーザーインターフェースで表示されます。
- Save intermediate file: 中間生成物を保存するか否かを指定します。基本的にはチェックし、有効のままにしてください。
- Selected Apps: Chainで実行するAppをSelect AppsからSelectボタンをクリックして、指定します。 指定された順番でシーケンシャルに実行されます。

AI Jobの実行と管理
App/Chainの実行
- AI Jobsメニューをクリックし、 Add jobボタンをクリックして、新しいジョブを作成するためのNew AI jobウィザードを開きます。

2.New AI jobウィザードが開いたら、1 Select Chains/Appsで、ChainsタブもしくはAppsタブから、実行したいChainまたはAppを選択します。
-
以下の画面は、Chainsタブを選択している場合の画面です。
-
以下の画面は、Appsタブを選択している場合の画面です。
-
ChainまたはAppを選択したら、Nextボタンをクリックします。

-
Job Configurationで、Jobの設定を行います。

-
Job name:
- Jobのタイトルを入力します。
- 英数字、ハイフン(-)およびアンダースコア(_)のみを使用可能です。日本語は使用できません。
-
Whitelist filter:
ドット(.) + ファイル拡張子の形式で入力します。例、.java, .cpp- 複数のファイルタイプを指定する場合はカンマ(,)で区切ります。例、
.java,.cpp,.py - Whitelist filterを使用した場合、Blacklist filterは使用できません。
-
Blacklist filter:
ドット(.) + ファイル拡張子の形式で入力します。例、.java, .cpp- 複数のファイルタイプを指定する場合はカンマ(,)で区切ります。例、
.java,.cpp,.py - Blacklist filterを使用した場合、Whitelist filterは使用できません。
-
Select Project
- 対象となるソースコードを含むプロジェクトを1つ選択します。
- 1つのプロジェクトを選択することができ、複数プロジェクトや特定のファイル・フォルダを指定することはできません。
- Job Configurationで、Jobの設定の入力が完了したら、Nextボタンをクリックして次のステップに進みます。

-
Confirmationで、入力した設定の確認し、問題がなければSaveボタンをクリックして新しいJobを作成します。

-
All AI jobsのリストで作成したJobがIn-progressで実行されていることを確認します。

App/Chainの結果の確認
- 実行JobがCompletedになったことを確認し、Download resultボタンをクリックします。

- ZIP圧縮されたファイルがダウンロードされます。


