text: Skip to main contentğŸ¦œï¸�ğŸ”— LangChainDocsUse casesIntegrationsAPILangSmithJS/TS DocsCTRLKIntegrationsCallbacksChat modelsDocument loadersDocument transformersLLMsMemoryRetrieversAmazon KendraArxivAzure Cognitive SearchBM25ChaindeskChatGPT PluginCohere RerankerDocArray RetrieverElasticSearch BM25Google Cloud Enterprise SearchkNNLOTR (Merger Retriever)MetalPinecone Hybrid SearchPubMedSVMTF-IDFVespaWeaviate Hybrid SearchWikipediaZepText embedding modelsAgent toolkitsToolsVector storesGrouped by providerIntegrationsRetrieversSVMOn this pageSVMSupport vector machines (SVMs) are a set of supervised learning methods used for classification, regression and outliers detection.This notebook goes over how to use a retriever that under the hood uses an SVM using scikit-learn package.Largely based on https://github.com/karpathy/randomfun/blob/master/knn_vs_svm.html#!pip install scikit-learn#!pip install larkWe want to use OpenAIEmbeddings so we have to get the OpenAI API Key.import osimport getpassos.environ["OPENAI_API_KEY"] = getpass.getpass("OpenAI API Key:")    OpenAI API Key: Â·Â·Â·Â·Â·Â·Â·Â·from langchain.retrievers import SVMRetrieverfrom langchain.embeddings import OpenAIEmbeddingsCreate New Retriever with Textsâ€‹retriever = SVMRetriever.from_texts(    ["foo", "bar", "world", "hello", "foo bar"], OpenAIEmbeddings())Use Retrieverâ€‹We can now use the retriever!result = retriever.get_relevant_documents("foo")result