Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

107 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐ŸŽฏ Filient2: AI ๊ธฐ๋ฐ˜ ํŒŒ์ผ ์ž๋™ํ™” ๊ทœ์น™ ์ƒ์„ฑ๊ธฐ

ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐ ์ž๋™ํ™”๋ฅผ ์œ„ํ•œ AI ๊ธฐ๋ฐ˜ ๊ทœ์น™ ์ƒ์„ฑ ์‹œ์Šคํ…œ์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž์—ฐ์–ด ์ž…๋ ฅ์„ ํ†ตํ•ด ํŒŒ์ผ ์ฒ˜๋ฆฌ ์กฐ๊ฑด๊ณผ ์•ก์…˜์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ (๊ฐœ์„ ๋œ ํ”Œ๋กœ์šฐ)

์‚ฌ์šฉ์ž ์ž…๋ ฅ
    โ†“
์ •๋ณด ์ถฉ๋ถ„์„ฑ ์ฒดํฌ (Claude 3.5 Sonnet)
    โ†“                        โ†“
๋ถ€์กฑ์‹œ: ์ถ”๊ฐ€ ์งˆ๋ฌธ ์ƒ์„ฑ    ์ถฉ๋ถ„์‹œ: ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์‹œ์ž‘
    โ†“                        โ†“
์‚ฌ์šฉ์ž ์‘๋‹ต ๋Œ€๊ธฐ        pgvector + Titan ์ž„๋ฒ ๋”ฉ
                           โ†“
                    ๊ด€๋ จ ์กฐ๊ฑด/์•ก์…˜ ๊ฒ€์ƒ‰
                           โ†“
                    ์™„์ „ํ•œ ๊ทœ์น™ ์ƒ์„ฑ (JSON)
                           โ†“
                    ์„ธ์…˜ ์™„๋ฃŒ & ์‘๋‹ต ๋ฐ˜ํ™˜

๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ (๊ฐœ์„ ๋œ ์•„ํ‚คํ…์ฒ˜)

Filient2/
โ”œโ”€โ”€ ๐Ÿณ docker-compose.yml          # Redis + PostgreSQL + pgvector
โ”œโ”€โ”€ ๐Ÿ“‹ requirements.txt            # Python ํŒจํ‚ค์ง€ ์˜์กด์„ฑ
โ”œโ”€โ”€ ๐Ÿ”‘ .env                       # ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •
โ”œโ”€โ”€ ๐Ÿš€ main.py                    # FastAPI ๋ฉ”์ธ ์„œ๋ฒ„ (๊ฐœ์„ ๋œ ํ”Œ๋กœ์šฐ)
โ”‚
โ”œโ”€โ”€ โš™๏ธ config.py                  # ์ค‘์•™์ง‘์ค‘์‹ ์„ค์ • ๊ด€๋ฆฌ (์‹ ๊ทœ)
โ”œโ”€โ”€ ๐Ÿ› ๏ธ utils.py                   # ๊ณตํ†ต ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜ (์‹ ๊ทœ)
โ”œโ”€โ”€ ๐Ÿ“Š rule_data.py               # ์กฐ๊ฑด/์•ก์…˜ ๋ฐ์ดํ„ฐ ์ •์˜
โ”œโ”€โ”€ ๐Ÿ”„ vector_loader.py           # ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋กœ๋” (๊ฐœ์„ )
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ database/
โ”‚   โ”œโ”€โ”€ models.py                 # SQLAlchemy ๋ชจ๋ธ ์ •์˜
โ”‚   โ””โ”€โ”€ connection.py             # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์„ค์ •
โ”‚
โ”œโ”€โ”€ ๐Ÿ“ services/
โ”‚   โ”œโ”€โ”€ session_service.py        # ์„ธ์…˜/๋Œ€ํ™” ๊ด€๋ฆฌ (LangChain ๋ฉ”๋ชจ๋ฆฌ)
โ”‚   โ”œโ”€โ”€ rule_service.py           # ๊ทœ์น™ ์ƒ์„ฑ ๋กœ์ง (์™„์ „ ์žฌ์ž‘์„ฑ)
โ”‚   โ””โ”€โ”€ retriever_service.py      # ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ์„œ๋น„์Šค (๊ฐœ์„ )
โ”‚
โ””โ”€โ”€ ๐Ÿ“ api/
    โ””โ”€โ”€ schemas.py                # Pydantic ์Šคํ‚ค๋งˆ ์ •์˜

