개발 일지

Steamlit, faiss
업로드한 파일 목록 보기와 파일 뷰어는 있어야 할 듯. faiss에 잘 저장했는지 파일 전처리. 글자 읽어오기, 안되면 ocr하기 ... open ai 응답 잘 받아지는지 open ai api 사용 방법 정리하기 파일 목록, 뷰어 만들기. 얘는 그냥 일단 하면 될 듯! 각 요소들 모듈화만 잘 해두기 ... streamlit이 진짜 편하다. 노션식 디자인은 왤케 편할까? 픽셀... 크기 어쩌구 보다가 이거 쓰니까 너무 편해서 ... 진자 ... 자료의 벡터화 단위 ... streamlit run app.py --server.enableXsrfProtection false
  • Y
    yeji Kim
기획서 Why 배경 앱을 개발하게 된 배경이나 문제의 원인. 데이터를 근거로 한 인사이트. 의대생의 학습에 도움을 주는 앱을 만들고 싶다. 전국 의대생 xxx명. 사용자 누구를 위한 앱인지. 그들이 왜 이 앱을 사용해야 하는지. 정말 그들이 이 앱을 원할지. 왜 그들인지. 그들이 왜 중요한지. 족보 공부하는 게 불편하다. 요약본 만드는 것도 불편하다. 이
기획서 Why 배경 앱을 개발하게 된 배경이나 문제의 원인. 데이터를 근거로 한 인사이트. 의대생의 학습에 도움을 주는 앱을 만들고 싶다. 전국 의대생 xxx명. 사용자 누구를 위한 앱인지. 그들이 왜 이 앱을 사용해야 하는지. 정말 그들이 이 앱을 원할지. 왜 그들인지. 그들이 왜 중요한지. 족보 공부하는 게 불편하다. 요약본 만드는 것도 불편하다. 이 시간만 줄이면 공부가 훨씬 편해질 것 같다. 사용자 여정 사용자가 앱을 통해 문제의 원인을 해결하는 과정. 앱 사용 이전/ 중 이후의 상태와 감정 자세히 적기. 앱을 사용하기 전 - 기능적 요구 사항 앱에 포함되어야 할 기능. 회원 가입. 향후 개획 개발 일정부터 배포 계획, 수정 및 업데이트 등. How What
  • Y
    yeji Kim
Langchain으로 RAG 구현하기
Fine-tuning - PEFT, QLoRa 더 발전된 모델인 Fusion-in-Decoder(FiD)나 Atlas를 고려하기 키워드 검색과 벡터 검색을 함께 사용하기 Vector DB 대신 Knowledge Graph를 사용하기 Python langchain chunk_size chunk_overlap splitter = CharacterTextSplitter.from_tiktoken_encoder( separator="\n", chunk_size=500, chunk_overlap=50 ) docs = data_loader.load_and_split(text_splitter=splitter) embeddings = OpenAIEmbeddings() cached_embeddings = CacheBackedEmbeddings.from_bytes_store(embeddings, cache_dir) 과정 Raw data → connecting Connecting → embedding Embedding Vector DB Retrieval
  • Y
    yeji Kim
