学部・大学院区分
Undergraduate / Graduate
大学院
時間割コード
Registration Code
8001311
科目区分
Course Category
大学院共通科目
Graduate School Common Courses
科目名 【日本語】
Course Title
生成AIアプリケーション開発入門
科目名 【英語】
Course Title
Introduction to Generative AI Application Development
使用言語
Language Used in the Course
日本語
担当教員 【日本語】
Instructor
岩田 直也 ○
担当教員 【英語】
Instructor
IWATA Naoya ○
単位数
Credits
2
開講期・開講時間帯
Term / Day / Period
秋 その他 その他
Fall Other Other


授業の目的 【日本語】
Goals of the Course [JPN]
本授業の目的は、大規模言語モデル(LLM)の高度化と普及が進む中で、APIを介した生成AI技術を自身の研究資料や専門分野に応用し、独自のアプリケーションを構築できるようになることである。特に、人文・社会科学の研究手法を革新する視点を重視しながらも、理工系や情報分野との学際的協働を視野に入れ、学内外および産業界との連携につなげる総合的なスキルと知識を習得することをめざす。
授業の目的 【英語】
Goals of the Course [ENG]
The purpose of this course is to enable students to leverage emerging generative AI techniques, supported by large language models (LLMs), in building customized applications using external APIs and their own research data. While highlighting the transformative potential for research methods in the humanities and social sciences, the course also encourages interdisciplinary collaboration with scientific and technological fields, ultimately aiming to foster comprehensive skills and knowledge that can be applied to both academic and industrial partnerships.
授業の達成目標 【日本語】
Objectives of the Course [JPN]
1. 大規模言語モデル(LLM)の仕組みと限界を理解し、学術的視点から評価できる。
2. 外部APIを活用して生成AIをアプリケーションに組み込み、独自機能を実装できる。
3. 研究・産業データの前処理・検索・推論を行うパイプラインを構築できる。
4. 完成したAIアプリを学内外へ公開し、評価・改良を継続する運用ノウハウを獲得する。
授業の達成目標 【英語】
Objectives of the Course [ENG]
1. Understand the mechanisms and limitations of large language models (LLMs) and critically evaluate their outputs from an academic perspective.
2. Implement original functionalities by integrating generative AI into applications using external APIs.
3. Construct data pipelines for preprocessing, searching, and inference using your own research or industry datasets.
4. Acquire practical know-how for publishing, evaluating, and continuously improving your AI applications in academic and public contexts.
授業の内容や構成
Course Content or Plan
授業日程:2月9, 10, 12, 13日

1. イントロダクション:生成AIとAPI活用の意義を概説し、授業の全体像と到達目標を確認する
2. Python基礎とOpenAI API入門:APIキー管理とともに、最小構成のテキスト生成を実装する
3. 研究データの取り込みと整形:PDFやCSVなど多様な形式のデータを読み込み、分析可能な形に変換する
4. プロンプトエンジニアリング入門:出力の精度を左右するプロンプト設計とその評価方法を学ぶ
5. RAG(検索拡張生成)の基本構造:ベクトル検索を用いて外部知識を取得し、LLMの回答精度を高める
6. LlamaIndex/LangChainによるチェーン構築:ドキュメントQAや要約などの処理を段階的に連結する
7. マルチモーダル処理の応用:画像や音声データを前処理し、LLMに適切に入力する方法を習得する
8. LLMの簡易ファインチューニング:独自コーパスを用いた小規模なモデル調整を実践する
9. UIフレームワーク入門①:GradioやStreamlitでWebアプリの基本的なインターフェースを構築する
10. UIフレームワーク入門②:アプリの機能性と操作性を高めるUIカスタマイズ技法を学ぶ
11. アプリのデプロイ方法:Hugging FaceやRenderなどのサービスを使ってアプリを外部公開する
12. ミニハッカソン:集中開発を行い、各自のアプリを実用レベルまで完成させる
13. プロジェクト設計の共有と審査:開発計画・対象データ・手法を発表し、相互にフィードバックする
14. 実装とドラフトリリース:最終データを投入し、実際に公開されたアプリとして動作を確認する
15. 最終発表会:完成したアプリを発表し、授業全体の成果を総括する
履修条件・関連する科目
Course Prerequisites and Related Courses
必須ではないが「初心者のためのPython超入門講座」を履修済もしくは同時に受講することが望ましい。
成績評価の方法と基準
Course Evaluation Method and Criteria
授業への参加度(出席・議論・演習への積極性など):30%
• 毎回の講義・演習への参加姿勢を評価し、質疑応答やディスカッションへの貢献度も加味する。
毎回の課題提出(平常点):40%
• 各回の演習コード提出、短いレポート等の課題を総合的に採点。
• 指定された期日やフォーマットを厳守することも評価対象とする。
最終発表会の内容:30%
• 開発したアプリケーションの完成度・独自性・研究内容との関連性を総合的に評価。
• プレゼンテーションの構成や説明のわかりやすさ、質疑応答への対応なども含む。
教科書
Textbook
適宜、授業内およびTACT上にて配布する。
参考書
Reference Book
適宜、授業内およびTACT上にて配布する。
課外学修等
Study Load (Self-directed Learning Outside Course Hours)
本授業では、毎回の講義内容を踏まえた課題(演習レポートやコード提出など)を、講義外の時間を活用して進めることが求められる。また、最終発表会に向けたプロジェクトの企画・実装・資料作成についても、授業外での継続的な作業が必要となる。
注意事項
Notice for Students
Pythonに関する基礎知識を有することが望ましいが、必須ではない。
本授業に関するWebページ
Reference website for this Course
担当教員からのメッセージ
Message from the Instructor
授業開講形態等
Lecture format, etc.
A-1)対面授業科目(対面のみ)