๐Ÿ”ง ๊ธฐ์ˆ  ์Šคํƒ

  • Backend: FastAPI, Python 3.8+
  • AI/ML: AWS Bedrock Claude 3.5 Sonnet, Titan Embeddings V2
  • Database: PostgreSQL with pgvector extension
  • Cache: Redis
  • Vector Search: LangChain + PGVector
  • Infrastructure: Docker Compose

๐Ÿš€ ์„ค์น˜ ๋ฐ ์‹คํ–‰ ๊ฐ€์ด๋“œ

1. ํ™˜๊ฒฝ ์„ค์ •

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ • (.env ํŒŒ์ผ ์ƒ์„ฑ):

# .env ํŒŒ์ผ ์ƒ์„ฑ
touch .env

.env ํŒŒ์ผ ๋‚ด์šฉ:

# AWS ์„ค์ • (Bedrock ์„œ๋น„์Šค ์ ‘๊ทผ์šฉ)
AWS_ACCESS_KEY_ID=your_aws_access_key
AWS_SECRET_ACCESS_KEY=your_aws_secret_key
AWS_DEFAULT_REGION=ap-northeast-2

# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค์ •
DATABASE_URL=postgresql://filient_user:filient_password@localhost:5432/filient

# Redis ์„ค์ •
REDIS_URL=redis://localhost:6379/0

Python ๊ฐ€์ƒํ™˜๊ฒฝ ๋ฐ ํŒจํ‚ค์ง€ ์„ค์น˜:

# ๊ฐ€์ƒํ™˜๊ฒฝ ์ƒ์„ฑ ๋ฐ ํ™œ์„ฑํ™”
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate

# ํŒจํ‚ค์ง€ ์„ค์น˜
pip install -r requirements.txt

2. ์ธํ”„๋ผ ์‹œ์ž‘

# Docker Compose๋กœ PostgreSQL, Redis ์‹คํ–‰
docker-compose up -d

# ์„œ๋น„์Šค ์ƒํƒœ ํ™•์ธ
docker-compose ps

# PostgreSQL์— pgvector ํ™•์žฅ ์„ค์น˜ ํ™•์ธ
psql -h localhost -U filient_user -d filient -c "CREATE EXTENSION IF NOT EXISTS vector;"

3. ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ดˆ๊ธฐํ™”

# ๊ทœ์น™ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฒกํ„ฐ DB์— ๋กœ๋“œ (ํ•„์ˆ˜)
python vector_loader.py

์ด ๋‹จ๊ณ„๋Š” AI๊ฐ€ ์‚ฌ์šฉ์ž ์š”์ฒญ์— ๋งž๋Š” ์กฐ๊ฑด๊ณผ ์•ก์…˜์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

4. ์„œ๋ฒ„ ์‹คํ–‰

# FastAPI ์„œ๋ฒ„ ์‹œ์ž‘
python main.py

# ๋˜๋Š” uvicorn ์ง์ ‘ ์‹คํ–‰
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

์„œ๋ฒ„๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ์‹œ์ž‘๋˜๋ฉด http://localhost:8000์—์„œ ์ ‘๊ทผ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ”— API ์—”๋“œํฌ์ธํŠธ

๐Ÿ“š API ๋ฌธ์„œ

์„œ๋ฒ„ ์‹คํ–‰ ํ›„ ๋‹ค์Œ URL์—์„œ ์ž๋™ ์ƒ์„ฑ๋œ API ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

  • Swagger UI: http://localhost:8000/docs
  • ReDoc: http://localhost:8000/redoc

๐ŸŽฏ ์ฃผ์š” ์—”๋“œํฌ์ธํŠธ

1. Health Check

GET /health

2. ์ฑ„ํŒ… ๋ฐ ๊ทœ์น™ ์ƒ์„ฑ

POST /chat
Content-Type: application/json

