Skip to content
This repository has been archived by the owner on Jan 29, 2025. It is now read-only.

Commit

Permalink
Merge pull request #204 from entelecheia/main
Browse files Browse the repository at this point in the history
  • Loading branch information
entelecheia authored Nov 26, 2024
2 parents f7d4db3 + 6b0c883 commit 5990548
Show file tree
Hide file tree
Showing 14 changed files with 548 additions and 29 deletions.
54 changes: 54 additions & 0 deletions book/en/week12/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
# Week 12: Controlling and Structuring LLM Outputs

## Overview

Week 12 focuses on techniques and strategies for controlling and structuring outputs from Large Language Models (LLMs). We'll explore methods to ensure consistent, reliable, and well-formatted responses from LLMs, making them more suitable for practical applications.

## Learning Objectives

- Understand different techniques for output structuring in LLMs
- Learn how to implement prompt engineering for controlled outputs
- Master methods for formatting and validating LLM responses
- Explore JSON, XML, and other structured output formats
- Develop strategies for handling and parsing LLM outputs in applications

## Key Topics

1. Output Structuring Techniques
- Template-based outputs
- JSON and XML formatting
- Markdown and other markup languages
2. Control Mechanisms
- Temperature and sampling parameters
- Stop sequences and length constraints
- Format enforcement strategies
3. Validation and Error Handling
- Output validation techniques
- Error detection and correction
- Fallback mechanisms

## Practical Component

Students will work on implementing various output control mechanisms:

- Design prompts for structured outputs
- Create validation systems for LLM responses
- Build parsers for different output formats
- Implement error handling for malformed outputs

## Assignment

Create a system that:

1. Implements at least three different output structuring methods
2. Includes validation for each output format
3. Handles errors gracefully
4. Demonstrates practical use cases for structured outputs

## Looking Ahead

Next week will focus on the final project presentations and course wrap-up, where we'll apply all the concepts learned throughout the course.

```{tableofcontents}
```
1 change: 1 addition & 0 deletions book/en/week12/session1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Week 12 Session 1
1 change: 1 addition & 0 deletions book/en/week12/session2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Week 12 Session 2
1 change: 1 addition & 0 deletions book/en/week12/session3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Week 12 Session 3
6 changes: 6 additions & 0 deletions book/ko/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,11 @@ parts:
- file: projects/team3/research-note5w
- file: projects/team3/research-note6w
- file: projects/team3/research-note7w
- file: projects/team3/research-note8w
- file: projects/team3/research-note9w
- file: projects/team3/research-note10w
- file: projects/team3/research-note11w
- file: projects/team3/research-note12w
- file: projects/team4/index
sections:
- file: projects/team4/proposal
Expand Down Expand Up @@ -116,6 +121,7 @@ parts:
- file: projects/team5/research-note-8
- file: projects/team5/research-note-9
- file: projects/team5/research-note-10
- file: projects/team5/research-note-11
- caption: About
chapters:
- file: syllabus/index
Expand Down
49 changes: 25 additions & 24 deletions book/ko/projects/team1/proposal.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,43 +2,44 @@

## 1. 프로젝트 개요

- **프로젝트명:** 프로젝트지원시스템(DPS) 개발
- **팀명:** MakeMZ
- **프로젝트명:** 유튜브 기반 아이디어 생성 개발
- **팀명:** VIBE
- **팀원:** 문재현, 장나겸, 김태호, 고다희, 김도현

## 2. 프로젝트 배경 및 목적

