# Hugging Face에서 Sentence Transformers 사용

`sentence-transformers`는 문장, 단락, 이미지 임베딩(밀집 벡터 표현)을 계산하는 간편한 방법을 제공하는 라이브러리입니다. 텍스트는 유사한 텍스트가 서로 가깝게 위치하도록 벡터 공간에 임베딩되며, 이를 통해 의미론적 검색, 클러스터링, 검색과 같은 애플리케이션이 가능해집니다.

## Hub에서 sentence-transformers 탐색

[모델 페이지](https://huggingface.co/models?library=sentence-transformers&sort=downloads) 왼쪽에서 필터링하면 500개 이상의 `sentence-transformer` 모델을 찾을 수 있습니다. 이 모델들은 대부분 임베딩을 생성하기 위한 [`feature-extraction`](https://huggingface.co/models?library=sentence-transformers&pipeline_tag=feature-extraction&sort=downloads)와 특정 문장이 다른 문장과 얼마나 유사한지를 결정하는 [`sentence-similarity`](https://huggingface.co/models?library=sentence-transformers&pipeline_tag=sentence-similarity&sort=downloads) 등 다양한 작업을 지원합니다. 또한 [공식 문서](https://www.sbert.net/docs/pretrained_models.html)에서 공식 사전 학습 모델에 대한 개요를 확인할 수 있습니다.

Hub의 모든 모델에는 다음과 같은 기능이 제공됩니다:
1. 설명, 예제 코드 스니펫, 아키텍처 개요 등이 포함된 자동 생성된 모델 카드
2. 검색 가능성을 높이고 라이선스 등의 정보를 포함하는 메타데이터 태그입니다.
3. 모델을 브라우저에서 직접 실험해 볼 수 있는 인터랙티브 위젯입니다.
4. 추론 요청을 수행할 수 있는 Inference Providers 위젯입니다.

## 기존 모델 사용

Hub의 사전 학습된 모델은 한 줄의 코드로 로드할 수 있습니다

```py
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('model_name')
```

여기는 문장을 인코딩한 후 의미 검색을 수행하기 위해 그들 사이의 거리를 계산하는 예시입니다.

```py
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('multi-qa-MiniLM-L6-cos-v1')

query_embedding = model.encode('How big is London')
passage_embedding = model.encode(['London has 9,787,426 inhabitants at the 2011 census',
                                  'London is known for its financial district'])

print("Similarity:", util.dot_score(query_embedding, passage_embedding))
```

특정 모델을 로드하는 방법을 확인하려면 `Use in sentence-transformers`를 클릭하면 해당 모델을 로드할 수 있는 작동하는 스니펫이 제공됩니다!

## 모델 공유

학습된 모델의 `save_to_hub` 메서드를 사용하여 Sentence Transformers를 공유할 수 있습니다.

```py
from sentence_transformers import SentenceTransformer

# Load or train a model
model.save_to_hub("my_new_model")
```

이 명령은 자동으로 생성된 모델 카드, 추론 위젯, 예제 코드 스니펫 등을 포함하는 저장소를 생성합니다. [여기](https://huggingface.co/osanseviero/my_new_model)는 예시입니다.

## 추가 리소스

* Sentence Transformers [라이브러리](https://github.com/UKPLab/sentence-transformers).
* Sentence Transformers [문서](https://www.sbert.net/).
* Hub [공지](https://huggingface.co/blog/sentence-transformers-in-the-hub)와의 통합