{
  "user_uuid": "550e8400-e29b-41d4-a716-446655440000",
  "session_id": null,
  "message": "pdf ํŒŒ์ผ๋“ค์„ Documents ํด๋”๋กœ ์˜ฎ๊ฒจ์ค˜",
  "session_name": "PDF ์ •๋ฆฌ ๊ทœ์น™"
}

3. ์‚ฌ์šฉ์ž ์„ธ์…˜ ๋ชฉ๋ก ์กฐํšŒ

GET /users/{user_uuid}/sessions

4. ์„ธ์…˜ ๋ฉ”์‹œ์ง€ ์กฐํšŒ

GET /sessions/{session_id}/messages

๐Ÿ’ก ์‚ฌ์šฉ ์˜ˆ์‹œ (NEW ํ”Œ๋กœ์šฐ)

๐ŸŽ† ๊ฐœ์„ ๋œ ๋Œ€ํ™” ํ”Œ๋กœ์šฐ

Filient2๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์˜ ์ •๋ณด ์ถฉ๋ถ„์„ฑ์„ ๋จผ์ € ์ฒดํฌํ•˜๊ณ , ์ •๋ณด๊ฐ€ ๋ถ€์กฑํ•˜๋ฉด ์งˆ๋ฌธ์„ ์ƒ์„ฑํ•˜๊ณ , ์ถฉ๋ถ„ํ•˜๋ฉด ๋ฐ”๋กœ ๊ทœ์น™์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ API ํ˜ธ์ถœ ์˜ˆ์‹œ

์˜ˆ์‹œ 1: ์ •๋ณด ๋ถ€์กฑ ์‹œ ์งˆ๋ฌธ ์ƒ์„ฑ

curl -X POST "http://localhost:8000/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "user_uuid": "user123",
    "message": "PDF ํŒŒ์ผ๋“ค์„ ์ •๋ฆฌํ•ด์ค˜"
  }'

์‘๋‹ต:

{
  "session_id": "abc123-def456",
  "response": "ํŒŒ์ผ ์ž๋™ํ™” ๊ทœ์น™์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค:\n\nโ€ข PDF ํŒŒ์ผ๋“ค์„ ์–ด๋””๋กœ ์ด๋™ํ•˜๊ฑฐ๋‚˜ ๋ฐฐ์น˜ํ•˜๊ณ  ์‹ถ์œผ์‹ ๊ฐ€์š”?\nโ€ข ํŠน์ • ์กฐ๊ฑด(๋‚ ์งœ, ํฌ๊ธฐ ๋“ฑ)์ด ์žˆ๋‚˜์š”?\n\n๋” ๊ตฌ์ฒด์ ์œผ๋กœ ์•Œ๋ ค์ฃผ์‹œ๋ฉด ์ •ํ™•ํ•œ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด๋“œ๋ฆด๊ฒŒ์š”!",
  "rule": null,
  "needs_clarification": true
}

์˜ˆ์‹œ 2: ์ •๋ณด ์ถฉ๋ถ„ ์‹œ ์ฆ‰์‹œ ๊ทœ์น™ ์ƒ์„ฑ

curl -X POST "http://localhost:8000/chat" \
  -H "Content-Type: application/json" \
  -d '{
    "user_uuid": "user123",
    "session_id": "abc123-def456",
    "message": "PDF ํŒŒ์ผ๋“ค์„ Documents ํด๋”๋กœ ์ด๋™ํ•ด์ค˜"
  }'

์ตœ์ข… ์‘๋‹ต (์™„์„ฑ๋œ ๊ทœ์น™):

{
  "session_id": "abc123-def456",
  "response": "โœ… ํŒŒ์ผ ์ž๋™ํ™” ๊ทœ์น™์ด ์™„์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค!\n\nPDF ํŒŒ์ผ๋“ค์„ Documents ํด๋”๋กœ ์ž๋™ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.",
  "rule": {
    "conditions": [
      {
        "condition_type": "extension",
        "condition_details": {
          "extensions": ["pdf"],
          "groups": ["๋ฌธ์„œ"],
          "match_mode": "any"
        }
      }
    ],
    "actions": [
      {
        "action_type": "move",
        "action_details": {
          "destination": "Documents",
          "create_folder": true,
          "conflict_resolution": "rename"
        },
        "execution_order": 1
      }
    ]
  },
  "session_completed": true,
  "needs_clarification": false
}