database
정규화 신경쓰기 (1NF, 2NF, 3NF, BCNF) db create CREATE TABLE subjects ( subjectId INT PRIMARY KEY AUTO_INCREMENT, subjectName VARCHAR(255) NOT NULL, description TEXT, grade INT NOT NULL, semester INT NOT NULL ); CREATE TABLE professors ( professorId INT PRIMARY KEY AUTO_INCREMENT, professorName VARCHAR(255) NOT NULL, email VARCHAR(255), department VARCHAR(255) ); CREATE TABLE topics ( topicId INT PRIMARY KEY AUTO_INCREMENT, subjectId INT, topicTitle VARCHAR(255) NOT NULL, topicOrder INT NOT NULL, description TEXT, FOREIGN KEY (subjectId) REFERENCES subjects(subjectId) ); CREATE TABLE subtopics ( subtopicId INT PRIMARY KEY AUTO_INCREMENT, topicId INT, subtopicTitle VARCHAR(255) NOT NULL, subtopicOrder INT NOT NULL, description TEXT, FOREIGN KEY (topicId) REFERENCES topics(topicId) ); CREATE TABLE detailedTopics ( detailedTopicId INT PRIMARY KEY AUTO_INCREMENT, subtopicId INT, detailedTopicTitle VARCHAR(255) NOT NULL, detailedTopicOrder INT NOT NULL, description TEXT, FOREIGN KEY (subtopicId) REFERENCES subtopics(subtopicId) ); CREATE TABLE detailedTopicProfessorMapping ( mappingId INT PRIMARY KEY AUTO_INCREMENT, detailedTopicId INT, professorId INT, year YEAR, FOREIGN KEY (detailedTopicId) REFERENCES detailedTopics(detailedTopicId), FOREIGN KEY (professorId) REFERENCES professors(professorId) ); CREATE TABLE lectureNotes ( lectureNoteId INT PRIMARY KEY AUTO_INCREMENT, title VARCHAR(255) NOT NULL, version VARCHAR(50), year YEAR, isCurrent BOOLEAN DEFAULT 1, uploadDate DATE, filePath VARCHAR(255), notes TEXT ); CREATE TABLE lectureSlides ( slideId INT PRIMARY KEY AUTO_INCREMENT, lectureNoteId INT, detailedTopicId INT, slideNumber INT NOT NULL, slideTitle VARCHAR(255), slideContent TEXT, imagePath VARCHAR(255), pdfPage INT, pdfCoordinates VARCHAR(255), tableData TEXT, notes TEXT, FOREIGN KEY (lectureNoteId) REFERENCES lectureNotes(lectureNoteId), FOREIGN KEY (detailedTopicId) REFERENCES detailedTopics(detailedTopicId) ); CREATE TABLE textbooks ( textbookId INT PRIMARY KEY AUTO_INCREMENT, textbookTitle VARCHAR(255) NOT NULL, author VARCHAR(255), version VARCHAR(50) NOT NULL, publicationYear YEAR NOT NULL, isCurrent BOOLEAN DEFAULT 1, filePath VARCHAR(255) );
  • Y
    yeji Kim
Summary & linking
검증 코드 pdf 로딩 ocr json으로 저장. 준비사항 강의록 합치기 그 다음에 해야 할 것. 아 시험지 OCR할 때 is divided 어떻게 하지 ... 시험지는 확실히 오래 걸린다. json 파일을 만든 다음 전처리. 교과서 단원 별로 페이지 나누게 해보기 → 목차를 dict 형태로 추출할 수 있을지. 목차가 포함된 페이지를 찾을 수 있는지 or 내용 기준으로 나눌 수 잇을지. 그 안에서 또 소단원 페이지를 나눌 수 있을지. → 목차를 dict 형태로. 연습 문제 등이 포함되어 있다면 그것도 포함해서 쪼개기. 강의록 얘는 그냥 분리된 상태로 넣을까. 전처리 딱히 필요 없고?
  • Y
    yeji Kim
자자. 정리를 해보자. pdf viewer 다 만들기. (lecture note screen, textbook screen, ...) question model db 수정하기 과목 별 스크린 교과서 업로드하기 옆에 OCR, 범위 지정해서 요약하기 기능. → 창 크게 띄우기. 메모장 느낌으로. 여기도 drawer로 써머리 저장할 수 있게. 강의록 업로드하기
자자. 정리를 해보자. pdf viewer 다 만들기. (lecture note screen, textbook screen, ...) question model db 수정하기 과목 별 스크린 교과서 업로드하기 옆에 OCR, 범위 지정해서 요약하기 기능. → 창 크게 띄우기. 메모장 느낌으로. 여기도 drawer로 써머리 저장할 수 있게. 강의록 업로드하기 필기 내용만 따로 보기 이런 페이지도 만들기 → 드래그 해서 요약? b. app bar 부분에 교수님 정보 보기 넣기. 교수님 상세 페이지로. c. drawer로 내가 만든 요약본 볼 수 있게 해야겠다. textbook, summary-페이지 링킹 가능하게 시험 보기 차시를 선택해주세요! - 강의록이 업로드된 차시만 탈족, 변형 비율 d. 지난 시험 기록 보기 - 내 답, 해설, 한 번 더 볼 부분. e. 오답노트 보기 - 얘는 단일. report를 합친 것. 날짜별로, 주제별로 선택 가능.
  • Y
    yeji Kim