- **프로젝트 주제 선정 배경:** 학생들이 다양한 주제와 과목에 대한 과제와 프로젝트를 수행할 때 자주 어려움을 겪는다는 점에서 프로젝트가 시작되었습니다. 과제 자료를 찾는 데 시간이 오래 걸리고, 효율적인 피드백을 받을 기회가 부족하다는 문제가 존재합니다.
- **해결하고자 하는 문제 또는 목표:** AI 기반 NLP 기술을 활용해 학생들이 학습 자료를 쉽게 찾고, 개인화된 학습 피드백을 받을 수 있는 시스템을 개발하여 과제 작성 및 학습 효율성을 극대화하는 것이 목표입니다.
- **프로젝트 주제 선정 배경:** 유튜브의 방대한 데이터와 빠르게 변화하는 트렌드를 활용해 다양한 분야에서 창의적인 아이디어를 도출할 수 있도록 돕고, 효율성을 증대 시키기 위해 주제를 선정했습니다.
- **해결하고자 하는 문제 또는 목표:** 빠르게 변화하는 유튜브 트렌드를 실시간으로 대신 분석하여 생산성과 효율성을 증대시키고, 최신 트렌드 기반으로 다양한 분야에서 창의적인 아이디어를 도출할 수 있는 자동화된 시스템을 제공하는 것이 목표입니다.

## 3. 프로젝트 내용

### 3.1 주요 기능 및 특징

- **핵심 기능 설명:**
1. 학생들이 과제 및 프로젝트 주제에 맞는 학습 자료와 아이디어를 제공하는 기능
2. 주차별 보고서를 자동으로 생성하여 이메일로 전송하는 기능
3. 코드를 실행하고 실시간으로 피드백을 제공하는 기능
- **차별화된 특징:** LLM API를 활용해 더 깊이 있는 아이디어 제시와 실시간 피드백 기능을 제공하며, 학생들의 학습 과정을 개인화하여 효율적인 학습을 지원하는 혁신적인 접근 방식을 채택하였습니다.
1. 사용자 키워드 기반으로 아이디어 생성
2. 유튜브 검색 기반 아이디어 생성
3. 분석가와 실무자의 대화를 통한 혁신적인 아이디어 도출
4. 실시간 구글 트렌드 시각화
- **차별화된 특징:** 유튜브 실시간 트렌드 데이터 기반으로 단순히 데이터를 분석하는 것이 아닌 현재 대중의 관심사를 반영하고, 맞춤으로 개인화된 창의적인 아이디어를 자동 생성해주는 것이 차별화되었습니다.

### 3.2 사용 기술

- **활용할 NLP 기술:** 텍스트 전처리, 문서 생성, 요약 및 자연어 이해를 위한 트랜스포머 기반 모델
- **사용할 언어모델 API:** GPT-4, BERT
- **웹 애플리케이션 개발 프레임워크:** Django(백엔드), React(프론트엔드), MySQL(데이터베이스)
- **활용할 NLP 기술:** 텍스트 전처리, 키워드 추출, 트렌드 분석 알고리즘, 요약 및 자연어 이해를 위한 트랜스포머 기반 모델, openAI-whisper, Yt-dlp
- **사용할 언어모델 API:** openAi api
- **웹 애플리케이션 개발 프레임워크:** streamlit

### 3.3 데이터셋

- **사용할 데이터셋:** 학습 자료는 인터넷에서 공개된 자료를 크롤링하고, 과제 주제에 맞는 데이터를 선별하여 사용합니다.
- **데이터 수집 및 전처리 방법:** 자연어 데이터 전처리 과정을 통해 중복되거나 불필요한 정보를 제거하고, 학습에 적합한 데이터셋을 구축합니다.
- **사용할 데이터셋:** 유튜브 인기 동영상 메타데이터 및 트렌드 데이터, 댓글 데이터, 대화 데이
- **데이터 수집 및 전처리 방법:** 유튜브 기반 아이디어 생성 시스템을 위해 Yt-dlp와 웹 스크래핑을 통해 동영상 메타데이터를 수집하고, 분석가와 실무자가 서로 대화하며 피드백합니다. 수집된 데이터는 결측치 처리, 정규화, 인코딩 등의 전처리 과정을 거쳐 통합되며, Python의 pandas와 scikit-learn을 활용하여 전처리를 자동화하고 결과를 검증합니다.

## 4. 개발 계획

### 4.1 개발 단계별 세부 계획

