Gaon Project 일지

HyunJunSon·2025년 10월 29일

NIPA-ORACLE

목록 보기
24/28
post-thumbnail

1. 프로젝트 3일차

  • 첫날은 하루종일 회의하느라 갔고(개인적으로 기획회의가 가장 에너지 소모가 심한거 같다.. ㅎㄷㄷ)
  • 둘쨋날은 깃세팅하고, 컨벤션 맞추고, 기획한거 초기 프론트 스케치하고 db스키마도 만들고
  • gittea 를 써보고 있다. github랑 거의 같은데, 좀 더 가벼운 느낌. gh 대신 tea를 사용할수 있다.

tea

명령어 요약표

목적명령어설명
로그인 추가tea login addGitea 인스턴스 연결 설정
로그인 목록 보기tea logins list현재 저장된 로그인 목록 확인
기본 로그인 설정tea logins default 여러 인스턴스 중 기본 지정
현재 사용자 확인tea whoami로그인된 계정 정보 표시
리포 목록 보기tea repos접근 가능한 리포지토리 목록
리포 클론tea clone /Gitea 리포 클론
이슈 목록tea issues현재 리포의 이슈 조회
이슈 생성tea issue create --title "..." --body "..."새 이슈 생성
풀리퀘스트 목록tea pullsPR 목록 보기
PR 체크아웃tea pr checkout <번호>해당 PR 브랜치로 이동
알림 보기tea notificationsGitea 알림 조회

🧾 참고

  • 설정 파일 경로: ~/.config/tea/config.yml

2. 이모저모

  • python 가상환경으로 pip, connda 대신 uv로 설정했는데, 훨씬 빠르다. 러스트로 구현되어 속도가 아주 쾌적하다.
  • uv 는 최상위에 pyproject.toml로 관리한다.
  [project]
name = "gaon"
version = "0.1.0"
description = "GAON backend service powered by FastAPI, LangChain, and AI integrations"
readme = "README.md"
requires-python = "==3.11.*"

dependencies = [
    # --- Web framework ---
    "fastapi==0.115.0",
    "uvicorn[standard]==0.30.3",
    # --- Authentication & Security ---
    "passlib[bcrypt]>=1.7.4",
    # --- Database ---
    "sqlalchemy==2.0.43",
    "alembic==1.13.2",
    "psycopg2-binary==2.9.9",
    "asyncpg==0.30.0",
    "pgvector==0.3.6",
    "greenlet==3.2.4",
    # --- Config & Utils ---
    "pydantic==2.11.7",
    "pydantic-settings==2.11.0",
    "python-dotenv==1.1.1",
    "PyYAML==6.0.2",
    "orjson==3.11.3",
    # --- HTTP & Parsing ---
    "httpx==0.28.1",
    "aiohttp==3.13.0",
    "aiosignal==1.4.0",
    "beautifulsoup4==4.14.2",
    "requests==2.32.5",
    "tqdm==4.67.1",
    "pypdf==6.1.1",
    # --- AI / LLM Core ---
    "openai==1.106.1",
    "anthropic==0.69.0",
    "google-api-python-client==2.184.0",
    "huggingface-hub==0.35.3",
    "transformers==4.42.4",
    "tokenizers==0.19.1",
    "filelock==3.13.1",
    "fsspec==2024.6.1",
    "torch==2.5.1",
    "torchvision==0.20.1",
    "torchaudio==2.5.1",
    "accelerate==1.10.1",
    "safetensors==0.6.2",
    "sentence-transformers==5.1.1",
    "scikit-learn==1.7.2",
    "scipy==1.14.1",
    "numpy==1.26.4",
    "networkx==3.3",
    # --- LangChain & Related ---
    "langchain==0.3.27",
    "langchain-core==0.3.79",
    "langchain-community==0.3.31",
    "langchain-openai==0.3.32",
    "langchain-anthropic==0.3.22",
    "langchain-google-genai==2.1.12",
    "langchain-huggingface==0.3.1",
    "langchain-experimental==0.3.4",
    "langchain-postgres==0.0.15",
    "langchain-text-splitters==0.3.11",
    "langsmith==0.4.26",
    # --- Typing ---
    "typing-inspect==0.9.0",
    "typing-inspection==0.4.1",
    "typing_extensions==4.12.2",
]

[tool.setuptools]
packages = ["app"]

[build-system]
requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[dependency-groups]
dev = [
    "pytest",
    "black",
    "ruff",
    "httpx",
]

3. git

  1. issue 는 pr 끝에 Closes #<issue번호> 로 자동으로 닫힌다.

  2. tea 명령어

    tea issue create --repo <레포이름> --title "backend skeleton code" --assignees zorba
    
    
    tea pr create --base develop --head "chore/13-issue-link_discord_to_git" \                        
    -t "discord 연결 (#13)" \
    -d "git에 pr,issue,ci/cd 등 동작이 생기면 discord로 알람이 오도록 설정했습니다. git 작업을 적시에 파악하고 협업의 효율성을 높이기 위해 세팅했습니 다.\n\nCloses #13"

4. alembic

  • python의 orm인 sqlalchemy의 db 형상관리용 툴이다.

    alembic revision --autogenerate -m "설명" (메타데이터 생성됨)
    
    		alembic upgrade head (테이블 생성됨)
    alembic downgrade -1  ( 롤백)
    

5. llm 성능비교

  • 성능비교를 위해 알아본 deepeval의 ui 사용이 거의 유료에 가깝다.
  • 사용을 못하는건 아니지만, ui를 위해 회사 이메일이 필요함.
  • 팀원분이 진행중인데, 내일 한번 확인해봐야겠다.
  • llm 선정에는 논리적인 이유가 필요하다.
profile
즐겁게 공부하고 사람들에게 도움을 주는 개발자가 되고 싶습니다.

0개의 댓글