SVM
Support 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 anSVM
usingscikit-learn
package.
Largely based onhttps://github.com/karpathy/randomfun/blob/master/knn_vs_svm.html
%pip install--upgrade--quiet scikit-learn
%pip install--upgrade--quiet lark
We want to useOpenAIEmbeddings
so we have to get the OpenAI API Key.
import getpass
import os
if"OPENAI_API_KEY"notin os.environ:
os.environ["OPENAI_API_KEY"]= getpass.getpass("OpenAI API Key:")
OpenAI API Key: ········
from langchain_community.retrieversimport SVMRetriever
from langchain_openaiimport OpenAIEmbeddings
API Reference:SVMRetriever |OpenAIEmbeddings
Create 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.invoke("foo")
result
[Document(page_content='foo', metadata={}),
Document(page_content='foo bar', metadata={}),
Document(page_content='hello', metadata={}),
Document(page_content='world', metadata={})]
Related
- Retrieverconceptual guide
- Retrieverhow-to guides