1. **기획 단계 (1-3주차):** 요구사항 분석, 핵심 기능 선정, 기술 스택 결정
2. **개발 단계 (4-12주차):** 프론트엔드 및 백엔드 개발, 데이터베이스 구축, API 연동
3. **테스트 및 개선 단계 (13-14주차):** 기능 및 성능 테스트, 버그 수정
1. **기획 단계 (1-3주차):** 요구사항 분석, 시스템 설계, 기술 스택 결정
2. **개발 단계 (4-12주차):** 프론트엔드 및 백엔드 개발, 데이터베이스 구축, API 연동, 유튜브 데이터 수집 및 분석 모듈 개발, 아이디어 생성 알고리즘 구현, 대화형 인터페이스 구현
3. **테스트 및 개선 단계 (13-14주차):** 기능 및 성능 테스트, 버그 수정, 시스템 통합
4. **최종 발표 준비 (15주차):** 발표 자료 준비 및 시연

### 4.2 역할 분담
Expand All @@ -51,23 +52,23 @@

## 5. 예상 결과물

- **주요 기능 및 특징:** 학생들을 위한 개인화된 과제 작성 및 피드백 시스템
- **사용자 인터페이스 초안 또는 목업:** 간단하고 직관적인 사용자 인터페이스로, 학습 자료 검색 및 과제 생성, 보고서 전송 기능을 쉽게 사용할 수 있도록 설계
- **기대되는 성과 및 영향:** 과제 작성 및 학습 과정의 효율성 향상, 개인화된 학습 경험 제공
- **주요 기능 및 특징:** 유튜브 트렌드를 분석하여 맞춤형 콘텐츠 아이디어를 생성하고, 분석가와 실무자가 대화형 피드백을 통해 아이디어를 개선하는 시스템을 제공합니다.
- **사용자 인터페이스 초안 또는 목업:** 직관적이고 사용자 친화적인 인터페이스로, 유튜브 데이터 분석, 아이디어 생성, 대화형 피드백 기능을 쉽게 사용할 수 있도록 설계합니다.
- **기대되는 성과 및 영향:** 다양한 분야에서 아이디어 개발 효율성을 향상시키고, 창의적인 아이디어 도출로 혁신적인 솔루션을 제공하여 개인의 성장과 문제 해결에 기여할 수 있습니다.

## 6. 평가 계획

- **프로젝트 성공 기준:** 시스템이 사용자가 입력한 과제 주제에 맞는 학습 자료 제공, 코드 실행 및 피드백 기능이 원활히 작동하는지 평가
- **성능 평가 지표 및 방법:** 자연어 처리 모델의 정확도, 학습 자료 제공의 적절성, 시스템의 응답 시간
- **프로젝트 성공 기준:** 시스템이 유튜브 트렌드에 기반한 유용한 아이디어를 생성하고, 대화형 피드백을 통해 아이디어를 효과적으로 개선할 수 있는지 평가합니다.
- **성능 평가 지표 및 방법:** 키워드 기반으로 아이디어 생성의 정확도, 피드백 시스템의 사용 편의성, 시스템의 응답 시간, 사용자 만족도 등을 통해 성능을 평가합니다.

## 7. 향후 발전 가능성

- **확장 가능성:** 다양한 학과의 과제 유형에 맞게 모델을 확장하거나, 여러 언어를 지원하는 기능 추가
- **실제 적용 분야 및 상용화 가능성:** 학교, 교육 기관에서 학생들의 학습 지원 도구로 상용화 가능
- **확장 가능성:** 다양한 소셜 미디어 플랫폼으로 확장하여 더 많은 데이터를 분석합니다.
- **실제 적용 분야 및 상용화 가능성:** 콘텐츠 마케팅 에이전시와 협업하여 상용화 가능하며, 교육 및 기업 내 협업 도구로도 활용 가능합니다.

## 8. 참고문헌 및 리소스

- **관련 연구:** NLP 기반 학습 지원 시스템에 대한 기존 연구 및 사례
- **관련 연구:** 유튜브 데이터 분석 및 NLP기반 대화 시스템 관련 연구 논문 및 사
- **오픈소스 라이브러리:** Huggingface Transformers, OpenAI API, Django, React