๐Ÿงช ํ…Œ์ŠคํŠธ ๊ฐ€์ด๋“œ

๊ฐ„๋‹จํ•œ ํ—ฌ์Šค์ฒดํฌ

# ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ
curl http://localhost:8000/health

# ๊ฐ„๋‹จํ•œ ๋Œ€ํ™” ํ…Œ์ŠคํŠธ
curl -X POST "http://localhost:8000/chat" \
  -H "Content-Type: application/json" \
  -d '{"user_uuid": "test", "message": "ํ…Œ์ŠคํŠธ ๋ฉ”์‹œ์ง€"}'

๊ธฐ๋ณธ ํ…Œ์ŠคํŠธ ์‹œ๋‚˜๋ฆฌ์˜ค

  1. ๊ฐ„๋‹จํ•œ ํŒŒ์ผ ์ด๋™: "์ด๋ฏธ์ง€ ํŒŒ์ผ๋“ค์„ Pictures ํด๋”๋กœ ์˜ฎ๊ฒจ์ค˜"
  2. ๋‚ ์งœ ๊ธฐ๋ฐ˜ ์ •๋ฆฌ: "์ตœ๊ทผ 7์ผ ์ด๋‚ด์— ๋งŒ๋“  ๋ฌธ์„œ๋“ค์„ ๋‚ ์งœ๋ณ„๋กœ ์ •๋ฆฌํ•ด์ค˜"
  3. ํฌ๊ธฐ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง: "100MB๋ณด๋‹ค ํฐ ๋น„๋””์˜ค ํŒŒ์ผ์— '๋Œ€์šฉ๋Ÿ‰' ํƒœ๊ทธ ์ถ”๊ฐ€ํ•ด์ค˜"
  4. ๋ณตํ•ฉ ์กฐ๊ฑด: "ํŒŒ์ผ๋ช…์— 'temp'๊ฐ€ ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ์‚ญ์ œํ•ด์ค˜"

๐ŸŽฏ ํ•ต์‹ฌ ์ปดํฌ๋„ŒํŠธ ์„ค๋ช…

ConfigManager (config.py)

  • ๋ชจ๋“  ์„ค์ •๊ฐ’์˜ ์ค‘์•™์ง‘์ค‘์‹ ๊ด€๋ฆฌ
  • ํ™˜๊ฒฝ๋ณ€์ˆ˜ ๊ธฐ๋ฐ˜ ์„ค์ • ๋กœ๋“œ
  • AI ๋ชจ๋ธ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฐ ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ ๊ด€๋ฆฌ

RuleService (services/rule_service.py)

  • ์ •๋ณด ์ถฉ๋ถ„์„ฑ ์ฒดํฌ: ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ถ„์„์œผ๋กœ ์ถ”๊ฐ€ ์งˆ๋ฌธ ํ•„์š” ์—ฌ๋ถ€ ํŒ๋‹จ
  • ์งˆ๋ฌธ ์ƒ์„ฑ: ๋ถ€์กฑํ•œ ์ •๋ณด ์นดํ…Œ๊ณ ๋ฆฌ์— ๋Œ€ํ•œ ๋งž์ถคํ˜• ์งˆ๋ฌธ ์ƒ์„ฑ
  • ๊ทœ์น™ ์ƒ์„ฑ: ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์™€ ํ•จ๊ป˜ ์™„์ „ํ•œ ๊ทœ์น™ JSON ์ƒ์„ฑ

RetrieverService (services/retriever_service.py)

  • PGVector ๊ธฐ๋ฐ˜ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰: ์กฐ๊ฑด/์•ก์…˜๋ณ„ ๋ถ„๋ฆฌ๋œ ๊ฒ€์ƒ‰
  • ์ปจํ…์ŠคํŠธ ์••์ถ•: LLM ๊ธฐ๋ฐ˜ ์••์ถ•์œผ๋กœ ์ •ํ™•๋„ ํ–ฅ์ƒ
  • ํ†ตํ•ฉ ๊ฒ€์ƒ‰: ์กฐ๊ฑด๊ณผ ์•ก์…˜์„ ๋™์‹œ์— ๊ฒ€์ƒ‰ํ•˜์—ฌ ๊ฒฐํ•ฉ๋œ ๊ฒฐ๊ณผ ์ œ๊ณต

