SambaNova LangChain Integration
An integration package connecting SambaNova and LangChain, enabling developers to leverage SambaNova's large language models. It provides chat models (`ChatSambaNova`) and embedding models (`SambaNovaEmbeddings`) for seamless interaction with SambaCloud and SambaStack. The current version is 1.1.0, with a regular release cadence that incorporates new features and ensures compatibility with LangChain updates.
Common errors
-
ModuleNotFoundError: No module named 'langchain_sambanova'
cause The `langchain-sambanova` package is not installed in the current Python environment.fixRun `pip install langchain-sambanova` to install the package. Ensure your environment is activated if using virtual environments. -
ValueError: Did not find sensibility_api_key, please add an environment variable SAMBANOVA_API_KEY
cause The `SAMBANOVA_API_KEY` environment variable, which is required for authenticating with SambaNova services, has not been set.fixSet the environment variable: `export SAMBANOVA_API_KEY="your_api_key_here"` (replace with your actual API key from cloud.sambanova.ai). For SambaStack, also set `SAMBANOVA_API_BASE`. -
Failed to serialize object: The `content_blocks` field for `AIMessage` is not supported with this `langchain-core` version.
cause An older version of `langchain-core` or `langchain-sambanova` is being used which does not correctly handle the `AIMessage` content block format, a common issue fixed in `langchain-sambanova` v1.1.0.fixUpgrade both `langchain-sambanova` and `langchain-core` to their latest versions: `pip install -U langchain-sambanova langchain-core`.
Warnings
- breaking Version 1.1.0 includes fixes related to 'langchain-core 1.2+ security restrictions' and handling of 'AIMessage content_blocks format'. Older code relying on previous serialization behavior or specific AIMessage structures with `langchain-core < 1.2` might break or behave unexpectedly.
- gotcha Authentication requires setting environment variables `SAMBANOVA_API_KEY` and, for SambaStack users, `SAMBANOVA_API_BASE`. Failing to set these will result in authentication errors.
- breaking The jump from `v0.2.0` to `v1.0.0` often indicates significant changes and potential API breakage, even if not explicitly detailed in the changelog as 'breaking'. Users upgrading across this major version boundary should expect refactorings.
Install
-
pip install langchain-sambanova
Imports
- ChatSambaNova
from langchain_sambanova import ChatSambaNova
- SambaNovaEmbeddings
from langchain_sambanova import SambaNovaEmbeddings
- SambaStudio
from langchain_sambanova import SambaStudio
from langchain_community.llms import SambaStudio
Quickstart
import os
from langchain_sambanova import ChatSambaNova
from langchain_core.messages import HumanMessage
# Ensure SAMBANOVA_API_KEY is set as an environment variable
# For SambaStack, SAMBANOVA_API_BASE might also be required.
os.environ['SAMBANOVA_API_KEY'] = os.environ.get('SAMBANOVA_API_KEY', 'your_sambanova_api_key_here')
# Initialize the SambaNova Chat model
llm = ChatSambaNova(
model="Meta-Llama-3.3-70B-Instruct", # Replace with your desired model
max_tokens=1024,
temperature=0.7,
top_p=0.01,
)
# Invoke the model with a message
messages = [
("system", "You are a helpful assistant that translates English to French."),
("human", "I love programming."),
]
response = llm.invoke(messages)
print(response.content)
# Example for embeddings
from langchain_sambanova import SambaNovaEmbeddings
embeddings = SambaNovaEmbeddings(model="E5-Mistral-7B-Instruct") # Replace with your desired embedding model
query_embedding = embeddings.embed_query("What is the meaning of life?")
print(f"Embedding snippet: {str(query_embedding)[:50]}...")