<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Chromadb_%EC%82%AC%EC%9A%A9_%EC%98%88%EC%8B%9C</id>
	<title>Chromadb 사용 예시 - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://dbstudy.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=Chromadb_%EC%82%AC%EC%9A%A9_%EC%98%88%EC%8B%9C"/>
	<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=Chromadb_%EC%82%AC%EC%9A%A9_%EC%98%88%EC%8B%9C&amp;action=history"/>
	<updated>2026-05-08T14:32:20Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.39.10</generator>
	<entry>
		<id>https://dbstudy.co.kr/w/index.php?title=Chromadb_%EC%82%AC%EC%9A%A9_%EC%98%88%EC%8B%9C&amp;diff=862&amp;oldid=prev</id>
		<title>Oracle: 새 문서: == ChromaDB 상세 사용 예제 ==  === 1. 기본 설정 및 컬렉션 생성 === &lt;source lang=&quot;python&quot;&gt; import chromadb from chromadb.config import Settings  # ChromaDB 클라이언트 생성 client = chromadb.Client(Settings(     chroma_db_impl=&quot;duckdb+parquet&quot;,     persist_directory=&quot;./chroma_storage&quot;  # 데이터 영구 저장 경로 ))  # 컬렉션 생성 collection = client.create_collection(     name=&quot;book_collection&quot;,     metadata={&quot;description&quot;: &quot;책 정보 저장소&quot;}...</title>
		<link rel="alternate" type="text/html" href="https://dbstudy.co.kr/w/index.php?title=Chromadb_%EC%82%AC%EC%9A%A9_%EC%98%88%EC%8B%9C&amp;diff=862&amp;oldid=prev"/>
		<updated>2025-06-25T11:53:02Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == ChromaDB 상세 사용 예제 ==  === 1. 기본 설정 및 컬렉션 생성 === &amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; import chromadb from chromadb.config import Settings  # ChromaDB 클라이언트 생성 client = chromadb.Client(Settings(     chroma_db_impl=&amp;quot;duckdb+parquet&amp;quot;,     persist_directory=&amp;quot;./chroma_storage&amp;quot;  # 데이터 영구 저장 경로 ))  # 컬렉션 생성 collection = client.create_collection(     name=&amp;quot;book_collection&amp;quot;,     metadata={&amp;quot;description&amp;quot;: &amp;quot;책 정보 저장소&amp;quot;}...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== ChromaDB 상세 사용 예제 ==&lt;br /&gt;
