Skip to content

Latest commit

ย 

History

4 Commits

Folders and files

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

Repository files navigation

KAMCO Data Collector

Python FastAPI Flask MongoDB Qdrant Ollama License

An integrated solution for collecting, normalizing, and analyzing KAMCO (Korea Asset Management Corporation) public auction data using RAG (Retrieval-Augmented Generation).


๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

์บ ์ฝ”(KAMCO) ๊ณต๋งค ๋ฌผ๊ฑด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ยท์ •๊ทœํ™”ยท๋ฒกํ„ฐํ™”ํ•˜์—ฌ RAG(๊ฒ€์ƒ‰ ์ฆ๊ฐ• ์ƒ์„ฑ) ๊ธฐ๋ฐ˜ AI ์ฑ—๋ด‡์œผ๋กœ ์ž์—ฐ์–ด ๊ฒ€์ƒ‰๊ณผ ์งˆ์˜์‘๋‹ต์„ ์ œ๊ณตํ•˜๋Š” ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์ž…๋‹ˆ๋‹ค. ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ์˜ ์บ ์ฝ” ๊ณต๋งค OpenAPI์—์„œ ์›์‹œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ด MongoDB์— ์ €์žฅํ•˜๊ณ , Qdrant ๋ฒกํ„ฐ DB์— ์ž„๋ฒ ๋”ฉํ•œ ๋’ค FastAPI + Ollama(๋กœ์ปฌ LLM)๋กœ "์„œ์šธ ๊ฐ•๋‚จ ์•„ํŒŒํŠธ 5์–ต ์ดํ•˜" ๊ฐ™์€ ์งˆ๋ฌธ์— ์ถœ์ฒ˜๊นŒ์ง€ ํฌํ•จํ•œ ๋‹ต๋ณ€์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋ฒกํ„ฐ DB๊ฐ€ ์—†์–ด๋„ MongoDB ํ‚ค์›Œ๋“œ ๊ฒ€์ƒ‰์œผ๋กœ ์ž๋™ ํด๋ฐฑ(fallback)๋˜๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ๊ตฌ์กฐ๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

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

๋ถ„๋ฅ˜ ๊ธฐ์ˆ  ์šฉ๋„
์–ธ์–ด Python 3.9+ ์ „์ฒด ๋ฐฑ์—”๋“œ
API ์„œ๋ฒ„ FastAPI 0.115+ RAG ์งˆ์˜์‘๋‹ต REST API (/ask, /api/chat)
์›น UI Flask 3.0+ ๊ด€๋ฆฌ ๋Œ€์‹œ๋ณด๋“œ ยท ๋ฐ์ดํ„ฐ ์กฐํšŒ ยท AI ์ฑ—๋ด‡ ์›น ์ธํ„ฐํŽ˜์ด์Šค
๋ฌธ์„œ DB MongoDB 7.0+ ์›์‹œ/์ •๊ทœํ™”/์ฒญํฌ ๋ฐ์ดํ„ฐ ์ €์žฅ + ํ‚ค์›Œ๋“œ ํด๋ฐฑ ๊ฒ€์ƒ‰
๋ฒกํ„ฐ DB Qdrant 1.9+ ์ž„๋ฒ ๋”ฉ ์œ ์‚ฌ๋„ ๊ฒ€์ƒ‰ (Top-k)
LLM Ollama (deepseek-r1 ์ƒ์„ฑ ยท nomic-embed-text ์ž„๋ฒ ๋”ฉ) ๋กœ์ปฌ LLM ์ถ”๋ก 
์—์ด์ „ํŠธ ์—ฐ๋™ MCP Server ChatGPT ๋ฐ์Šคํฌํ†ฑ์—์„œ ์ง์ ‘ ๊ฒ€์ƒ‰/์ˆ˜์ง‘/์งˆ์˜
๋ฐฐํฌ Docker / Docker Compose ๋ฉ€ํ‹ฐ ์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
ํ„ฐ๋„ (์„ ํƒ) Cloudflare Tunnel / Workers ์™ธ๋ถ€ ์ ‘๊ทผ ๋…ธ์ถœ

๐Ÿ“ธ Screenshots

Dashboard

Dashboard Main dashboard showing data statistics and quick actions

Data Collection Interface

Data Collection KAMCO API data collection interface with real-time progress

