Monday(02.17)
Docker Compose with network
+---------------------------------------------------+
| Docker Compose |
| +-----------------------------------------------+ |
| | Elasticsearch Service | |
| | - Elasticsearch running in Docker | |
| | - Exposes HTTP API to interact with data | |
| +-----------------------------------------------+ |
| +-----------------------------------------------+ |
| | Kibana Service | |
| | - Kibana running in Docker (UI for ES) | |
| | - Web interface to visualize Elasticsearch | |
| +-----------------------------------------------+ |
| +-----------------------------------------------+ |
| | Conda Environment (woori-ai) | |
| | - Python, ipykernel, streamlit, pandas, etc.| |
| | - Jupyter Kernel (WOORIAI-KERNEL) | |
| | - Custom libraries for your projects | |
| +-----------------------------------------------+ |
| โ | |
| +-----------------------------------------------+ |
| | Jupyter Notebook | |
| | - Select Kernel: WOORIAI-KERNEL | |
| | - Run Python Code | |
| +-----------------------------------------------+ |
| โ | |
| +-----------------------------------------------+ |
| | Streamlit | |
| | - streamlit run <app.py> | |
| +-----------------------------------------------+ |
+---------------------------------------------------+
- Conda ์์ Jupyter์ Streamlit์ด ์ค์น๋์ด ์์ง๋ง, ์ค์ ๋ก ์คํ๋๋ ๊ฒ์ Conda ํ๊ฒฝ ๋ด์์ ์คํ๋๋ ๊ฒ์ด ์๋๋ผ, Conda ํ๊ฒฝ์ ์ฌ์ฉํ๋ Jupyter์ Streamlit์ด๋ค.
- Conda๋ ํ๊ฒฝ์ ๊ด๋ฆฌํ๋ ๋๊ตฌ์ด๊ณ , Jupyter์ Streamlit์ Conda ํ๊ฒฝ์ ์ฌ์ฉํ๋ ํด
- ์ค์ ๋ก Jupyter์ Streamlit์ Conda ํ๊ฒฝ ๋ด์์ ์คํ๋๋ ๊ฒ์ด ์๋๋ผ, Conda ํ๊ฒฝ์ ํตํด ์คํ๋๋ ํ๋ก๊ทธ๋จ์ด๋ค,
- ์ฆ, Conda๋ ํ๊ฒฝ์ ์ ๊ณตํ๊ณ , Jupyter์ Streamlit์ ๊ทธ ํ๊ฒฝ์ ์ฌ์ฉํ์ฌ ์์ ์ ์คํํ๋ ๊ตฌ์กฐ
์ด๋ ๊ฐ ์ปจํ ์ด๋๋ผ๋ฆฌ ์ฐ๊ฒฐํ๋ ค๋ฉด docker network๋ฅผ ๊ตฌ์ฑํด์ผํ๋ค.
๊ฐ ์ปจํ ์ด๋๋ ๊ณ ์ ํ ๋คํธ์ํฌ ์ฃผ์๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์, ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ก์ localhost๋ฅผ ํตํด ์ง์ ์ ๊ทผํ ์ ์๋ค.
๊ธฐ๋ณธ์ ์ธ ๋์ ๋ฐฉ์:
- ๊ฐ ์ปจํ
์ด๋๋ ๊ณ ์ ํ IP ์ฃผ์๋ฅผ ๊ฐ์ง
- Docker์์ ์ปจํ ์ด๋๋ ๊ฐ์ ๊ณ ์ ํ ๊ฐ์ ๋คํธ์ํฌ ๋ด์์ ์คํ๋๋ฉฐ, ๊ธฐ๋ณธ์ ์ผ๋ก๋ ๋ค๋ฅธ ์ปจํ ์ด๋์ IP ์ฃผ์๋ฅผ ์์ง ๋ชปํ๋ค.
- ์ฆ, localhost๋ 127.0.0.1์ ํตํด ๋ค๋ฅธ ์ปจํ ์ด๋์ ์ ๊ทผํ๋ ค๊ณ ํ๋ฉด, ๊ทธ ์ปจํ ์ด๋์ ์ฐ๊ฒฐ๋์ง ์๋๋ค.
- ๊ธฐ๋ณธ์ ์ผ๋ก ๋์ผํ ๋คํธ์ํฌ์ ์ํ์ง ์๋ ์ปจํ ์ด๋๋ผ๋ฆฌ๋ ์๋ก ํต์ ํ ์ ์๋ค.
version: "3"
services:
es1:
networks:
- new_network
kibana:
networks:
- new_network
anaconda:
networks:
- new_network
networks:
new_network: # ๋คํธ์ํฌ ์ด๋ฆ
driver: bridge # ๊ธฐ๋ณธ ๋คํธ์ํฌ ๋๋ผ์ด๋ฒ
1. Elasticsearch (์ง์ HTTP ์์ฒญ์ผ๋ก ์ฟผ๋ฆฌ ์์ฑ)
Elasticsearch๋ฅผ ์ง์ ์ฌ์ฉํ ๋๋ JSON ๊ธฐ๋ฐ์ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ๊ณ , HTTP ์์ฒญ์ ํตํด Elasticsearch์ ์ ๋ฌํ์ฌ ๊ฒ์์ ์คํ
elasticsearch-py ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํด์ JSON ์ฟผ๋ฆฌ๋ฅผ ์ง์ ๋ณด๋ด๋ ๋ฐฉ์
from elasticsearch import Elasticsearch
from datetime import datetime
client = Elasticsearch('http://localhost:9200')
# ๋ฐ์ดํฐ ์ธ๋ฑ์ฑ
INDEX = 'test-index'
doc = {
'author': '๋๋ผ์๋ชฝ',
'text': '์ฒซ๋ฒ์งธ ๊ธ์
๋๋ค',
'timestamp': datetime.now(),
}
response = client.index(index=INDEX, id=1, document=doc)
print(response['result'])
2. elasticsearch-dsl
elasticsearch-dsl์ ์์์ ์ค๋ช ํ Elasticsearch Query DSL์ ํ์ด์ฌ ์ฝ๋๋ก ๋ ๊ฐํธํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ๋์์ฃผ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
elasticsearch-dsl์ ์ฌ์ฉํ๋ฉด ์ฟผ๋ฆฌ ์์ฑ์ด ๊ฐ์ฒด ์งํฅ์ ์ผ๋ก ๋ฐ๋๊ณ , JSON์ ์ง์ ์์ฑํ์ง ์์๋ ๋๋ค.
# `match` ์ฟผ๋ฆฌ ์คํ (์ง์ JSON์ผ๋ก ์ฟผ๋ฆฌ ์์ฑ)
query = {
"query": {
"match": {
"author": "๋๋ผ์๋ชฝ"
}
}
}
# ์ฟผ๋ฆฌ ์คํ
response = client.search(index=INDEX, body=query)
print('๊ฒ์ ๊ฒฐ๊ณผ:', response['hits']['hits'])
Embedding
๋จธ๋ฆฟ์ ์ฐจ์ → ์ผ๊ธฐ
Embedding์ ์๋ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฅธ ์ฐจ์์ผ๋ก ๋งคํํ๋ ๊ณผ์ ์ ์๋ฏธ
๋จธ๋ฆฟ์์์ ์๊ฐํ๋ ๋ณต์กํ ๊ฐ๋ ์ด๋ ๊ฐ์ ์ด ์ผ๊ธฐ๋ผ๋ ๊ตฌ์ฒด์ ์ธ ํํ๋ก ํ์ด์ง๋ ๊ณผ์
์ฆ, ์ถ์์ ์ด๊ณ ๋ด์ ์ธ ์๊ฐ์ ์ธ์ ์ธ ํํ(์ผ๊ธฐ)๋ก '์๋ฒ ๋ฉ(embedding)'ํ๋ ๊ฒ
์์์ผ๋ก ์ฌ๊ณ → ๋ฌธ์
์๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ์ธ์ด๋ก ๋ณํํ๋ ์ฐฝ์์ ๊ณผ์
์์ ๊ณต๊ฐ → ๊ณต๊ฐ
์์ ๊ณต๊ฐ์ ์ํ์์ ๊ฐ์ฒด๋ค์ ์ฐ์์ ์ธ ๋ณํ์ ๋ค๋ฃจ๋ ๊ฐ๋
์ํ์ ์ด๊ฑฐ๋ ์ถ์์ ์ธ ๊ฐ๋ ์ ์ฐ๋ฆฌ๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๊ฒฝํํ๋ ๊ณต๊ฐ์ผ๋ก ๋์ด์ค๋ ๊ณผ์
Tuesday(02.18)
Wednesday(02.19)
Thursday(02.20)
Friday(02.21)
'๐ฐ์ฐ๋ฆฌ FISA > ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 6์ฃผ์ฐจ ๊ณผ์ (0) | 2025.02.11 |
---|---|
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 5์ฃผ์ฐจ ๊ณผ์ (0) | 2025.02.03 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 4์ฃผ์ฐจ ๊ณผ์ (0) | 2025.01.20 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 3์ฃผ์ฐจ ๊ณผ์ (0) | 2025.01.13 |
์ฐ๋ฆฌ FISA AI์์ง๋์ด๋ง 2์ฃผ์ฐจ ๊ณผ์ (0) | 2025.01.06 |