SambaNova
SambaNova 的 Sambastudio 是一個用於執行您自己的開源模型的平台
此範例將說明如何使用 LangChain 與 SambaNova Embedding 模型互動
SambaStudio
SambaStudio 允許您訓練、執行批次推論工作,以及部署線上推論端點以執行您自己微調的開源模型。
部署模型需要 SambaStudio 環境。在 sambanova.ai/products/enterprise-ai-platform-sambanova-suite 取得更多資訊
註冊您的環境變數
import os
sambastudio_base_url = "<Your SambaStudio environment URL>"
sambastudio_base_uri = "<Your SambaStudio environment URI>"
sambastudio_project_id = "<Your SambaStudio project id>"
sambastudio_endpoint_id = "<Your SambaStudio endpoint id>"
sambastudio_api_key = "<Your SambaStudio endpoint API key>"
# Set the environment variables
os.environ["SAMBASTUDIO_EMBEDDINGS_BASE_URL"] = sambastudio_base_url
os.environ["SAMBASTUDIO_EMBEDDINGS_BASE_URI"] = sambastudio_base_uri
os.environ["SAMBASTUDIO_EMBEDDINGS_PROJECT_ID"] = sambastudio_project_id
os.environ["SAMBASTUDIO_EMBEDDINGS_ENDPOINT_ID"] = sambastudio_endpoint_id
os.environ["SAMBASTUDIO_EMBEDDINGS_API_KEY"] = sambastudio_api_key
直接從 LangChain 呼叫 SambaStudio 託管的 Embedding!
from langchain_community.embeddings.sambanova import SambaStudioEmbeddings
embeddings = SambaStudioEmbeddings()
text = "Hello, this is a test"
result = embeddings.embed_query(text)
print(result)
texts = ["Hello, this is a test", "Hello, this is another test"]
results = embeddings.embed_documents(texts)
print(results)
API 參考:SambaStudioEmbeddings
您可以手動傳遞端點參數,並手動設定 SambaStudio Embedding 端點中的批次大小
embeddings = SambaStudioEmbeddings(
sambastudio_embeddings_base_url=sambastudio_base_url,
sambastudio_embeddings_base_uri=sambastudio_base_uri,
sambastudio_embeddings_project_id=sambastudio_project_id,
sambastudio_embeddings_endpoint_id=sambastudio_endpoint_id,
sambastudio_embeddings_api_key=sambastudio_api_key,
batch_size=32, # set depending on the deployed endpoint configuration
)
或者,您可以使用部署在 CoE 中的 Embedding 模型專家
embeddings = SambaStudioEmbeddings(
batch_size=1,
model_kwargs={
"select_expert": "e5-mistral-7b-instruct",
},
)