Data List View

Data List Browse and search collected auction data

Detailed View

Details Detailed property information with all auction details

AI Chatbot Interface

KAMCO AI Bot RAG-based AI chatbot for intelligent property search and Q&A

โœจ Features

  • ๐Ÿ” Automated data collection from KAMCO OpenAPI
  • ๐Ÿ“Š Data normalization and structuring
  • ๐Ÿค– RAG-based AI Chatbot with intelligent search and Q&A
  • ๐Ÿ”„ Hybrid search: Vector (Qdrant) + Keyword (MongoDB) fallback
  • ๐ŸŒ FastAPI RESTful endpoints
  • ๐Ÿ’พ MongoDB + Qdrant vector database
  • ๐Ÿง  Ollama local LLM integration (deepseek-r1, nomic-embed-text)
  • ๐Ÿ–ฅ๏ธ Web-based management interface with real-time stats
  • ๐Ÿ”Œ MCP (Model Context Protocol) server for ChatGPT integration
  • ๐Ÿณ Docker deployment ready

๐Ÿ—๏ธ Architecture

[ChatGPT Desktop]
        โ†“ (MCP Protocol)
[MCP Server] โ†โ†’ [FastAPI Server]
     โ†“              โ†“
[MongoDB] โ†โ†’ [Qdrant] โ†โ†’ [Ollama]
     โ†“
[KAMCO OpenAPI]

Optional:
[Cloudflare Front]
        โ†“
[Cloudflare Workers]
        โ†“ (Tunnel)
[Mac mini / Server]

๐Ÿ“‹ Prerequisites

1. MongoDB 7.0

brew tap mongodb/brew
brew install mongodb-community@7.0
brew services start mongodb-community

2. Ollama

brew install ollama

# Pull required models for RAG chatbot
ollama pull nomic-embed-text:latest     # Embedding model
ollama pull deepseek-r1:latest          # LLM for generation

3. Qdrant

docker run -d \
  --name qdrant \
  -p 6333:6333 \
  -v ~/qdrant:/qdrant/storage \
  qdrant/qdrant

Database Schema

kamco
 โ”œโ”€ raw_items          # Raw API responses
 โ”œโ”€ normalized_items   # Normalized text data
 โ””โ”€ chunks             # Chunked data for RAG (matches Qdrant payload)

๐Ÿš€ Quick Start

Option 1: Docker (Recommended)

# Clone repository
git clone https://github.com/lhg96/kamco-data-collector.git
cd kamco-data-collector

# Configure environment
cp .env.example .env
nano .env  # Edit with your KAMCO API key

# Start all services
docker-compose up -d

# Pull Ollama model
docker exec -it kamco-ollama ollama pull qwen2.5:latest

# Collect and process data
docker exec -it kamco-mcp-server python -m rag.manager

Option 2: Manual Installation

git clone https://github.com/lhg96/kamco-data-collector.git
cd kamco-data-collector
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -r requirements.txt

โš™๏ธ Configuration

Create a .env file in the project root:

# KAMCO API Key (get from https://www.data.go.kr/)
KAMCO_API_KEY=your_api_key_here

# MongoDB Configuration
MONGO_URI=mongodb://localhost:27017
MONGO_DB_NAME=kamco
MONGO_COLLECTION_NAME=collected_items

# Qdrant Configuration
QDRANT_HOST=localhost
QDRANT_PORT=6333
QDRANT_COLLECTION=kamco

# Ollama Models
EMBED_MODEL=nomic-embed-text:latest     # For embeddings
LLM_MODEL=deepseek-r1:latest           # For generation

# Flask Configuration
FLASK_SECRET_KEY=your_random_secret_key_here
FLASK_PORT=5001                        # Default: 5000 (avoid conflicts with macOS Control Center)

๐Ÿ“– Usage

MCP Server for ChatGPT (Recommended)

The MCP server allows ChatGPT to directly interact with KAMCO data.

1. Start Services

docker-compose up -d

2. Collect and Process Data

# Using RAG Manager (all-in-one)
docker exec -it kamco-mcp-server python -m rag.manager

# Or step by step:
docker exec -it kamco-mcp-server python -m services.kamco_collector_service
docker exec -it kamco-mcp-server python -m normalize.kamco_normalizer
docker exec -it kamco-mcp-server python -m rag.embed

