일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- docker
- AI
- format
- Python
- Laravel
- file
- PostgreSQL
- Flask
- git
- Container
- GitLab
- Paper
- Database
- DB
- evaluation
- Mac
- CUDA
- Package
- LLM
- pandas
- Linux
- list
- numpy
- Windows
- enV
- judge
- KAKAO
- Converting
- TORCH
- pytorch
Archives
- Today
- Total
Daily Develope
[AI] jinaai Embedding 모델 샘플코드 본문
모델 로딩 (huggingface)
import torch
from transformers import AutoModel, AutoTokenizer
model_name = "jinaai/jina-embeddings-v3"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModel.from_pretrained(model_name)
Tokenizer 테스트
# Token 출력 (Dict. id값)
embedding = tokenizer("한 남자가 밧줄을 타고 올라가고 있다.")
print(len(embedding[0])) # 14
# [0, 3103, 64757, 713, 6, 246028, 60354, 413, 156860, 87179, 108435, 3162, 5, 2]
# Truncation
embedding = tokenizer("한 남자가 밧줄을 타고 올라가고 있다.", truncation=True, max_length=10)
print(len(embedding[0])) # 10
# [0, 3103, 64757, 713, 6, 246028, 60354, 413, 156860, 2]
# Padding
embedding = tokenizer("한 남자가 밧줄을 타고 올라가고 있다.", padding="max_length", max_length=20)
print(len(embedding[0])) # 20
# [0, 3103, 64757, 713, 6, 246028, 60354, 413, 156860, 87179, 108435, 3162, 5, 2, 1, 1, 1, 1, 1, 1]
Embedding / Vector 출력 및 유사도 확인
inputs = ["한 남자가 밧줄을 타고 올라가고 있다.", "한 남자가 밧줄을 타고 내려온다.", "한 남자가 사다리를 타고 올라간다.", "한 여성이 플루트를 연주하고 있다."]
with torch.no_grad():
result = model.encode(inputs, task="text-matching", max_length=2048, truncate_dim=512)
# 첫 문장과 다른 문장들 간의 유사도 비교
print(result[0] @ result[1].T) # 0.8912654
print(result[0] @ result[2].T) # 0.80115944
print(result[0] @ result[3].T) # 0.2859928
'AI' 카테고리의 다른 글
[Paper] Adaptive Mixtures of Local Experts (1991) (0) | 2025.01.06 |
---|---|
[AI] LLM Judge 적용 방법 정리 (0) | 2024.10.31 |
[AI] 키워드/용어 정리 for research (0) | 2024.10.10 |
[Article] OpenAI o1 간략 정리 (1) | 2024.10.02 |
[LLM] llama 3 주요 정보 정리 (0) | 2024.04.24 |