## 9. 첨부자료
Expand Down
75 changes: 75 additions & 0 deletions book/ko/projects/team3/research-note10w.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# 10주차 프로젝트 연구일지

## 기본 정보

- **팀명**: Nice
- **프로젝트명**: 카페/블로그 게시글 자동 생성 시스템
- **주차**: 10주차

## 팀 구성원 활동 요약

| 이름 | 역할 | 주요 활동 | 다음 주 계획 |
| ------- | ------ | ------------------------ | ------------------------ |
| 이규범 | 팀장, NLP 모델 및 시스템 설계 | • TikTok, Instagram과 Naver 맞춤형 블로그 생성 방식 개선 <br> • 데이터 기반 모델 성능 최적화 <br> 분석 모델 성능 검증 및 최적화 | • TikTok, Naver, Instagram 플랫폼에서 자동 생성 기능 테스트 <br> • 웹사이트 개발 시작 <br> 성능 최적화 모델 적용 |
| 홍윤재 | 데이터 처리 및 모델 구현 | •수집한 데이터 추가 정제 | • 블로그 자동 생성 기능 검증 및 분석 <br> • 간단한 웹사이트 개발 및 테스트 지원 |
| 김형훈| 백엔드 개발 및 시스템 아키텍처 | • 데이터 저장 및 관리 시스템 구축 | • 없음 |
| 주석훈 | 시스템 통합 테스트 및 성능 최적화 | • 없음 | • 없음 |
| 고승범 | 기술 연구 및 논문 분석 | • 없음 | • 없음 |

## 주간 목표 달성도

| 목표 | 상태 | 비고 |
| ------- | ------------------ | ----------- |
| TikTok, Instagram과 Naver 맞춤형 생성 방식 개선 | 완료 | 플랫폼에 맞춤형 생성 기능 적용 |
| 성능 최적화 모델 적용 | 진행중 | [추가 설명] |
| [목표3] | [완료/진행중/지연] | 일부 기능 추가 조정 필요 |

## 주요 성과 및 결과물

1. TikTok, Instagram과 Naver 맞춤형 블로그 생성 기능 구현 완료
2. 데이터 기반 성능 최적화 모델 테스트


## 기술적 도전 및 해결 방안

1. **도전 과제**: 다양한 플랫폼 요구사항에 맞춘 데이터 최적화
- 해결 방안: 각 플랫폼에 맞는 데이터 필터링 및 포맷 조정 수행
2. **도전 과제**: 성능 최적화 과정에서의 데이터 처리 지연
- 해결 방안: 데이터 처리 방식 개선 및 알고리즘 최적화 진행

## 학습 내용

1. 플랫폼별 맞춤형 블로그 생성 방식
- 주요 내용: 플랫폼의 스타일에 맞춘 자동 생성 기술 이해 및 구현
- 적용 방안: 향후 추가 플랫폼 적용 시 유용하게 활용 가능
2. 데이터 최적화 모델 학습
- 주요 내용: 데이터의 빠른 처리와 최적화 방법 학습
- 적용 방안: 성능 개선에 활용

## 다음 주 계획

1. TikTok, Instagram과 Naver 플랫폼에서 블로그 자동 생성 기능 테스트
2. 간단한 웹사이트 개발을 통한 생성 기능 시험
3. 모델 성능 추가 최적화 및 효율성 검증

## 기타 특이사항

- TikTok,Instagram과 Naver의 맞춤형 기능을 적용하기 위한 추가 데이터 확보 필요


## 팀 미팅 요약

- **일시**: 2024-11-06 14:00
- **참석자**: 이규범, 홍윤재, 김형훈
- **주요 논의 사항**:
1. TikTok, Instagram과 Naver 맞춤형 블로그 생성 방식의 개선 사항 검토
2. 웹사이트 개발과 자동 생성 기능 테스트 일정 조정