3. Configure ChatGPT

See MCP_SETUP_GUIDE.md for detailed instructions.

Available MCP Tools:

  • search_kamco - Search auctions by natural language
  • get_kamco_by_id - Get detailed item information
  • get_recent_kamco - Get recent listings
  • ask_kamco - Ask questions with RAG answers
  • collect_kamco_data - Trigger data collection
  • embed_kamco_data - Process and embed data

Data Collection Pipeline (Manual)

1. Collect Data

Fetch raw data from KAMCO OpenAPI and store in MongoDB:

python collector/kamco_fetcher.py
# Or use the service:
python -m services.kamco_collector_service

2. Normalize Data

Convert raw data to human-readable text format:

python normalize/kamco_normalizer.py

3. Embed Data

Generate embeddings and store in Qdrant vector database:

python rag/embed.py

โš ๏ธ Note: setup_collection() recreates the collection, deleting existing data.

4. Start RAG API Server

uvicorn api.main:app --host 0.0.0.0 --port 8000
# Or with Docker:
docker-compose up -d api

Available endpoints:

  • GET /ask?q=your_question - RAG-based question answering (Top-5 vector search)
  • GET /health - Health check

Web Interface

Start the Flask web application:

python web/app.py

Access at http://localhost:5001

Features:

  • ๐Ÿ“Š Real-time data collection monitoring
  • ๐Ÿ” Advanced search with filters
  • ๐Ÿ“ Detailed property information view
  • ๐Ÿค– AI Chatbot - RAG-based intelligent Q&A system
  • ๐Ÿ“ˆ Dashboard with statistics

AI Chatbot Features

The web interface includes an AI chatbot powered by RAG (Retrieval-Augmented Generation) technology:

Key Features:

  • ๐Ÿง  Natural Language Search: Ask questions in natural Korean
  • ๐Ÿ” Intelligent Query Processing: Automatically detects search intent (region, price, property type)
  • ๐Ÿ“Š Hybrid Search Mode:
    • Primary: Vector-based semantic search with Qdrant + Ollama
    • Fallback: MongoDB keyword/regex search when vector DB is unavailable
  • ๐ŸŽฏ Context-Aware Responses: Recent data queries automatically pull latest collections
  • ๐Ÿ“Ž Source Citations: All answers include source documents with relevance scores
  • ๐Ÿ”— Direct Links: Includes original KAMCO auction URLs in responses

Query Examples:

"์ตœ๊ทผ ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ ๋ณด์—ฌ์ค˜"
โ†’ Shows 5 most recent items with details

"์„œ์šธ ๊ฐ•๋‚จ ์•„ํŒŒํŠธ 5์–ต ์ดํ•˜"
โ†’ Searches for apartments in Gangnam, Seoul under 500M won

"์ด ๋ฌผ๊ฑด์˜ ๊ฐ์ •๊ฐ€๋Š” ์–ผ๋งˆ์ธ๊ฐ€์š”?"
โ†’ RAG-based answer with specific property details

Technical Implementation:

1. RAG Mode (When Qdrant + Ollama Available):

  • Embeds user question using nomic-embed-text model
  • Performs vector similarity search in Qdrant (top-3)
  • Generates natural language answer using deepseek-r1 LLM
  • Returns answer with source documents and confidence scores

2. Fallback Mode (MongoDB Only):

  • Uses Ollama to analyze query intent (JSON extraction)
  • Constructs MongoDB query from extracted parameters:
    • Region: basic_info.lctnAddr regex match
    • Property type: basic_info.pblancObjSe regex match
    • Price range: Numerical comparison
    • Keywords: Multi-field OR search
  • Returns structured results with formatted descriptions

3. Recent Data Optimization:

  • Detects keywords: '์ตœ๊ทผ', '์ตœ์‹ ', '์ˆ˜์ง‘', '๋ชฉ๋ก'
  • Bypasses RAG for direct MongoDB lookup
  • Sorts by collected_at timestamp (descending)
  • Faster response time for common queries

API Endpoint:

POST /api/chat
Content-Type: application/json

{
  "question": "์„œ์šธ ๊ฐ•๋‚จ๊ตฌ ์•„ํŒŒํŠธ ๋งค๋ฌผ ๋ณด์—ฌ์ค˜"
}

