Skip to content

๐Ÿง ์„ธ์ปจ๋“œ๋ธŒ๋ ˆ์ธ, ๐Ÿ“์ œํ…”์นด์Šคํ…์—์„œ ์ถœ๋ฐœํ•œ ์ง€์‹๊ด€๋ฆฌ๋„๊ตฌ!

Notifications You must be signed in to change notification settings

tae0y/brain-beaver

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

58 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Brain Beaver ๐Ÿฆซ

What is this?

  • ๋งˆํฌ๋‹ค์šด ํŒŒ์ผ๋“ค์„ ๋Œ€์‹  ์ฝ์–ด ์ฃผ์š” ๋‚ด์šฉ์„ ์š”์•ฝํ•˜๊ณ  ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฐ๋‘์ƒ‰ ~ ์ดˆ๋ก์ƒ‰ : ์ž„๋ฒ ๋”ฉ/๋ฒกํ„ฐ์œ ์‚ฌ๋„๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์„œ๋กœ ์—ฐ๊ด€๋œ ๊ฒƒ๋“ค์„ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ๋กœ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋นจ๊ฐ„์ƒ‰ : ์›น์—์„œ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ๋ฐ˜๋Œ€๋˜๋Š” ์˜๊ฒฌ์ด ์žˆ์œผ๋ฉด ๊ทธ๋ž˜ํ”„๋กœ ์—ฐ๊ฒฐํ•ด์„œ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

๊ทธ๋ฆผ1 : ๋…ธ๋“œ๋ฅผ ์„ ํƒํ•˜๋ฉด ์„ธ๋ถ€๋‚ด์šฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋ฆผ2 : ๋นจ๊ฐ„์ƒ‰ ๋…ธ๋“œ๋Š” ์›น์œผ๋กœ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ ์ž˜๋ชป๋์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ์ง€์‹์ด๋‹ค.

Getting Started

With Docker Compose

  • DB์™€ ๊ด€๋ จ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ๊ธฐ๋™ํ•œ๋‹ค.
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions
cd docker
docker compose up --build
  • ํŒŒ์ด์ฌ ์˜์กด์„ฑ์„ ์„ค์น˜, ๊ธฐ๋™
cd src/Python.FastApi
python -m venv .venv
. .venv/bin/activate
pip install -r python/requirements

# ์•ฑ ๊ธฐ๋™
OTEL_PYTHON_LOG_CORRELATION=true \
uvicorn app:app

With Aspire/AppHost

  • ํŒŒ์ด์ฌ ์˜์กด์„ฑ์„ ์„ค์น˜
cd src/Python.FastApi
python -m venv .venv
. .venv/bin/activate
pip install -r python/requirements
  • AppHost๋ฅผ ํ†ตํ•ด ๋„์ปค ๋ฐ ํŒŒ์ด์ฌ ๊ธฐ๋™
# ๊ฐœ๋ฐœ์šฉ SSL
cd src/Aspire.AppHost
dotnet dev-certs https --clean && dotnet dev-certs https --trust

# ๋„์ปค ์„ค์ •
# - sudo๋กœ aspire ๊ธฐ๋™์‹œ ๊ถŒํ•œ๋ฌธ์ œ, ๋Œ€์‹ ์— ํ˜„์žฌ ์‚ฌ์šฉ์ž์—๊ฒŒ docker ๊ถŒํ•œ๋ถ€์—ฌ
sudo chown -R $USER ~/.docker
sudo chmod -R 775 ~/.docker
docker plugin install grafana/loki-docker-driver:latest --alias loki --grant-all-permissions

# AppHost ์•ฑ ๊ธฐ๋™
cd src/Aspire.AppHost
dotnet run --project Aspire.AppHost.csproj

# Python ์•ฑ ๊ธฐ๋™
# - AppHost uvicorn/dashboard๋Š” opentelemetry ์—ฐ๋™์‹œ ๋ฒ„๊ทธ๊ฐ€ ์žˆ์–ด 9.2 ์ดํ›„ ํŒจ์น˜์˜ˆ์ •
OTEL_PYTHON_LOG_CORRELATION=true \
uvicorn app:app

Notice

  • ๊ทธ์™ธ ์„ค์ •์‚ฌํ•ญ
    • ๋งˆํฌ๋‹ค์šด ๋ฐ์ดํ„ฐ ๊ฒฝ๋กœ, ๋ชจ๋ธ ์ข…๋ฅ˜ ๋“ฑ์€ app.py์—์„œ ์„ค์ •
    • OpenAI, Naver ๊ฒ€์ƒ‰ ํ‚ค ๋“ฑ์€ config.properties, secret.properties์—์„œ ์„ค์ •
    • secret.properties๋Š” secret.sample.properties์„ ์ฐธ๊ณ ํ•ด ์ž‘์„ฑ
    • Python 3.12, Mac M1์—์„œ ์ž‘์—…ํ•จ. Python 3.13์—์„œ ์ผ๋ถ€ ์˜์กด์„ฑ ์ถฉ๋Œ ์žˆ์Œ
    • Debian OS๋Š” psycopg2 ๋Œ€์‹  apt ๋“ฑ์œผ๋กœ psycopg2-binary ํŒจํ‚ค์ง€ ์„ค์น˜ ํ•„์š”

์•ฑ ๊ตฌ์กฐ

  • Dotnet.BlazorUI : ๋ฐ์ดํ„ฐ์†Œ์Šค๋ฅผ ์ž…๋ ฅํ•ด ๋ฐ์ดํ„ฐ์ถ”์ถœ, ์˜ˆ์ƒ๋น„์šฉ ํ™•์ธ, ๊ฒฐ์ œ ๋ฐ ์ง„ํ–‰
  • Java.SpringBFF : extract, engage, expand ๊ธฐ๋Šฅ ๋‹จ์œ„๋กœ ์—ฌ๋Ÿฌ API๋ฅผ ๋ฌถ์–ด์„œ ํ˜ธ์ถœ
  • Python.FastAPI : concepts, networks, references ๋„๋ฉ”์ธ ๊ธฐ๋ฐ˜ ๋‹จํŽธํ™”๋œ API ์ œ๊ณต
  • Docker : portainer, postgresql, pgadmin ์ปจํ…Œ์ด๋„ˆ
  • Aspire.AppHost : ์ƒ๊ธฐ ๋ชจ๋“  ์•ฑ๊ณผ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ˜ธ์ŠคํŒ…, ๋Œ€์‹œ๋ณด๋“œ/๋ชจ๋‹ˆํ„ฐ๋ง/์žฅ์• ํšŒ๋ณต ๊ธฐ๋Šฅ์ œ๊ณต
  • Aspire.ServiceDefaults : ํด๋ผ์šฐ๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ํ˜ธ์ŠคํŒ… ๊ธฐ๋ณธ๊ฐ’ ์„ค์ •

About

๐Ÿง ์„ธ์ปจ๋“œ๋ธŒ๋ ˆ์ธ, ๐Ÿ“์ œํ…”์นด์Šคํ…์—์„œ ์ถœ๋ฐœํ•œ ์ง€์‹๊ด€๋ฆฌ๋„๊ตฌ!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published