ㄴ OCR clova AI부터 써야겠다. 시험지 업로드 ocr 내용으로 교수님 정보인지, 시험 문제인지, 답지인지 인식 교수님 정보면 professor에 넣기 근데 이거 자동으로 할 수 있을까? 시험 문제이면 test 생성 → question 생성 강의록과 비교해서 이게 어느 부분이랑 관련 있는지도 알아야 함. 다지선다인지, 주관식인지도 인식 test sc
ㄴ OCR clova AI부터 써야겠다. 시험지 업로드 ocr 내용으로 교수님 정보인지, 시험 문제인지, 답지인지 인식 교수님 정보면 professor에 넣기 근데 이거 자동으로 할 수 있을까? 시험 문제이면 test 생성 → question 생성 강의록과 비교해서 이게 어느 부분이랑 관련 있는지도 알아야 함. 다지선다인지, 주관식인지도 인식 test screen question tile. 문제 표, 시간 측정 → report 제출 버튼 → 자동 채점 → report screen으로 넘어가기. 해야 할 것 pdf viewer 다 만들기. (lecture note screen, textbook screen, ...) question model db 수정하기
  • Y
    yeji Kim
study helper 만들기
문제 강의록과 족보, 교과서를 업로드하면 족보 변형 문제 시험지를 만들어주는 앱. 취약한 부분 알려주기 구현해야 할 것 구현 디테일 패드용 앱 회원 가입 (이메일), 학교, 학과, 학번, 학년, 이름 카카오톡 로그인 홈 화면 HomeScreen.dart 구현 디테일 상단 바 - 커스텀 메세지, 디데이 드롭 바 {이름}님, 오늘도 힘내세요! 설정 테마 색상 디데이 등록 투두리스트 포모도로 홈
  • Y
    yeji Kim
hyperledger fabric
hyperledger fabric 설치 장소 - /Users/yejikim/go/src/github.com/yejikim02/fabric-samples ssh -i /Users/yejikim/Downloads/mokpoEye2.pem ec2-user@ec2-54-79-7-151.ap-southeast-2.compute.amazonaws.com 여기 시나리오로 직접 만들어보는 과정이 있다. group all related papers together in a logical list. java script나 go로 각 txn(issue, buy, redeem) / contract / gateway identify 1 or more peers connectionOptions - identity, wallet user vs peer user CA가 인증. CA는 access conrol 등을 함. digital wallet은 이러한 인증 정보를 가지고 있는 것. 토큰은 없어도 됨. (암호화폐의 wallet과 헷갈리지 말기.) copy of ledger 없음. cc 실행 x. txn proposal 전송. organization의 구성원이지만, 블록체인 인프라를 직접적으로 지탱하진 않음. peer ledger와 cc copy를 저장함. 블록체인 인프라의 구성 요소. txn을 검증하고 실행하는 역할.
  • Y
    yeji Kim
figma/ UI
여기에 내가 생각하던 UI가 다 있다 ... 프레임별로 되어 있는 것
  • Y
    yeji Kim
hyperledger fabric 구상
Model wallet - 사용자 정보 id, name, token data - 의료 데이터 환자 생년, 성별, 질병, 증상, 유전자 정보 Methods initWallet getAllData purchaseGood getWallet setGoods UML diagram
  • Y
    yeji Kim
개발 1
lib main.dart theme.dart TextTheme, IconTehemeData, AppBarTheme, BottomNavigationBarThemeData, ThemeData main_screens.dart screens/ auth/ auth_input_screen.dart models/ user_model.dart schedule_model.dart services/ components/ button.dart input.dart
  • Y
    yeji Kim
UI 추구미
출처 : 디자이너스 레퍼런스
  • Y
    yeji Kim
개발 참고 코드
  • Y
    yeji Kim