생성형(Generative) 및 리랭커(Reranker) 모델
생성형(Generative) 및 리랭커(Reranker) 모델
임베딩 모델(벡터라이저)을 구성했다면, 이제 생성형(generative) 모델과 리랭커(reranker) 모델을 컬렉션에 붙이는 법을 알아볼게요. 생성형 모델은 RAG(검색 증강 생성)에 쓰이고, 리랭커는 검색에서 뽑은 결과를 재정렬해 품질을 높이는 역할을 합니다. 임베딩 모델 구성은 벡터라이저 가이드에서 다룹니다.
출처: 공식문서
리랭커 구성
reranker 모델 통합을 컬렉션 구성에 추가하면, 검색 결과로 뽑힌 객체들을 리랭킹할 수 있어요.
from weaviate.classes.config import Configure, Property, DataType
client.collections.create(
"Article",
vector_config=Configure.Vectors.text2vec_openai(),
reranker_config=Configure.Reranker.cohere(),
)
v1.25.23,v1.26.8,v1.27.1부터reranker와generative구성은 변경 가능(mutable) 해요. 즉 컬렉션 생성 후에도 업데이트할 수 있습니다.
리랭커 업데이트
from weaviate.classes.config import Reconfigure
collection = client.collections.use("Article")
collection.config.update(
reranker_config=Reconfigure.Reranker.cohere() # Update the reranker module
)
생성형 모델 구성
generative 모델 통합을 컬렉션에 지정하면 RAG를 구현할 수 있어요. 아래 예시는 OpenAI의 gpt-4o를 생성형 모델로 설정합니다.
from weaviate.classes.config import Configure, Property, DataType
client.collections.create(
"Article",
vector_config=Configure.Vectors.text2vec_openai(),
generative_config=Configure.Generative.openai(
model="gpt-4o" # set your generative model (optional parameter)
),
)
생성형 모델 업데이트
from weaviate.classes.config import Reconfigure
collection = client.collections.use("Article")
collection.config.update(
generative_config=Reconfigure.Generative.cohere() # Update the generative module
)