Share
Sign In
개발 일지
Y
yeji Kim
👍
기획서
Why
배경
앱을 개발하게 된 배경이나 문제의 원인. 데이터를 근거로 한 인사이트.
의대생의 학습에 도움을 주는 앱을 만들고 싶다.
전국 의대생 xxx명.
사용자
누구를 위한 앱인지. 그들이 왜 이 앱을 사용해야 하는지. 정말 그들이 이 앱을 원할지. 왜 그들인지. 그들이 왜 중요한지.
족보 공부하는 게 불편하다. 요약본 만드는 것도 불편하다. 이 시간만 줄이면 공부가 훨씬 편해질 것 같다.
사용자 여정
사용자가 앱을 통해 문제의 원인을 해결하는 과정. 앱 사용 이전/ 중 이후의 상태와 감정 자세히 적기.
앱을 사용하기 전 -
기능적 요구 사항
앱에 포함되어야 할 기능.
회원 가입.
향후 개획
개발 일정부터 배포 계획, 수정 및 업데이트 등.
How
What
Subscribe to '아무튼-작업일지'
Welcome to '아무튼-작업일지'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to '아무튼-작업일지'!
Subscribe
👍
Other posts in '개발 일지'See all
yeji Kim
Steamlit, faiss
업로드한 파일 목록 보기와 파일 뷰어는 있어야 할 듯. faiss에 잘 저장했는지 파일 전처리. 글자 읽어오기, 안되면 ocr하기 ... open ai 응답 잘 받아지는지 open ai api 사용 방법 정리하기 파일 목록, 뷰어 만들기. 얘는 그냥 일단 하면 될 듯! 각 요소들 모듈화만 잘 해두기 ... streamlit이 진짜 편하다. 노션식 디자인은 왤케 편할까? 픽셀... 크기 어쩌구 보다가 이거 쓰니까 너무 편해서 ... 진자 ... 자료의 벡터화 단위 ... streamlit run app.py --server.enableXsrfProtection false
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
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) );