&lt;br /&gt;
=== 1. 기본 설정 및 컬렉션 생성 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import chromadb&lt;br /&gt;
from chromadb.config import Settings&lt;br /&gt;
&lt;br /&gt;
# ChromaDB 클라이언트 생성&lt;br /&gt;
client = chromadb.Client(Settings(&lt;br /&gt;
    chroma_db_impl=&amp;quot;duckdb+parquet&amp;quot;,&lt;br /&gt;
    persist_directory=&amp;quot;./chroma_storage&amp;quot;  # 데이터 영구 저장 경로&lt;br /&gt;
))&lt;br /&gt;
&lt;br /&gt;
# 컬렉션 생성&lt;br /&gt;
collection = client.create_collection(&lt;br /&gt;
    name=&amp;quot;book_collection&amp;quot;,&lt;br /&gt;
    metadata={&amp;quot;description&amp;quot;: &amp;quot;책 정보 저장소&amp;quot;}&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. 데이터 임베딩 및 추가 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
from sentence_transformers import SentenceTransformer&lt;br /&gt;
&lt;br /&gt;
# 임베딩 모델 로드&lt;br /&gt;
embedding_model = SentenceTransformer(&amp;#039;all-MiniLM-L6-v2&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
# 샘플 책 데이터&lt;br /&gt;
books = [&lt;br /&gt;
    &amp;quot;데미안 - 헤르만 헤세의 소설&amp;quot;,&lt;br /&gt;
    &amp;quot;1984 - 조지 오웰의 디스토피아 소설&amp;quot;,&lt;br /&gt;
    &amp;quot;홍길동전 - 허균의 고전 소설&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
# 임베딩 생성&lt;br /&gt;
embeddings = embedding_model.encode(books)&lt;br /&gt;
&lt;br /&gt;
# ChromaDB에 데이터 추가&lt;br /&gt;
collection.add(&lt;br /&gt;
    embeddings=embeddings.tolist(),&lt;br /&gt;
    documents=books,&lt;br /&gt;
    ids=[f&amp;quot;book_{i}&amp;quot; for i in range(len(books))]&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. 유사도 검색 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# 쿼리 임베딩 생성&lt;br /&gt;
query = &amp;quot;소설 추천해줘&amp;quot;&lt;br /&gt;
query_embedding = embedding_model.encode([query]).tolist()&lt;br /&gt;
&lt;br /&gt;
# 유사도 검색 수행&lt;br /&gt;
results = collection.query(&lt;br /&gt;
    query_embeddings=query_embedding,&lt;br /&gt;
    n_results=2  # 상위 2개 결과 반환&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 결과 출력&lt;br /&gt;
for i, doc in enumerate(results[&amp;#039;documents&amp;#039;][0]):&lt;br /&gt;
    print(f&amp;quot;유사도 결과 {i+1}: {doc}&amp;quot;)&lt;br /&gt;
    print(f&amp;quot;유사도 점수: {results[&amp;#039;distances&amp;#039;][0][i]}&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. 고급 필터링 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# 메타데이터를 포함한 컬렉션 생성&lt;br /&gt;
collection_with_meta = client.create_collection(&lt;br /&gt;
    name=&amp;quot;advanced_book_collection&amp;quot;,&lt;br /&gt;
    metadata={&amp;quot;type&amp;quot;: &amp;quot;book_catalog&amp;quot;}&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 메타데이터 포함 데이터 추가&lt;br /&gt;
collection_with_meta.add(&lt;br /&gt;
    embeddings=embeddings.tolist(),&lt;br /&gt;
    documents=books,&lt;br /&gt;
    ids=[f&amp;quot;book_{i}&amp;quot; for i in range(len(books))],&lt;br /&gt;
    metadatas=[&lt;br /&gt;
        {&amp;quot;genre&amp;quot;: &amp;quot;소설&amp;quot;, &amp;quot;author&amp;quot;: &amp;quot;헤르만 헤세&amp;quot;},&lt;br /&gt;
        {&amp;quot;genre&amp;quot;: &amp;quot;디스토피아&amp;quot;, &amp;quot;author&amp;quot;: &amp;quot;조지 오웰&amp;quot;},&lt;br /&gt;
        {&amp;quot;genre&amp;quot;: &amp;quot;고전&amp;quot;, &amp;quot;author&amp;quot;: &amp;quot;허균&amp;quot;}&lt;br /&gt;
    ]&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 메타데이터 기반 필터링&lt;br /&gt;
filtered_results = collection_with_meta.query(&lt;br /&gt;
    query_embeddings=query_embedding,&lt;br /&gt;
    where={&amp;quot;genre&amp;quot;: &amp;quot;소설&amp;quot;},  # 소설 장르만 필터링&lt;br /&gt;
    n_results=1&lt;br /&gt;
)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 5. 컬렉션 관리 ===&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
# 컬렉션 목록 확인&lt;br /&gt;
print(client.list_collections())&lt;br /&gt;
&lt;br /&gt;
# 특정 컬렉션 삭제&lt;br /&gt;
client.delete_collection(name=&amp;quot;book_collection&amp;quot;)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 주의사항 ==&lt;br /&gt;
* 임베딩 모델 선택에 따라 성능 차이 발생&lt;br /&gt;
* 대규모 데이터셋에서는 성능 최적화 필요&lt;br /&gt;
* 정기적인 데이터 백업 권장&lt;br /&gt;
&lt;br /&gt;
== 활용 팁 ==&lt;br /&gt;
* 다양한 임베딩 모델 실험&lt;br /&gt;
* 메타데이터 활용으로 검색 정확도 향상&lt;br /&gt;
* 프로젝트 특성에 맞는 모델 선택&lt;br /&gt;
[[category:chromadb]]&lt;/div&gt;</summary>
		<author><name>Oracle</name></author>
	</entry>
</feed>