Clarifai is an AI Platform that provides the full AI lifecycle ranging from data exploration, data labeling, model training, evaluation, and inference.
This example goes over how to use LangChain to interact with Clarifai
models. Text embedding models in particular can be found here.
To use Clarifai, you must have an account and a Personal Access Token (PAT) key. Check here to get or create a PAT.
Dependencies
%pip install --upgrade --quiet clarifai
Imports
Here we will be setting the personal access token. You can find your PAT under settings/security in your Clarifai account.
from getpass import getpass
CLARIFAI_PAT = getpass()
from langchain.chains import LLMChain
from langchain_community.embeddings import ClarifaiEmbeddings
from langchain_core.prompts import PromptTemplate
Input
Create a prompt template to be used with the LLM Chain:
template = """Question: {question}
Answer: Let's think step by step."""
prompt = PromptTemplate.from_template(template)
Setup
Set the user id and app id to the application in which the model resides. You can find a list of public models on https://clarifai.com/explore/models
You will have to also initialize the model id and if needed, the model version id. Some models have many versions, you can choose the one appropriate for your task.
USER_ID = "clarifai"
APP_ID = "main"
MODEL_ID = "BAAI-bge-base-en-v15"
MODEL_URL = "https://clarifai.com/clarifai/main/models/BAAI-bge-base-en-v15"
embeddings = ClarifaiEmbeddings(user_id=USER_ID, app_id=APP_ID, model_id=MODEL_ID)
embeddings = ClarifaiEmbeddings(model_url=MODEL_URL)
text = "roses are red violets are blue."
text2 = "Make hay while the sun shines."
You can embed single line of your text using embed_query function !
query_result = embeddings.embed_query(text)
Further to embed list of texts/documents use embed_documents function.
doc_result = embeddings.embed_documents([text, text2])
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4