SessionService (services/session_service.py)

  • Redis ๊ธฐ๋ฐ˜ LangChain ๋ฉ”๋ชจ๋ฆฌ: ์‹ค์‹œ๊ฐ„ ๋Œ€ํ™” ์ปจํ…์ŠคํŠธ ๊ด€๋ฆฌ
  • PostgreSQL ์˜๊ตฌ ์ €์žฅ: ๋ชจ๋“  ๋Œ€ํ™” ํžˆ์Šคํ† ๋ฆฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ €์žฅ
  • ์„ธ์…˜ ์ƒ๋ช…์ฃผ๊ธฐ ๊ด€๋ฆฌ: ์ƒ์„ฑ, ์—…๋ฐ์ดํŠธ, ์™„๋ฃŒ ์ƒํƒœ ์ถ”์ 

๐Ÿ”„ ๋™์ž‘ ํ”Œ๋กœ์šฐ

1. ์ •๋ณด ์ถฉ๋ถ„์„ฑ ์ฒดํฌ ๋‹จ๊ณ„

์‚ฌ์šฉ์ž ์ž…๋ ฅ โ†’ AI ๋ถ„์„ โ†’ ์ •๋ณด ์ถฉ๋ถ„์„ฑ ํŒ๋‹จ
    โ†“                        โ†“
๋ถ€์กฑ์‹œ: ์ถ”๊ฐ€ ์งˆ๋ฌธ ์ƒ์„ฑ    ์ถฉ๋ถ„์‹œ: ๊ทœ์น™ ์ƒ์„ฑ์œผ๋กœ ์ง„ํ–‰

2. ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๋‹จ๊ณ„

์‚ฌ์šฉ์ž ์š”๊ตฌ์‚ฌํ•ญ โ†’ Titan ์ž„๋ฒ ๋”ฉ โ†’ pgvector ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰
    โ†“
๊ด€๋ จ ์กฐ๊ฑด/์•ก์…˜ ๊ทœ์น™ ๊ฒ€์ƒ‰ โ†’ AI์— ์ปจํ…์ŠคํŠธ ์ œ๊ณต

3. ๊ทœ์น™ ์ƒ์„ฑ ๋‹จ๊ณ„

์ถฉ๋ถ„ํ•œ ์ •๋ณด + ๊ฒ€์ƒ‰๋œ ์ปจํ…์ŠคํŠธ โ†’ Claude 3.5 Sonnet
    โ†“
์™„์ „ํ•œ ํŒŒ์ผ ์ž๋™ํ™” ๊ทœ์น™ JSON ์ƒ์„ฑ โ†’ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฐ˜ํ™˜

๐Ÿ”ง ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

AWS Bedrock ์˜ค๋ฅ˜

๋ฌธ์ œ: "You don't have access to the model"
ํ•ด๊ฒฐ: AWS ์ฝ˜์†” โ†’ Bedrock โ†’ Model access์—์„œ Claude ๋ฐ Titan ๋ชจ๋ธ ํ™œ์„ฑํ™”

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์˜ค๋ฅ˜

ํ•ด๊ฒฐ: docker-compose down -v && docker-compose up -d

๋ฒกํ„ฐ ๋กœ๋”ฉ ์‹คํŒจ

ํ•ด๊ฒฐ: AWS ์ž๊ฒฉ์ฆ๋ช… ๋ฐ ๋ฆฌ์ „(ap-northeast-2) ํ™•์ธ

๐Ÿ› ๏ธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜

๋ณ€์ˆ˜๋ช… ์„ค๋ช… ๊ธฐ๋ณธ๊ฐ’
AWS_DEFAULT_REGION AWS ๋ฆฌ์ „ ap-northeast-2
AWS_ACCESS_KEY_ID AWS ์•ก์„ธ์Šค ํ‚ค -
AWS_SECRET_ACCESS_KEY AWS ์‹œํฌ๋ฆฟ ํ‚ค -
DATABASE_URL PostgreSQL ์—ฐ๊ฒฐ URL postgresql://localhost:5432/filient
REDIS_URL Redis ์—ฐ๊ฒฐ URL redis://localhost:6379/0

