Skip to content

Commit 7b2286b

Browse files
icoxfog417claude
andauthored
Feature : Add Taking Meeting Minutes Use Case (#1127)
Co-authored-by: Claude <[email protected]>
1 parent f94303f commit 7b2286b

File tree

22 files changed

+1134
-0
lines changed

22 files changed

+1134
-0
lines changed

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ GenU provides a variety of standard use cases leveraging generative AI. These us
4949
<td>Summarization</td>
5050
<td>LLMs are good at summarizing large amounts of text. Beyond simple summarization, they can also extract necessary information in a conversational format after being given text as context. For example, after reading a contract, you can ask questions like "What are the conditions for XXX?" or "What is the amount for YYY?"</td>
5151
</tr>
52+
<tr>
53+
<td>Meeting Minutes</td>
54+
<td>Automatically generate meeting minutes from audio recordings or real-time transcription. Choose from Transcription, News Paper, or FAQ style with zero prompt engineering required.
55+
</td>
56+
</tr>
5257
<tr>
5358
<td>Writing</td>
5459
<td>LLMs can suggest improvements from a more objective perspective, considering not only typos but also the flow and content of the text. You can expect to improve quality by having the LLM objectively check points you might have missed before showing your work to others.</td>

README_ja.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,10 @@ GenU は生成 AI を活用した多様なユースケースを標準で提供
7575
<td>ダイアグラム生成</td>
7676
<td>ダイアグラム生成は、あらゆるトピックに関する文章や内容を最適な図を用いて視覚化します。 テキストベースで簡単に図を生成でき、プログラマーやデザイナーでなくても効率的にフローチャートなどの図を作成できます。</td>
7777
</tr>
78+
<tr>
79+
<td>議事録生成</td>
80+
<td>音声録音またはリアルタイム文字起こしから議事録を自動生成します。プロンプトを書く必要はなく、原文に近い文字起こし、新聞記事、FAQ形式から選択できます。</td>
81+
</tr>
7882
<tr>
7983
<td>音声チャット</td>
8084
<td>音声チャットでは生成 AI と双方向の音声によるチャットが可能です。自然な会話と同様、AI の発言中に割り込んで話すこともできます。また、システムプロンプトを設定することで、特定の役割を持った AI と音声で会話することもできます。</td>
Loading

docs/en/DEPLOY_OPTION.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -798,6 +798,7 @@ const envs: Record<string, Partial<StackInput>> = {
798798
video: true, // Hide video generation
799799
videoAnalyzer: true, // Hide video analysis
800800
diagram: true, // Hide diagram generation
801+
meetingMinutes: true, // Hide meeting minutes generation
801802
voiceChat: true, // Hide voice chat
802803
},
803804
},
@@ -820,6 +821,7 @@ const envs: Record<string, Partial<StackInput>> = {
820821
"video": true,
821822
"videoAnalyzer": true,
822823
"diagram": true,
824+
"meetingMinutes": true,
823825
"voiceChat": true
824826
}
825827
}

docs/ja/DEPLOY_OPTION.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -813,6 +813,7 @@ const envs: Record<string, Partial<StackInput>> = {
813813
video: true, // 動画生成を非表示
814814
videoAnalyzer: true, // 映像分析を非表示
815815
diagram: true, // ダイアグラム生成を非表示
816+
meetingMinutes: true, // 議事録生成を非表示
816817
voiceChat: true, // 音声チャットを非表示
817818
},
818819
},
@@ -835,6 +836,7 @@ const envs: Record<string, Partial<StackInput>> = {
835836
"video": true,
836837
"videoAnalyzer": true,
837838
"diagram": true,
839+
"meetingMinutes": true,
838840
"voiceChat": true
839841
}
840842
}