Response:
{
  "success": true,
  "answer": "์„œ์šธ ๊ฐ•๋‚จ๊ตฌ ์•„ํŒŒํŠธ ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ์ž…๋‹ˆ๋‹ค:\n\n1. ...",
  "sources": [
    {
      "text": "๊ณต๊ณ ๋ช…: ...\n์›๋ฌธ URL: https://...",
      "score": 0.95
    }
  ],
  "fallback": false  // true if using MongoDB fallback
}

Dependencies:

  • Qdrant: Vector database for embeddings (optimal)
  • Ollama: Local LLM for embeddings + generation (optimal)
  • MongoDB: Document store + fallback search (required)

๐Ÿ’ก Tip: For best results, ensure Qdrant and Ollama are running. The system gracefully falls back to MongoDB-only mode if vector services are unavailable.

โšก ์‹คํ–‰ ์˜ˆ์‹œ

1. RAG ์งˆ์˜์‘๋‹ต API (FastAPI)

# ์„œ๋ฒ„ ๊ธฐ๋™
uvicorn api.main:app --host 0.0.0.0 --port 8000

# ์ž์—ฐ์–ด ์งˆ๋ฌธ โ†’ Top-5 ๋ฒกํ„ฐ ๊ฒ€์ƒ‰ ๊ธฐ๋ฐ˜ ๋‹ต๋ณ€
curl "http://localhost:8000/ask?q=์„œ์šธ%20๊ฐ•๋‚จ๊ตฌ%20์•„ํŒŒํŠธ%20๋งค๋ฌผ"

# ํ—ฌ์Šค ์ฒดํฌ
curl "http://localhost:8000/health"
# โ†’ {"status": "ok"}

2. ์›น ์ฑ—๋ด‡ API (Flask)

# Flask ์›น ์„œ๋ฒ„ ๊ธฐ๋™ (http://localhost:5001)
python web/app.py

# ์ฑ—๋ด‡ ์งˆ๋ฌธ
curl -X POST http://localhost:5001/api/chat \
  -H "Content-Type: application/json" \
  -d '{"question": "์ตœ๊ทผ ์ˆ˜์ง‘๋œ ๊ณต๋งค ๋ฌผ๊ฑด ๋ณด์—ฌ์ค˜"}'
{
  "success": true,
  "answer": "์ตœ๊ทผ ์ˆ˜์ง‘๋œ ๊ณต๋งค ๋ฌผ๊ฑด 5๊ฑด์ž…๋‹ˆ๋‹ค:\n1. ...",
  "sources": [
    {
      "text": "๊ณต๊ณ ๋ช…: ...\n์›๋ฌธ URL: https://...",
      "score": 0.95
    }
  ],
  "fallback": false
}

3. ์ˆ˜์ง‘ โ†’ ์ •๊ทœํ™” โ†’ ์ž„๋ฒ ๋”ฉ ํŒŒ์ดํ”„๋ผ์ธ

# 1) KAMCO OpenAPI์—์„œ ์›์‹œ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (MongoDB ์ €์žฅ)
python -m services.kamco_collector_service

# 2) ์‚ฌ๋žŒ์ด ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ๋กœ ์ •๊ทœํ™”
python -m normalize.kamco_normalizer

# 3) ์ฒญํฌ ์ž„๋ฒ ๋”ฉ ์ƒ์„ฑ โ†’ Qdrant ๋ฒกํ„ฐ DB ์ €์žฅ
python -m rag.embed

4. MCP๋ฅผ ํ†ตํ•œ ChatGPT ์—ฐ๋™ (๊ถŒ์žฅ)

docker-compose up -d
docker exec -it kamco-mcp-server python -m rag.manager

ChatGPT ๋ฐ์Šคํฌํ†ฑ์—์„œ search_kamco, ask_kamco, collect_kamco_data ๋“ฑ MCP ๋„๊ตฌ๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ์„ค์ •์€ MCP_SETUP_GUIDE.md๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๐Ÿ”ง Cloudflare Tunnel Setup (Optional)

For external access via Cloudflare Workers:

cloudflared tunnel create kamco-rag
cloudflared tunnel run kamco-rag

Configure Workers to proxy /ask endpoint to your local FastAPI server.