- **결정 사항**:
1.간단한 웹사이트 개발을 통해 자동 생성 기능 테스트 진행
2. 다음 주부터 TikTok 및 Naver 플랫폼에서 성능 검증

---

작성일: 2024-11-06
작성자: 이규범
72 changes: 72 additions & 0 deletions book/ko/projects/team3/research-note11w.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
# 11주차 프로젝트 연구일지

## 기본 정보

- **팀명**:Nice
- **프로젝트명**: 카페/블로그 게시글 자동 생성 시스템
- **주차**: 11주차

## 팀 구성원 활동 요약

| 이름 | 역할 | 주요 활동 | 다음 주 계획 |
| ------- | ------ | ------------------------ | ------------------------ |
| 이규범 | 팀장, NLP 모델 및 시스템 설계 | • TikTok, Instagram과 Naver에서 자동 생성 기능 테스트 <br> • 테스트 결과 분석 및 피드백 정리 | • 인터페이스 개선 및 피드백 적용 <br> •모델 성능 개선 및 Word 파일 저장 기능 프로토타입 개발 |
| 홍윤재 | 데이터 처리 및 모델 구현 | • 데이터 기반 자동 생성 성능 검증 | • 웹사이트 기능 확장 |
| 김형훈 | 백엔드 개발 및 시스템 아키텍처 | • Word 파일 저장 기능 구현 | • 없음 |
| 주석훈 | 시스템 통합 테스트 및 성능 최적화 | • 없음 | • 없음 |
|고승범 | 기술 연구 및 논문 분석 | • 없음 | • 없음 |

## 주간 목표 달성도

| 목표 | 상태 | 비고 |
| ------- | ------------------ | ----------- |
| TikTok, Instagram과 Naver 맞춤형 생성 방식 개선 | 완료 | 플랫폼에 맞춤형 생성 기능 적용 |
| 성능 최적화 모델 적용 | 진행중 | [추가 설명] |
| [목표3] | [완료/진행중/지연] | 일부 기능 추가 조정 필요 |

## 주요 성과 및 결과물

1. TikTok, Instagram과 Naver 맞춤형 블로그 생성 기능 구현 완료

## 기술적 도전 및 해결 방안

1. **도전 과제**: 다양한 플랫폼 요구사항에 맞춘 데이터 최적화
- 해결 방안: 블로그에 대한 데이터 필터링 및 포맷 조정 실행
2. **도전 2**: 성능 최적화 과정에서의 데이터 처리 지연
- 해결 방안: 데이터 처리 방식 개선

## 학습 내용

1. 사용자 지정 블로그 작성 방법:
- 주요 내용: 플랫폼의 스타일에 맞춘 자동 생성 기술 이해 및 구현
- 적용 방안: 블로그에 글을 만들기 위해 데이터를 적용할 때 유용함
2. 데이터 최적화 모델 학습
- 주요 내용: 다양한 플랫폼을 위한 블로그를 만들기 위한 데이터 최적화
- 적용 방안: 데이터 표준화와 데이터 처리

## 다음 주 계획

1. 웹사이트에서 블로그 자동 생성 기능 테스트
2. 모델 성능 추가 최적화 및 효율성 검증

## 기타 특이사항

- TikTok, Instagram과 Naver의 맞춤형 기능을 적용하기 위한 추가 데이터 확보 필요


## 팀 미팅 요약

- **일시**: 일시: 2024-11-06 14:00
- **참석자**: 이규범, 홍윤재, 김형훈
- **주요 논의 사항**:
1. TikTok, Instagram과 Naver 맞춤형 블로그 생성 방식의 개선 사항 검토
2. 웹사이트 개발과 자동 생성 기능 테스트 일정 조정

- **결정 사항**:
1.생성 사이트 개발을 통해 블로그 자동 생성 기능 확인
2. 다음 주부터 TikTok,Instagramh과 Naver 플랫폼에서 성능 검증

---

작성일: 2024-11-06 14:00
작성자: 이규범
Loading

0 comments on commit 5990548

Please sign in to comment.