docs/overrides/home_en.html

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,22 @@ <h3 class="mb-2 text-xl font-semibold">Summarize</h3>
235235
</p>
236236
</div>
237237
</div>
238+
<div class="swiper-slide">
239+
<div class="rounded-lg bg-white p-6 shadow-lg">
240+
<img
241+
src="../assets/images/usecase_generate_meeting_minutes.gif"
242+
alt="Meeting Minutes Generation"
243+
class="mb-4 w-full rounded-lg" />
244+
<h3 class="mb-2 text-xl font-semibold">
245+
Meeting Minutes Generation
246+
</h3>
247+
<p class="text-sm text-gray-600">
248+
Automatically generate meeting minutes from audio recordings or
249+
real-time transcription. Choose from Transcription, News Paper, or
250+
FAQ style with zero prompt engineering required.
251+
</p>
252+
</div>
253+
</div>
238254
<div class="swiper-slide">
239255
<div class="rounded-lg bg-white p-6 shadow-lg">
240256
<img

docs/overrides/home_ja.html

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,19 @@ <h3 class="mb-2 text-xl font-semibold">要約</h3>
223223
</p>
224224
</div>
225225
</div>
226+
<div class="swiper-slide">
227+
<div class="rounded-lg bg-white p-6 shadow-lg">
228+
<img
229+
src="../assets/images/usecase_generate_meeting_minutes.gif"
230+
alt="Meeting Minutes Generation"
231+
class="mb-4 w-full rounded-lg" />
232+
<h3 class="mb-2 text-xl font-semibold">議事録生成</h3>
233+
<p class="text-sm text-gray-600">
234+
音声録音またはリアルタイム文字起こしから議事録を自動生成します。
235+
プロンプトエンジニアリング不要で、文字起こし、新聞記事、FAQ形式から選択できます。
236+
</p>
237+
</div>
238+
</div>
226239
<div class="swiper-slide">
227240
<div class="rounded-lg bg-white p-6 shadow-lg">
228241
<img

