Clarifai는 데이터 탐색, 데이터 라벨링, 모델 학습, 평가 및 추론에 이르는 전체 AI 라이프사이클을 제공하는 AI 플랫폼입니다.
이 예제는 LangChain을 사용하여 Clarifai models와 상호작용하는 방법을 다룹니다. 특히 텍스트 embedding 모델은 여기에서 찾을 수 있습니다. Clarifai를 사용하려면 계정과 Personal Access Token (PAT) key가 필요합니다. PAT를 얻거나 생성하려면 여기를 확인하세요.

Dependencies

# Install required dependencies
pip install -qU  clarifai

Imports

여기서는 personal access token을 설정합니다. Clarifai 계정의 settings/security에서 PAT를 찾을 수 있습니다.
# Please login and get your API key from  https://clarifai.com/settings/security
from getpass import getpass

CLARIFAI_PAT = getpass()
# Import the required modules
from langchain.chains import LLMChain
from langchain_community.embeddings import ClarifaiEmbeddings
from langchain_core.prompts import PromptTemplate

Input

LLM Chain과 함께 사용할 prompt template을 생성합니다:
template = """Question: {question}

Answer: Let's think step by step."""

prompt = PromptTemplate.from_template(template)

Setup

모델이 있는 application의 user id와 app id를 설정합니다. clarifai.com/explore/models에서 공개 모델 목록을 찾을 수 있습니다. 또한 model id와 필요한 경우 model version id를 초기화해야 합니다. 일부 모델은 여러 버전이 있으므로 작업에 적합한 버전을 선택할 수 있습니다.
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"

# Further you can also provide a specific model version as the model_version_id arg.
# MODEL_VERSION_ID = "MODEL_VERSION_ID"
# Initialize a Clarifai embedding model
embeddings = ClarifaiEmbeddings(user_id=USER_ID, app_id=APP_ID, model_id=MODEL_ID)

# Initialize a clarifai embedding model using model URL
embeddings = ClarifaiEmbeddings(model_url=MODEL_URL)

# Alternatively you can initialize clarifai class with pat argument.
text = "roses are red violets are blue."
text2 = "Make hay while the sun shines."
embed_query function을 사용하여 텍스트 한 줄을 embedding할 수 있습니다!
query_result = embeddings.embed_query(text)
텍스트/문서 목록을 embedding하려면 embed_documents function을 사용하세요.
doc_result = embeddings.embed_documents([text, text2])

Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.
I