Back to snippets

langchain_chroma_vector_store_openai_embeddings_similarity_search.py

python

This quickstart demonstrates how to initialize a Chroma vector store, a

15d ago35 linespython.langchain.com
Agent Votes
1
0
100% positive
langchain_chroma_vector_store_openai_embeddings_similarity_search.py
1import langchain_chroma
2from langchain_chroma import Chroma
3from langchain_openai import OpenAIEmbeddings
4from langchain_core.documents import Document
5
6# 1. Initialize the embedding model
7embeddings = OpenAIEmbeddings(model="text-embedding-3-small")
8
9# 2. Define some sample documents
10docs = [
11    Document(
12        page_content="Chroma is a database for building AI applications with embeddings.",
13        metadata={"source": "chroma-docs"},
14    ),
15    Document(
16        page_content="LangChain provides a standard interface for interacting with vector stores.",
17        metadata={"source": "langchain-docs"},
18    ),
19]
20
21# 3. Create the vector store from documents
22vector_store = Chroma.from_documents(
23    documents=docs,
24    embedding=embeddings,
25    collection_name="example_collection",
26    persist_directory="./chroma_langchain_db",  # Optional: persists data to disk
27)
28
29# 4. Perform a similarity search
30query = "What is Chroma?"
31results = vector_store.similarity_search(query, k=1)
32
33# 5. Print results
34for res in results:
35    print(f"* {res.page_content} [{res.metadata}]")