๐Ÿท๏ธ ์ง€์›ํ•˜๋Š” ์กฐ๊ฑด/์•ก์…˜ ํƒ€์ž…

๐Ÿ“‹ ์กฐ๊ฑด (Conditions)

  • Extension: ํŒŒ์ผ ํ™•์žฅ์ž/์ข…๋ฅ˜ ๊ธฐ๋ฐ˜ (PDF, ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ)
  • Name: ํŒŒ์ผ๋ช… ํŒจํ„ด ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง
  • Date: ์ƒ์„ฑ/์ˆ˜์ • ๋‚ ์งœ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง
  • Size: ํŒŒ์ผ ํฌ๊ธฐ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง
  • Tag: macOS ํƒœ๊ทธ ๊ธฐ๋ฐ˜ ํ•„ํ„ฐ๋ง

โšก ์•ก์…˜ (Actions)

  • Move: ํŒŒ์ผ/ํด๋” ์ด๋™
  • Copy: ํŒŒ์ผ/ํด๋” ๋ณต์‚ฌ
  • Delete: ํŒŒ์ผ ์‚ญ์ œ (ํœด์ง€ํ†ต ๋˜๋Š” ์™„์ „ ์‚ญ์ œ)
  • Rename: ํŒŒ์ผ๋ช… ๋ณ€๊ฒฝ
  • Sort: ๋‚ ์งœ๋ณ„/์ข…๋ฅ˜๋ณ„ ์ž๋™ ์ •๋ฆฌ
  • Tags: ํƒœ๊ทธ ์ถ”๊ฐ€/์ œ๊ฑฐ

๐Ÿ“Š ์„ฑ๋Šฅ ์ •๋ณด

  • ์ž„๋ฒ ๋”ฉ ๋ชจ๋ธ: AWS Titan Text Embeddings V2 (1024์ฐจ์›)
  • AI ๋ชจ๋ธ: AWS Bedrock Claude 3.5 Sonnet
  • ๋ฒกํ„ฐ ๊ฒ€์ƒ‰: ~100-200ms (pgvector ์ตœ์ ํ™”)
  • AI ์‘๋‹ต ์ƒ์„ฑ: ~2-5์ดˆ
  • ๋™์‹œ ์‚ฌ์šฉ์ž: AWS ํ• ๋‹น๋Ÿ‰ ๋‚ด ๋ฌด์ œํ•œ

๐Ÿ”„ ๊ฐœ๋ฐœ ๊ฐ€์ด๋“œ

์ƒˆ๋กœ์šด ๊ทœ์น™ ํƒ€์ž… ์ถ”๊ฐ€

  1. rule_data.py์— ์ƒˆ ๊ทœ์น™ ๋ฐ์ดํ„ฐ ์ •์˜
  2. python vector_loader.py ์‹คํ–‰ํ•˜์—ฌ ๋ฒกํ„ฐ DB ์—…๋ฐ์ดํŠธ
  3. config.py์˜ PromptTemplates์— ๊ด€๋ จ ํ”„๋กฌํ”„ํŠธ ์ถ”๊ฐ€

์ƒˆ๋กœ์šด AI ๋ชจ๋ธ ํ†ตํ•ฉ

  1. config.py์—์„œ ๋ชจ๋ธ ID ์„ค์ •
  2. ๊ฐ ์„œ๋น„์Šค์—์„œ ๋ชจ๋ธ๋ณ„ ํŒŒ๋ผ๋ฏธํ„ฐ ์กฐ์ •
  3. ํ”„๋กฌํ”„ํŠธ ํ…œํ”Œ๋ฆฟ ๋ชจ๋ธ๋ณ„ ์ตœ์ ํ™”

๊ฐœ๋ฐœ์ž: Claude + Human Collaboration
๋ฒ„์ „: 1.0.0
๋ผ์ด์„ ์Šค: MIT

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages