ことはじめ
VRTにいろんなことをさせたいと思った結果、AIを使って文章の検証とかしたらいいんではないかと思いつき、DIFYを連携させてみた。
DIFYのほう
とてもシンプルです。inTextで入った文章が正しいかどうかをoutTextで出力する。
しかし無料で使えて日本語での問いにちゃんと答えてくれたのが数少なく、Qwen系AIになりました。

こんなプロンプトが入っています。
検証内容は「{inText}」です。
検証内容に日本語上の誤りが含まれていれば内容を出力してください。
誤りが無ければ”0000”を出力してください。
検証内容が空文字であれば”0000”を出力してください。
0000を出させているのは正解かどうかg判別しにくいからです。
Playwrightのほう
こんなテストを書きます。
import axios from 'axios';
//DIFY API KEY
const difyKey = 'app-aaaabbbbccccddddeeeeffff';
~~~~~~~~~~~~~~
//日本語テスト
test('isTrueJapanese', async ({ page }) => {
await page.goto('https://demo.playwright.dev/todomvc'); // ページ遷移
const texts = await page.innerText('h1')); //テキスト取得
//DIFY API
const difyClient = axios.create({
baseURL: 'https://api.dify.ai/v1',
headers: {
'Authorization': `Bearer ${difyKey}`,
'Content-Type': 'application/json',
},
});
const response = await difyClient.post('/workflows/run', {
inputs: {
inText: texts
},
response_mode: "blocking",
user: "abc-123"
});
const checkResult = response.data.data.outputs.outText.split('</think>')[1].replaceAll("\n",''));
expect(checkResult).toEqual('0000');
});
で切って改行を消したのは比較しやすい為です。もっと賢いAIモデルならそんな事もしなくていいかもしれません。