Skip to main content
本 notebook 介绍如何开始使用 Nebula —— Symbl.ai 的聊天模型。

集成详情

请前往 API 参考 查看详细文档。

模型功能:待补充

设置

凭据

首先,申请 Nebula API key 并设置 NEBULA_API_KEY 环境变量:
import getpass
import os

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

安装

该集成已包含在 langchain-community 包中。

实例化

from langchain_community.chat_models.symblai_nebula import ChatNebula
from langchain.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.'}])

异步调用

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

流式输出

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

批量调用

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

链式调用

from langchain_core.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_template("Tell me a joke about {topic}")
chain = prompt | chat
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!"}])

API 参考

查看 API 参考 了解更多详情。