일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- KNN
- 아이온큐
- TSLA
- 테슬라
- file download
- java crawler
- vavr
- elasticsearch cache
- Cache
- Selenium
- Aggregation
- ann
- dbeaver
- api cache
- API
- NORI
- aggs
- redis
- request cache
- aqqle
- Docker
- Elasticsearch
- 양자컴퓨터
- Query
- Elastic
- Analyzer
- JPA
- java
- IONQ
- mysql
Archives
- Today
- Total
아빠는 개발자
[NLP] upskyy 본문
728x90
반응형
upskyy/bge-m3-korean 이게 가장 좋다고 하니 테스트 해보잣.
아까와 동일한 단어 ..
아까라고 한다면 snunlp
import torch
from sentence_transformers import SentenceTransformer, models, util
def load_sentence_model(model_name="upskyy/bge-m3-korean"):
# GPU 사용 가능 시
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Using device: {device}")
# 1) Transformer 모듈 생성: tokenizer_args로 use_fast=False 강제
word_embedding_model = models.Transformer(
model_name,
tokenizer_args={"use_fast": False}
)
# 2) Pooling 모듈 (CLS 토큰 또는 mean pooling)
pooling_model = models.Pooling(
word_embedding_model.get_word_embedding_dimension(),
pooling_mode_mean_tokens=True,
pooling_mode_cls_token=False,
pooling_mode_max_tokens=False
)
# 3) 위 두 모듈을 합쳐서 SentenceTransformer 인스턴스 생성
model = SentenceTransformer(
modules=[word_embedding_model, pooling_model],
device=device
)
return model
if __name__ == "__main__":
model = load_sentence_model("upskyy/bge-m3-korean")
sentences = ["오뚜기참기름", "오뜌기참기름"]
# 유사도 계산
embs = model.encode(sentences, convert_to_tensor=True)
sim_score = util.pytorch_cos_sim(embs[0], embs[1])
print(f"Similarity: {sim_score.item():.4f}")
"오뚜기참기름", "오뜌기참기름"
Similarity: 0.8893
from sentence_transformers import SentenceTransformer, util
# 1) 모델 로드
model = SentenceTransformer('upskyy/bge-m3-korean')
# 2) 비교할 문장 쌍
sentences = [
"이 제품의 가격이 마음에 듭니다.",
"이 상품 가격이 만족스러워요."
]
# 3) 임베딩 생성 (Tensor 반환)
embeddings = model.encode(sentences, convert_to_tensor=True)
# 4) 코사인 유사도 계산
cos_sim = util.cos_sim(embeddings[0], embeddings[1])
print(f"Cosine Similarity: {cos_sim.item():.4f}")
728x90
반응형
'NLP > HuggingFace' 카테고리의 다른 글
[NLP] jhgan vs snunlp vs upskyy (0) | 2025.05.05 |
---|---|
[NLP] jhgan (0) | 2025.05.05 |
[NLP] snunlp (0) | 2025.05.01 |
[NLP] 가상환경 만들기 - conda (0) | 2025.05.01 |
[NLP] Hugging Face (1) | 2025.04.30 |