Skip to main content

Nebula (Symbl.ai)

This notebook covers how to get started with Nebula - Symbl.ai's chat model.

Head to the API reference for detailed documentation.

Setup

The integration is set up in the langchain-community package. To get started, request a Nebula API key and set the NEBULA_API_KEY environment variable:

import getpass
import os

os.environ["NEBULA_API_KEY"] = getpass.getpass()

Usage

from langchain_community.chat_models.symblai_nebula import ChatNebula
from langchain_core.messages import AIMessage, HumanMessage, SystemMessage
chat = ChatNebula(max_tokens=1024, temperature=0.5)
messages = [
SystemMessage(
content="You are a helpful assistant that answers general knowledge questions."
),
HumanMessage(content="What is the capital of France?"),
]
chat.invoke(messages)
AIMessage(content=[{'role': 'human', 'text': 'What is the capital of France?'}, {'role': 'assistant', 'text': 'The capital of France is Paris.'}])

Async

await chat.ainvoke(messages)
AIMessage(content=[{'role': 'human', 'text': 'What is the capital of France?'}, {'role': 'assistant', 'text': 'The capital of France is Paris.'}])

Streaming

for chunk in chat.stream(messages):
print(chunk.content, end="", flush=True)
 The capital of France is Paris.

Batch

chat.batch([messages])
[AIMessage(content=[{'role': 'human', 'text': 'What is the capital of France?'}, {'role': 'assistant', 'text': 'The capital of France is Paris.'}])]

Chaining

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_template("Tell me a joke about {topic}")
chain = prompt | chat
API Reference:ChatPromptTemplate
chain.invoke({"topic": "cows"})
AIMessage(content=[{'role': 'human', 'text': 'Tell me a joke about cows'}, {'role': 'assistant', 'text': "Sure, here's a joke about cows:\n\nWhy did the cow cross the road?\n\nTo get to the udder side!"}])

Was this page helpful?


You can leave detailed feedback on GitHub.