๐Ÿงช Testing

API Integration Test

python test_api.py

Unit Tests

pytest

Test Coverage

pytest --cov=. --cov-report=html

๐Ÿ“ Project Structure

kamco-data-collector/
โ”œโ”€โ”€ api/
โ”‚   โ””โ”€โ”€ main.py                # FastAPI RAG endpoints
โ”œโ”€โ”€ collector/
โ”‚   โ””โ”€โ”€ kamco_fetcher.py       # KAMCO OpenAPI data collector
โ”œโ”€โ”€ mcp_server/
โ”‚   โ”œโ”€โ”€ __init__.py
โ”‚   โ””โ”€โ”€ server.py              # MCP server for ChatGPT integration
โ”œโ”€โ”€ normalize/
โ”‚   โ””โ”€โ”€ kamco_normalizer.py    # Data normalization
โ”œโ”€โ”€ rag/
โ”‚   โ”œโ”€โ”€ embed.py               # Embedding & Qdrant operations
โ”‚   โ””โ”€โ”€ manager.py             # RAG pipeline orchestration
โ”œโ”€โ”€ services/
โ”‚   โ””โ”€โ”€ kamco_collector_service.py  # Service layer
โ”œโ”€โ”€ web/
โ”‚   โ”œโ”€โ”€ app.py                 # Flask web interface
โ”‚   โ”œโ”€โ”€ templates/             # HTML templates
โ”‚   โ””โ”€โ”€ static/                # Static assets
โ”œโ”€โ”€ tests/                     # Test files
โ”œโ”€โ”€ screenshots/               # Application screenshots
โ”œโ”€โ”€ Dockerfile                 # Docker image definition
โ”œโ”€โ”€ docker-compose.yml         # Multi-container orchestration
โ”œโ”€โ”€ .dockerignore              # Docker build exclusions
โ”œโ”€โ”€ requirements.txt           # Python dependencies
โ”œโ”€โ”€ .env.example               # Example environment variables
โ”œโ”€โ”€ mcp_config.json            # MCP server configuration
โ”œโ”€โ”€ MCP_SETUP_GUIDE.md         # MCP setup instructions
โ”œโ”€โ”€ .gitignore
โ””โ”€โ”€ README.md

๐Ÿ“š API Reference

KAMCO OpenAPI

Get your API key from ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ (data.go.kr)

  • Search for "ํ•œ๊ตญ์ž์‚ฐ๊ด€๋ฆฌ๊ณต์‚ฌ_๊ณต๋งค"
  • Register and obtain your service key
  • Use the URL-encoded version of the key

๐Ÿ“ PublicDataReader Library - History and Future Plans

Background

During development, we evaluated the PublicDataReader library, which provides a convenient wrapper around various Korean public data APIs, including KAMCO.

Why We Didn't Use PublicDataReader

Advantages of PublicDataReader:

โœ… Returns data as pandas DataFrame for easy analysis
โœ… Automatic Korean column name conversion
โœ… Simple installation via pip
โœ… Unified interface for multiple public APIs

Limitations for Our Use Case:

โŒ Difficult to access raw data structure
โŒ Additional external dependencies
โŒ Less control over data processing pipeline
โŒ Not suitable for MongoDB storage workflow
โŒ Limited customization for RAG pipeline

Our Custom Implementation Benefits:

โœ… Direct XML/Dict data processing
โœ… Built-in MongoDB storage
โœ… Integrated Flask web UI
โœ… Duplicate removal logic
โœ… Minimal external dependencies
โœ… Optimized for RAG pipeline

Future Considerations

We maintain PublicDataReader compatibility for users who prefer DataFrame-based analysis:

# Optional: Use PublicDataReader for analysis
import PublicDataReader as pdr
api = pdr.Kamco(service_key)
df = api.get_data(service="์บ ์ฝ”๊ณต๋งค๋ฌผ๊ฑด", function="๋ฌผ๊ฑด๋ชฉ๋ก")

Recommended Approach:

  • Data Collection & Storage: Use our KamcoCollectorService
  • Data Analysis: Consider PublicDataReader for exploratory analysis
  • Web Interface: Use our Flask application
  • RAG Pipeline: Use our custom implementation

For detailed PublicDataReader test results and comparisons, see tests/README_PUBLICDATAREADER.md.

