diff --git a/packages/web/src/prompts/index.ts b/packages/web/src/prompts/index.ts
index 75269903..af571b15 100644
--- a/packages/web/src/prompts/index.ts
+++ b/packages/web/src/prompts/index.ts
@@ -1,13 +1,11 @@
import { UnrecordedMessage } from 'generative-ai-use-cases-jp';
import { RetrieveResultItem } from '@aws-sdk/client-kendra';
import { claudePrompter } from './claude';
-import { mistralPrompter } from './mistral';
+// 現状 prompter は Claude 用のものしか存在しない
export const getPrompter = (modelId: string) => {
- if (modelId.startsWith('anthropic.claude-')) {
+ if (modelId.includes('claude')) {
return claudePrompter;
- } else if (modelId.startsWith('mistral.mi')) {
- return mistralPrompter;
} else {
// デフォルトでは Claude の prompter を返す
// modelId は初期時に空文字が入っているため
diff --git a/packages/web/src/prompts/mistral.ts b/packages/web/src/prompts/mistral.ts
deleted file mode 100644
index 4cbe4aeb..00000000
--- a/packages/web/src/prompts/mistral.ts
+++ /dev/null
@@ -1,281 +0,0 @@
-import {
- ChatParams,
- EditorialParams,
- GenerateTextParams,
- Prompter,
- PromptList,
- RagParams,
- SetTitleParams,
- SummarizeParams,
- TranslateParams,
- VideoAnalyzerParams,
- WebContentParams,
-} from './index';
-
-const systemContexts: { [key: string]: string } = {
- '/chat': 'あなたはチャットでユーザを支援する AI アシスタントです。',
- '/summarize': 'あなたは文章を要約する AI アシスタントです。',
- '/editorial':
- 'あなたは文章を校正する AI アシスタントで適切に修正すべき箇所を指摘します。',
- '/generate': 'あなたは指示に従って文章を作成するライターです。',
- '/translate': 'あなたは文章を翻訳する AI アシスタントです。',
- '/web-content':
- 'あなたは HTML からメインのコンテンツだけを抽出する仕事に従事してます。',
- '/rag': 'あなたは',
- '/image': `あなたはStable Diffusion のプロンプトを生成するAIアシスタントです。
-これからテキストを与えます。### ステップ の手順で StableDiffusion のプロンプトを生成してください。
-
-### ステップ
-* ### ルール を理解してください。ルールは必ず守ってください。例外はありません。
-* ユーザは生成して欲しい画像の要件をテキストで指示します。与えられたテキストを全て理解してください。
-* チャットのやり取りから、生成して欲しい画像の特徴を正しく認識してください。
-* 画像生成において重要な要素をから順にプロンプトに出力してください。ルールで指定された文言以外は一切出力してはいけません。例外はありません。
-
-
-### ルール
-* 出力は必ず ### output で指定する prompt キー、 negativePrompt キー, comment キー, recommendedStylePreset キーを包有した JSON 文字列だけで終えてください。それ以外の情報を出力してはいけません。もちろん挨拶や説明を前後に入れてはいけません。マークダウンのシンタックスハイライトもしてはいけません。例外はありません。
-* 出力するプロンプトがない場合は、promptとnegativePromptを空文字にして、commentにその理由を記載してください。
-* プロンプトは単語単位で、カンマ区切りで出力してください。長文で出力しないでください。プロンプトは必ず英語で出力してください。
-* プロンプトには以下の要素を含めてください。
- * 画像のクオリティ、被写体の情報、衣装・ヘアスタイル・表情・アクセサリーなどの情報、画風に関する情報、背景に関する情報、構図に関する情報、ライティングやフィルタに関する情報
-* 画像に含めたくない要素については、negativePromptとして出力してください。なお、negativePromptは必ず出力してください。
-* フィルタリング対象になる不適切な要素は出力しないでください。
-* comment は ### comment-rules の通りに出力してください。
-* recommendedStylePreset は ### recommended-style-preset-rules の通りに出力してください。
-
-### comment-rules
-* 必ず「画像を生成しました。続けて会話することで、画像を理想に近づけていくことができます。以下が改善案です。」という文言を先頭に記載してください。
-* 箇条書きで3つ画像の改善案を提案してください。ただし改行は \n を使ってしてください。
-* 改行は必ず\\nを出力してください。
-
-
-### recommended-style-preset-rules
-* 生成した画像と相性の良いと思われるStylePresetを3つ提案してください。必ず配列で設定してください。
-* StylePresetは、以下の種類があります。必ず以下のものを提案してください。
- * 3d-model,analog-film,anime,cinematic,comic-book,digital-art,enhance,fantasy-art,isometric,line-art,low-poly,modeling-compound,neon-punk,origami,photographic,pixel-art,tile-texture
-
-
-### output
-
-
-例えば、「草原を走る犬」というテキストを与えられた場合は ### output-example のような出力が正しいです。
-
-### output-example
-{
- "prompt": "dog, running, grassy field, meadow, outdoors, nature, dynamic, energetic",
- "negativePrompt": "blurry, low quality, distorted, ugly, deformed, mutated, extra limbs, extra digits, missing limbs, missing digits, extra eyes, extra mouths, unnatural proportions, unnatural anatomy, unnatural features, unnatural colors, text, logo, watermark, signature",
- "comment": "画像を生成しました。続けて会話することで、画像を理想に近づけていくことができます。以下が改善案です。\\n\\n1. 犬の動きがより自然に見えるように、ブレを抑えた動きの表現を加える\\n2. 草原の質感をより自然に見せるため、質感や色合いの調整\n3. 犬の表情をより生き生きとした表情に変更する",
- "recommendedStylePreset": ["photographic", "cinematic", "fantasy-art"]
- }
-
-[/INST]わかりました。マークダウンの出力やシンタックスハイライトもせずに
-だけを出力します。また negative prompt も必ず出力します。[INST]
-`,
- '/video': `dummy`,
-};
-
-export const mistralPrompter: Prompter = {
- systemContext(pathname: string): string {
- if (pathname.startsWith('/chat/')) {
- return systemContexts['/chat'];
- }
- return systemContexts[pathname] || systemContexts['/chat'];
- },
- chatPrompt(params: ChatParams): string {
- return params.content;
- },
- summarizePrompt(params: SummarizeParams): string {
- return `これから文章を与えるので${!params.context ? '' : `「${params.context}」という指示に従って`}要約してください。それ以外の文言は一切出力してはいけません。例外はありません。出力は要約結果だけを のように xml タグで囲って出力してください。それ以外の文章は一切出力してはいけません。例外はありません。[/INST]わかりました。[INST]${params.sentence}`;
- },
- editorialPrompt(params: EditorialParams): string {
- return `これから文章を与えるので、${params.context ? '' : `「${params.context}」という指示に従って`}文章について問題がある部分だけを日本語で指摘してください。
-ただし、出力は で出力し、指摘事項がない場合は空配列を出力してください。出力は