packages/cdk/lambda/utils/models.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -243,6 +243,14 @@ const USECASE_DEFAULT_PARAMS: UsecaseConverseInferenceParams = {
243243
},
244244
},
245245
},
246+
'/meeting-minutes': {
247+
promptCachingConfig: {
248+
autoCacheFields: {
249+
system: true,
250+
messages: true,
251+
},
252+
},
253+
},
246254
'/use-case-builder': {
247255
promptCachingConfig: {
248256
autoCacheFields: {

packages/cdk/lib/stack-input.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ export const stackInputSchema = z.object({
2525
video: z.boolean().optional(),
2626
videoAnalyzer: z.boolean().optional(),
2727
diagram: z.boolean().optional(),
28+
meetingMinutes: z.boolean().optional(),
2829
voiceChat: z.boolean().optional(),
2930
})
3031
.default({}),

packages/types/src/useCases.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export type HiddenUseCases = {
88
video?: boolean;
99
videoAnalyzer?: boolean;
1010
diagram?: boolean;
11+
meetingMinutes?: boolean;
1112
voiceChat?: boolean;
1213
};
1314

packages/web/public/locales/prompts/ja.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -702,6 +702,9 @@ claude:
702702
XXXは邪馬台国記念病院の心臓専門医です。連絡先は XXXまたは XXX です。 </output> </example> 個人情報を XXX
703703
に置き換えたテキストを <output>からはじめ、</output> タグで終えて出力してください。
704704
title: 個人情報削除
705+
translation:
706+
meetingMinutes:
707+
custom_prompt_required: 議事録作成用のプロンプトを入力してください
705708
useCaseBuilder:
706709
classification:
707710
mailClassification:

packages/web/public/locales/translation/en.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -561,6 +561,11 @@ landing:
561561
description: >-
562562
MCP Chat is a chat function that seamlessly integrates Bedrock's LLM models with external data and external tools through the Model Context Protocol (MCP). You can freely add tools by editing the mcp.json file. Leveraging Strands Agents as an MCP agent.
563563
title: MCP Chat
564+
meeting-minutes:
565+
description: >-
566+
Automatically generate meeting minutes from audio recordings or real-time transcription.
567+
No need to write prompts - choose from near-original transcription, newspaper style, or FAQ format.
568+
title: Meeting Minutes Generation
564569
rag_chat:
565570
description_kb: >-
566571
RAG (Retrieval Augmented Generation) is a method that combines
@@ -646,6 +651,33 @@ language:
646651
mcp_chat:
647652
loading_message: Connecting to MCP server. This may take some time. Please wait...
648653
title: MCP Chat
654+
meetingMinutes:
655+
auto_generate: Auto Generate
656+
custom_prompt: Custom Prompt
657+
custom_prompt_placeholder: Enter your custom prompt for generating meeting minutes...
658+
frequency: Generation Frequency
659+
frequency_10min: Every 10 minutes
660+
frequency_1min: Every 1 minute
661+
frequency_5min: Every 5 minutes
662+
generate: Generate
663+
generate_minutes_header: Generate Minutes
664+
generated_minutes: Generated Minutes
665+
generating: Generating minutes...
666+
generation_error: Failed to generate meeting minutes. Please try again.
667+
generation_success: Meeting minutes generated successfully
668+
last_generated: Last generated {{time}}
669+
minutes_placeholder: Minutes will appear here after generation
670+
model: Model
671+
next_generation_in: 'Next generation in : '
672+
record_transcribe: Record & Transcribe
673+
speech_recognition: Speech Recognition
674+
style: Minutes Style
675+
style_custom: Custom
676+
style_faq: FAQ
677+
style_newspaper: Newspaper
678+
style_transcription: Transcription
679+
title: Meeting Minutes Generator
680+
transcript: Transcript
649681
model:
650682
parameters:
651683
reasoning: Reasoning
@@ -657,6 +689,7 @@ navigation:
657689
flowChat: Flow Chat
658690
home: Home
659691
imageGeneration: Image Generation
692+
meetingMinutes: Meeting Minutes
660693
promptOptimization: Prompt Optimization
661694
ragChat: RAG Chat
662695
settings: Settings

packages/web/public/locales/translation/ja.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -440,6 +440,11 @@ landing:
440440
description: >-
441441
MCP チャットは Model Context Protocol (MCP) を通じて、Bedrock の LLM モデルと外部データや外部ツールをシームレスに連携させるチャット機能です。mcp.json を編集することで、自由にツールを追加できます。MCP のエージェントとして Strands Agents を活用しています。
442442
title: MCP チャット
443+
meeting-minutes:
444+
description: >-
445+
音声録音またはリアルタイム文字起こしから議事録を自動生成します。
446+
プロンプトを書く必要はなく、原文に近い文字起こし、新聞記事、FAQ形式から選択できます。
447+
title: 議事録生成
443448
rag_chat:
444449
description_kb: >-
445450
RAG (Retrieval Augmented Generation) は、情報の検索と LLM
@@ -507,6 +512,33 @@ language:
507512
mcp_chat:
508513
loading_message: MCP サーバーと接続しています。時間がかかる場合があります。そのまま待機してください...
509514
title: MCP チャット
515+
meetingMinutes:
516+
auto_generate: 自動生成
517+
custom_prompt: カスタムプロンプト
518+
custom_prompt_placeholder: 議事録生成用のカスタムプロンプトを入力してください...
519+
frequency: 生成頻度
520+
frequency_10min: 10分ごと
521+
frequency_1min: 1分ごと
522+
frequency_5min: 5分ごと
523+
generate: 生成
524+
generate_minutes_header: 議事録生成
525+
generated_minutes: 生成された議事録
526+
generating: 議事録生成中...
527+
generation_error: 議事録の生成に失敗しました。再試行してください。
528+
generation_success: 議事録が正常に生成されました
529+
last_generated: 最後の生成時刻 {{time}}
530+
minutes_placeholder: 生成後にここに議事録が表示されます
531+
model: モデル
532+
next_generation_in: '次回生成まで : '
533+
record_transcribe: 音声認識
534+
speech_recognition: 音声認識
535+
style: 議事録スタイル
536+
style_custom: カスタム
537+
style_faq: 質疑応答
538+
style_newspaper: 新聞
539+
style_transcription: 文字起こし
540+
title: 議事録生成
541+
transcript: 文字起こし
510542
model:
511543
parameters:
512544
reasoning: Reasoning
@@ -518,6 +550,7 @@ navigation:
518550
flowChat: Flow チャット
519551
home: ホーム
520552
imageGeneration: 画像生成
553+
meetingMinutes: 議事録生成
521554
promptOptimization: プロンプト最適化
522555
ragChat: RAG チャット
523556
settings: 設定

packages/web/public/locales/translation/th.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -487,6 +487,11 @@ landing:
487487
description: >-
488488
AI สร้างภาพสามารถสร้างภาพใหม่ตามข้อความหรือภาพ ช่วยให้สามารถแสดงแนวคิดได้ทันทีและคาดว่าจะช่วยปรับปรุงประสิทธิภาพในงานออกแบบ ในคุณสมบัตินี้ คุณสามารถรับความช่วยเหลือจาก LLM ในการสร้าง prompt
489489
title: การสร้างภาพ
490+
meeting-minutes:
491+
description: >-
492+
สร้างรายงานการประชุมโดยอัตโนมัติจากการบันทึกเสียงหรือการถอดความแบบเรียลไทม์
493+
ไม่จำเป็นต้องเขียน prompt สามารถเลือกจากรูปแบบการถอดความใกล้เคียงต้นฉบับ แบบหนังสือพิมพ์ หรือ FAQ
494+
title: การสร้างรายงานการประชุม
490495
rag_chat:
491496
description_kb: >-
492497
RAG (Retrieval Augmented Generation) เป็นวิธีที่รวมการค้นคืนข้อมูลและการสร้างข้อความ LLM ช่วยให้สามารถเข้าถึงข้อมูลได้อย่างมีประสิทธิภาพ
@@ -547,6 +552,33 @@ language:
547552
ko: ภาษาเกาหลี
548553
th: ภาษาไทย
549554
zh: ภาษาจีน
555+
meetingMinutes:
556+
auto_generate: สร้างอัตโนมัติ
557+
custom_prompt: พรอมต์แบบกำหนดเอง
558+
custom_prompt_placeholder: ป้อนพรอมต์แบบกำหนดเองสำหรับการสร้างรายงานการประชุม...
559+
frequency: ความถี่ในการสร้าง
560+
frequency_10min: ทุก 10 นาที
561+
frequency_1min: ทุกนาที
562+
frequency_5min: ทุก 5 นาที
563+
generate: สร้าง
564+
generate_minutes_header: สร้างรายงานการประชุม
565+
generated_minutes: รายงานการประชุมที่สร้างแล้ว
566+
generating: กำลังสร้างรายงานการประชุม...
567+
generation_error: ไม่สามารถสร้างรายงานการประชุมได้ กรุณาลองอีกครั้ง
568+
generation_success: สร้างรายงานการประชุมสำเร็จ
569+
last_generated: สร้างล่าสุดเมื่อ {{time}}
570+
minutes_placeholder: รายงานการประชุมจะปรากฏที่นี่หลังจากสร้าง
571+
model: โมเดล
572+
next_generation_in: 'สร้างครั้งถัดไปใน : '
573+
record_transcribe: บันทึกและถอดความ
574+
speech_recognition: การรู้จำเสียงพูด
575+
style: รูปแบบรายงานการประชุม
576+
style_custom: กำหนดเอง
577+
style_faq: คำถามที่พบบ่อย
578+
style_newspaper: หนังสือพิมพ์
579+
style_transcription: การถอดความ
580+
title: ตัวสร้างรายงานการประชุม
581+
transcript: บันทึกการถอดความ
550582
model:
551583
parameters:
552584
reasoning: การให้เหตุผล
@@ -558,6 +590,7 @@ navigation:
558590
flowChat: Flow Chat
559591
home: Home (หน้าหลัก)
560592
imageGeneration: การสร้างภาพ
593+
meetingMinutes: รายงานการประชุม
561594
promptOptimization: ปรับแต่ง Prompt ให้ตรงความต้องการ
562595
ragChat: RAG Chat
563596
settings: ตั้งค่า

packages/web/public/locales/translation/zh.yaml

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -385,6 +385,11 @@ landing:
385385
image:
386386
description: 图像生成AI可以基于文本或图像生成新图像。它可以立即可视化想法,有望提高设计工作等的效率。 在此功能中,您可以获得LLM的提示创建帮助。
387387
title: 图像生成
388+
meeting-minutes:
389+
description: >-
390+
从音频录制或实时转录自动生成会议记录。
391+
无需编写提示词,可从接近原文的转录、报纸风格或FAQ格式中选择。
392+
title: 会议记录生成
388393
rag_chat:
389394
description_kb: >-
390395
RAG(检索增强生成)是结合信息检索和LLM文本生成的方法,可实现有效的信息访问。 它使用Knowledge
@@ -437,6 +442,33 @@ language:
437442
ja: 日语
438443
ko: 韩语
439444
zh: 中文
445+
meetingMinutes:
446+
auto_generate: 自动生成
447+
custom_prompt: 自定义提示
448+
custom_prompt_placeholder: 输入用于生成会议纪要的自定义提示...
449+
frequency: 生成频率
450+
frequency_10min: 每10分钟
451+
frequency_1min: 每分钟
452+
frequency_5min: 每5分钟
453+
generate: 生成
454+
generate_minutes_header: 生成会议纪要
455+
generated_minutes: 已生成的会议纪要
456+
generating: 正在生成会议纪要...
457+
generation_error: 会议纪要生成失败。请重试。
458+
generation_success: 会议纪要生成成功
459+
last_generated: 最后生成时间 {{time}}
460+
minutes_placeholder: 生成后会议纪要将显示在这里
461+
model: 模型
462+
next_generation_in: '下次生成时间 :'
463+
record_transcribe: 录音和转录
464+
speech_recognition: 语音识别
465+
style: 会议纪要风格
466+
style_custom: 自定义
467+
style_faq: 常见问题
468+
style_newspaper: 新闻报道
469+
style_transcription: 转录
470+
title: 会议纪要生成器
471+
transcript: 转录文本
440472
model:
441473
parameters:
442474
reasoning: 推理
@@ -448,6 +480,7 @@ navigation:
448480
flowChat: Flow聊天
449481
home: 首页
450482
imageGeneration: 图像生成
483+
meetingMinutes: 会议纪要
451484
promptOptimization: 提示优化
452485
ragChat: RAG聊天
453486
settings: 设置

packages/web/src/App.tsx

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {
2121
PiMagicWand,
2222
PiMicrophoneBold,
2323
PiTreeStructure,
24+
PiNotebook,
2425
PiGraph,
2526
} from 'react-icons/pi';
2627
import { Outlet } from 'react-router-dom';
@@ -167,6 +168,14 @@ const App: React.FC = () => {
167168
display: 'usecase' as const,
168169
}
169170
: null,
171+
enabled('meetingMinutes')
172+
? {
173+
label: t('navigation.meetingMinutes'),
174+
to: '/meeting-minutes',
175+
icon: <PiNotebook />,
176+
display: 'usecase' as const,
177+
}
178+
: null,
170179
enabled('writer')
171180
? {
172181
label: t('navigation.writing'),

0 commit comments

Comments
 (0)