๐Ÿ”ฎ Future Development Plans

Phase 1: Enhanced Data Collection (Q1 2026)

  • Implement incremental updates (delta sync)
  • Add support for additional KAMCO API endpoints
  • Implement retry logic with exponential backoff
  • Add data validation and quality checks

Phase 2: Advanced RAG Features (Q2 2026)

  • AI Chatbot with natural language search โœ…
  • Hybrid search (vector + keyword fallback) โœ…
  • Recent data query optimization โœ…
  • Multi-language support (English/Korean)
  • Enhanced vector search with re-ranking
  • Implement query expansion techniques
  • Conversation history and context memory

Phase 3: Production Readiness (Q3 2026)

  • Containerization with Docker Compose โœ…
  • MCP server for ChatGPT integration โœ…
  • Add monitoring and logging (Prometheus/Grafana)
  • Implement API rate limiting
  • Add authentication and authorization
  • Performance optimization and caching

Phase 4: Advanced Features (Q4 2026)

  • Real-time data streaming
  • Machine learning-based recommendations
  • Advanced analytics dashboard
  • Mobile application support
  • Integration with external platforms

Development Setup

# Clone the repository
git clone https://github.com/lhg96/kamco-data-collector.git
cd kamco-data-collector

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run tests
pytest

๐Ÿ“„ License

Custom License - Free for Personal Use, Commercial License Required

This software is free to use for personal, educational, and non-commercial purposes. Commercial use requires a separate license agreement.

  • โœ… Free: Personal use, education, research
  • โŒ Requires License: Commercial use, production deployment, integration into commercial products

For commercial licensing inquiries, please contact: hyun.lim@okkorea.net

Data Attribution

Exchange rate data collected from Investing.com and other public financial data sources. KAMCO auction data provided by Korea Asset Management Corporation through public data portal. Accurate as of December 2024.

๐Ÿ“ž Contact & Services

๐Ÿ’ผ Development Consulting & Outsourcing Available

We provide professional consulting and development services for IoT, AI, and embedded systems projects.

๐Ÿ‘จโ€๐Ÿ’ผ Project Manager Contact

๐Ÿ› ๏ธ Technical Expertise / ๊ธฐ์ˆ  ์ „๋ฌธ ๋ถ„์•ผ

  • IoT System Design and Development / IoT ์‹œ์Šคํ…œ ์„ค๊ณ„ ๋ฐ ๊ฐœ๋ฐœ
  • Embedded Software Development / ์ž„๋ฒ ๋””๋“œ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ (Arduino, ESP32)
  • AI Service Development / AI ์„œ๋น„์Šค ๊ฐœ๋ฐœ (LLM, MCP Agent)
  • Cloud Service Architecture / ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๊ตฌ์ถ• (Google Cloud Platform)
  • Hardware Prototyping / ํ•˜๋“œ์›จ์–ด ํ”„๋กœํ† ํƒ€์ดํ•‘

๐Ÿ’ผ Services / ์„œ๋น„์Šค

Technical Consulting / ๊ธฐ์ˆ  ์ปจ์„คํŒ…

  • IoT project planning and design consultation / IoT ํ”„๋กœ์ ํŠธ ๊ธฐํš ๋ฐ ์„ค๊ณ„ ์ž๋ฌธ
  • System architecture design / ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„
  • Technology stack selection / ๊ธฐ์ˆ  ์Šคํƒ ์„ ์ •

Development Outsourcing / ๊ฐœ๋ฐœ ์™ธ์ฃผ

  • Full-stack development from firmware to cloud / ํŽŒ์›จ์–ด๋ถ€ํ„ฐ ํด๋ผ์šฐ๋“œ๊นŒ์ง€ Full-stack ๊ฐœ๋ฐœ
  • Proof of Concept (PoC) development / ๊ฐœ๋… ๊ฒ€์ฆ ๊ฐœ๋ฐœ
  • Production-ready system development / ์ƒ์šฉ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ

๐Ÿ™ Acknowledgments


Made with โค๏ธ by OK Korea

About

Integrated solution for KAMCO (Korea Asset Management Corporation) public sale data collection, normalization, and RAG-based analysis - REST API delivery - Automatic data collection and normalization - RAG-based vector search - MongoDB + Qdrant

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages