> For the complete documentation index, see [llms.txt](https://jason-kang.gitbook.io/rag-llm-application-feat.-langchain/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://jason-kang.gitbook.io/rag-llm-application-feat.-langchain/3.-langchain-retrieval-augmented-generation-rag/3.4-langchain-vector-database-chroma-pinecone.md).

# 3.4 LangChain을 활용한 Vector Database 변경 (Chroma ➡️ Pinecone)

* LangChain을 활용하면 쉽게 Vector Database 변경가능
* LangChain 공식문서의 [Chroma 사용 가이드](https://python.langchain.com/v0.2/docs/integrations/vectorstores/chroma/) ↗️ 를 기준으로 보면 한줄만 변경하면 됨

<pre class="language-python"><code class="lang-python"># import
from langchain_chroma import Chroma
from langchain_community.document_loaders import TextLoader
from langchain_community.embeddings.sentence_transformer import (
    SentenceTransformerEmbeddings,
)
from langchain_text_splitters import CharacterTextSplitter

# load the document and split it into chunks
loader = TextLoader("../../how_to/state_of_the_union.txt")
documents = loader.load()

# split it into chunks
text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0)
docs = text_splitter.split_documents(documents)

# create the open-source embedding function
embedding_function = SentenceTransformerEmbeddings(model_name="all-MiniLM-L6-v2")

# load it into Chroma
<a data-footnote-ref href="#user-content-fn-1">db = Chroma.from_documents(docs, embedding_function) </a>

db = PineconeVectorStore.from_documents(docs, embeddings, index_name=index_name)


# query it
query = "What did the president say about Ketanji Brown Jackson"
docs = db.similarity_search(query)

# print results
print(docs[0].page_content)
</code></pre>

[^1]: 여기만 Pinecone으로 변경
