OpenAI / text-embedding-3-small
Milvus & Zilliz Cloud Integrated
작업: 임베딩
형태: 텍스트
유사성 측정법: 모두(정규화)
라이선스: 독점
차원: 1536
최대 입력 토큰: 8191
가격: 0.02/1M 토큰
텍스트 임베딩-3-small 소개
텍스트 임베딩-3-small은 OpenAI의 작은 텍스트 임베딩 모델로, 1536 크기의 임베딩을 생성합니다. OpenAI의 다른 텍스트 임베딩 모델인text-embedding-ada-002,text-embedding-3-large에 비해text-embedding-3-small`은 정확도와 효율성이 향상된 가장 비용 효율적인 모델입니다. 범용 벡터 검색 애플리케이션에 적합합니다.
몇 가지 기본 사항을 간단히 살펴보겠습니다.
| 모델 | 크기 | 최대 토큰 | 모델 MIRACL 평균 | METB 평균 | 가격 |
|---|---|---|---|---|---|
| text-embedding-3-large | 3072 | 8191 | 54.9 | 64.6 | $0.13 / 1M 토큰 |
| text-embedding-ada-002 | 1536 | 8191 | 31.4 | 61.0 | $0.10 / 1M 토큰 |
| 텍스트-임베딩-3-small | 1536 | 8191 | 44.0 | 62.3 | $0.02 / 1M 토큰 |
텍스트 임베딩-3-small로 벡터 임베딩 생성하는 방법
벡터 임베딩을 생성하는 방법은 크게 두 가지가 있습니다:
- PyMilvus](https://github.com/milvus-io/pymilvus):
text-embedding-3-small모델을 원활하게 통합하는 Milvus 용 Python SDK. - OpenAI 임베딩**: OpenAI에서 제공하는 Python SDK.
벡터 임베딩이 생성되면, 질리즈 클라우드(Milvus가 제공하는 완전 관리형 벡터 데이터베이스 서비스)에 저장하여 의미적 유사도 검색에 사용할 수 있습니다. 다음은 네 가지 주요 단계입니다:
- 질리즈 클라우드 계정을 무료로 가입합니다.
- 서버리스 클러스터 설정](https://docs.zilliz.com/docs/create-cluster#set-up-a-free-cluster) 및 퍼블릭 엔드포인트 및 API 키를 발급받습니다.
- 벡터 컬렉션을 생성하고 벡터 임베딩을 삽입합니다.
- 저장된 임베딩에 대해 시맨틱 검색을 실행합니다.
파이밀버스를 통해 벡터 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 진행합니다.
파이밀버스 가져오기 모델, MilvusClient에서
OPENAI_API_KEY = "your-openai-api-key"
ef = model.dense.OpenAIEmbeddingFunction(
모델_이름="텍스트 임베딩-3-소형",
api_key=OPENAI_API_KEY,
)
# 문서에 대한 임베딩 생성
docs = [
"인공 지능은 1956년에 학문 분야로 설립되었습니다.",
"앨런 튜링은 인공지능 분야에서 실질적인 연구를 수행한 최초의 인물입니다.",
"런던의 메이다 베일에서 태어난 튜링은 영국 남부에서 자랐습니다.", "앨런 튜링은 인공지능을 연구한 최초의 사람입니다.".
]
문서_임베딩 = ef.encode_documents(docs)
# 쿼리에 대한 임베딩 생성하기
queries = ["인공 지능은 언제 설립되었나요",
"앨런 튜링은 어디에서 태어났나요?"]
쿼리 임베딩 = ef.encode_queries(쿼리)
# 퍼블릭 엔드포인트와 API 키로 질리즈 클라우드에 연결하기
client = 밀버스클라이언트(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
컬렉션 = "문서"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=ef.dim,
auto_id=True)
문서의 경우 zip(docs, docs_embeddings)에 임베딩합니다:
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data = 쿼리_임베딩,
일관성_레벨="강함",
output_fields=["text"])
자세한 내용은 파이밀버스 임베딩 모델 문서를 참조하세요.
OpenAI의 Python SDK를 통해 임베딩을 생성하고 질리즈 클라우드에 삽입하여 시맨틱 검색을 수행합니다.
openai에서 OpenAI를 가져옵니다.
pymilvus에서 MilvusClient를 가져옵니다.
OPENAI_API_KEY = "your-openai-api-key"
client = OpenAI(api_key=OPENAI_API_KEY)
# 문서에 대한 임베딩 생성
doc_response = client.embeddings.create(
input=[
"인공 지능은 1956년에 학문 분야로 설립되었습니다.",
"앨런 튜링은 인공지능 분야에서 실질적인 연구를 수행한 최초의 인물입니다.",
"런던의 메이다 베일에서 태어난 튜링은 영국 남부에서 자랐습니다.", "앨런 튜링은 인공지능을 실질적으로 연구한 최초의 사람입니다."
],
model="text-embedding-3-small"
)
doc_embeddings = [doc_response.data의 데이터에 대한 데이터.임베딩]
# 쿼리에 대한 임베딩 생성
query_response = client.embeddings.create(
입력=["인공 지능은 언제 설립되었나요",
"앨런 튜링은 어디에서 태어났나요?"],
model="text-embedding-3-small"
)
쿼리_임베딩 = [쿼리_응답.데이터의 데이터에 대한 데이터.임베딩]
# 퍼블릭 엔드포인트와 API 키로 질리즈 클라우드에 연결하기
client = 밀버스클라이언트(
uri=ZILLIZ_PUBLIC_ENDPOINT,
token=ZILLIZ_API_KEY)
컬렉션 = "문서"
if client.has_collection(collection_name=COLLECTION):
client.drop_collection(collection_name=COLLECTION)
client.create_collection(
collection_name=COLLECTION,
dimension=1536,
auto_id=True)
문서의 경우 zip(docs, docs_embeddings)에 임베딩합니다:
client.insert(COLLECTION, {"text": doc, "vector": embedding})
results = client.search(
collection_name=COLLECTION,
data = 쿼리_임베딩,
일관성_레벨="강함",
output_fields=["text"])
자세한 내용은 OpenAI 임베딩 가이드를 참조하세요.
원활한 AI 워크플로
임베딩부터 확장 가능한 AI 검색까지—Zilliz Cloud를 사용하면 비교할 수 없는 속도와 효율성으로 임베딩을 저장, 인덱싱 및 검색할 수 있습니다.
Zilliz Cloud를 무료로 사용해 보세요

