Skip to content

jdk829355/Inforest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

inforest

https://github.com/jdk829355/Inforest

시연 영상

https://youtu.be/IvbV9t1wWMs

개요

웹으로 탐색한 지식을 구조화 시키세요!!

InForest는 정보를 뜻하는 Information과 숲을 뜻하는 Forest의 합성어로 웹에서 탐색한 정보의 숲을 정리하는 것을 도와주는 서비스입니다.

  • 플랫폼
    • 데스크탑 (macos)
      • Flutter를 사용하여 태블릿, 모바일로도 확장 가능하게 함
    • chrome extension
      • 사용자가 웹사이트를 추가할 때 용이하게 함

주요 개념

  1. 트리
    1. 트리 메모
    2. 트리 요약
  2. 포레스트
    1. 포레스트 요약
    2. 깊이

트리

트리란 해당 서비스에서 지식을 관리하는 단위 중 제일 작은 단위이다. 트리에는 다음이 포함되어있다.

  • 웹 페이지
    • 각 트리는 웹페이지이다.
    • 서비스 내에서 페이지의 내용을 볼 수 있다.
  • 트리 메모
    • 페이지의 내용을 보며 마크다운 형식으로 메모를 작성할 수 있다.
  • 트리 요약
    • 페이지의 내용과 메모의 내용을 바탕으로 ai기반 메모를 지원한다.

포레스트

포레스트는 상하/수평 관계를 가진 트리의 집합이다. 트리는 상하 관계 혹은 수평 관계를 가질 수 있다.

예를 들어 python 공식 홈페이지(A) 에서 python을 학습하다가 변수에 관한 내용을 더 찾아보고 싶을 때, 변수에 대해 정리해놓은 글(B)를 찾아볼 수 있다. 계속 호기심이 생겨 A -> B -> C -> ... 와 같이 계속 탐색을 하다가 어느순간 돌아보면 무수히 쌓인 탭과 정리되지 않은 지식이 남아있다.

포레스트는 이를 돕기 위해 웹페이지를 계층적으로 저장한다.

flowchart LR
A --> B
B --> C1
B --> C2
C1 --> D1
C1 --> D2

Loading

A는 루트 트리다. A로부터 포레스트가 시작되며 지식은 뻗어나간다.

기능 정의

핵심 기능

  1. 트리 추가 및 관계 정의
  2. 트리 메모
  3. 트리 요약 (ai based)
  4. 포레스트 생성 및 관리

아키텍처

image.png

  • 트리, 포레스트 정보 서버
    • go 언어를 사용하여 gRPC로 개발하였다.
    • 클라이언트의 요청을 받고 포레스트와 트리에 대한 crud, 웹사이트 요약 요청을 받는다.
  • 웹페이지 요약 서버
    • gRPC 서버로 부터 웹페이지 요약 작업을 받고 redis queue에 작업을 저장한다.
    • python/FastAPI로 개발되었다.
  • rq worker
    • 실제로 gemini api를 호출하여 웹페이지 요약 작업을 수행한다.
    • python + langchain을 이용하여 개발하였다.
  • Supabase auth
    • 토큰 발행 및 검증에 사용하였다.
  • Tree + Forest database
    • neo4j를 사용하였다.
  • Memo Database
    • supabase를 사용하였다.

개선해야할 점

  • 트리 구조 개선
    • 트리를 구분하는 기준을 (사용자, url)로 구분지었다.
    • 이러면 특정 url을 얼마나 많은 사용자가 등록하였는지, 어떤 url에서 어느 url로 많이 이어지는지 분석하기 힘들다.
    • 그래서 이를 개선하자면 트리를 url로만 구분하고 트리와 트리 간의 관계에 user_id를 넣어서 특정 트리의 요약 내용을 재사용하거나 관계의 수를 이용하여 하위 트리를 추천하는 방법이 있다.

About

웹사이트를 저장하고 요약을 보며 메모를 작성할 수 있는 데스크톱 앱입니다. (25-2 텀프로젝트)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors