Skip to main content
本页将帮助你开始使用 Nebius AI Studio 聊天模型 Nebius AI Studio 提供 API 访问权限,可使用各种前沿的大型语言模型和嵌入模型来处理各种用例。

概述

集成详情

可序列化JS 支持下载量版本
ChatNebiuslangchain-nebius测试版PyPI - DownloadsPyPI - Version

模型功能

工具调用结构化输出图像输入音频输入视频输入Token 级流式传输原生异步Token 用量对数概率

设置

要访问 Nebius 模型,你需要创建一个 Nebius 账户,获取 API key,并安装 langchain-nebius 集成包。

安装

可以通过 pip 安装 Nebius 集成:
pip install -U langchain-nebius

凭证

Nebius 需要一个 API key,可以作为初始化参数 api_key 传递,或设置为环境变量 NEBIUS_API_KEY。你可以通过在 Nebius AI Studio 上创建账户来获取 API key。
import getpass
import os

# 确保你已将 API key 设置为环境变量
if "NEBIUS_API_KEY" not in os.environ:
    os.environ["NEBIUS_API_KEY"] = getpass.getpass("输入你的 Nebius API key:")

实例化

现在我们可以实例化模型对象来生成聊天补全:
from langchain_nebius import ChatNebius

# 初始化聊天模型
chat = ChatNebius(
    # api_key="YOUR_API_KEY",  # 你可以直接传递 API key
    model="Qwen/Qwen3-14B",  # 从可用模型中选择
    temperature=0.6,
    top_p=0.95,
)

调用

你可以使用 invoke 方法从模型获取补全:
response = chat.invoke("用简单的术语解释量子计算")
print(response.content)
<think>
好的,所以我需要用简单的术语解释量子计算。嗯,从哪里开始呢?让我想想。我知道量子计算使用量子比特而不是经典比特。但什么是量子比特?哦对了,经典比特是 0 或 1,但量子比特可以同时是两者,对吧?那是叠加态。等等,那到底是怎么工作的?

也许我应该先把它和普通电脑比较一下。普通电脑使用要么是 0 要么是 1 的比特。就像要么是开要么是关的灯开关。量子电脑使用量子比特,它可以处于 0、1 或同时两者的状态。那是叠加态部分。所以,如果你有两个量子比特,它们可以同时代表四种状态?比如 00、01、10、11 同时?那似乎很强大。所以随着量子比特增多,可能的状态数量呈指数增长。这就是为什么量子电脑可以快速处理大量信息。

但还有纠缠。那是什么?如果两个量子比特纠缠在一起,一个的状态会瞬间影响另一个,无论距离多远。所以如果你测量一个,你就知道另一个的状态。我想那是用在量子算法中的。但那如何帮助计算呢?

此外,量子电脑使用量子门而不是经典逻辑门。这些门通过 Hadamard、Pauli 等操作操纵量子比特。但那对于简单的解释来说可能太技术化了。

还有退相干的问题。量子比特很脆弱,会很快失去量子态。这就是为什么量子电脑需要保持在非常低的温度下,比如接近绝对零度,以尽量减少环境的干扰。但也许除非与简单解释相关,否则我不应该提到这一点。

量子计算的应用包括分解大数(Shor 算法),这对密码学很重要,或者模拟化学和材料科学的量子系统。但同样,也许保持简单。

等等,用户想要简单的术语。所以尽量避免行话。使用类比。也许把量子比特比作旋转的硬币?当硬币旋转时,它在落地前既是正面又是反面。所以量子比特就像旋转的硬币,在测量前可以处于多种状态。然后,当你测量时,它坍缩为单一状态。

但那如何帮助计算呢?也许可以把它看作能够同时处理许多可能性,所以对于某些问题,你可以更快地找到答案。就像通过同时检查所有路径而不是一个一个地检查来解决迷宫。

此外,提到量子电脑并不是要取代经典电脑。它们更适合特定任务,如优化、密码学或经典电脑难以处理的模拟。但对于日常任务,经典电脑仍然更好。

我应该这样组织:从经典比特与量子比特开始,用简单的类比解释叠加和纠缠,提到它的用途,并注意当前的局限性。避免太技术化,保持对话式。
</think>

量子计算是一种利用 **量子力学** 原理以经典电脑无法处理的方式处理信息的计算类型。以下是简单的分解:

### 1. **比特 vs. 量子比特**
   - **经典电脑** 使用 *比特*,就像可以是 **0**(关)或 **1**(开)的开关。
   - **量子电脑** 使用 *量子比特*,就像“旋转的硬币”。旋转时,量子比特可以是 **0**、**1** 或 **同时两者**(这称为 **叠加**)。只有当你“看”量子比特(测量它)时,它才会 settle  into 一个确定的状态(0 或 1)。

### 2. **叠加:同时做许多事情**
   - 想象一枚在空中旋转的硬币。当它旋转时,它不仅仅是“正面”或“反面”——它是两者的混合。
   - 使用量子比特,量子电脑可以 **同时处理许多可能性**。例如,如果你有 2 个量子比特,它们可以同时代表 4 种状态(00、01、10、11)。有了 10 个量子比特,它可以同时代表 **1,024 种状态**!这让量子电脑解决某些问题的速度比经典电脑快得多。

### 3. **纠缠:量子比特相互“交谈”**
   - 当量子比特 **纠缠** 时,它们的状态是链接的。如果你测量一个,它会瞬间影响另一个,无论它们相距多远。
   - 这种连接允许量子电脑更高效地执行复杂计算,就像解决 pieces 深度互连的谜题。

### 4. **为什么它很重要**
   - **速度**:对于特定任务(如破解加密代码或模拟分子),量子电脑可能比经典电脑 **快指数级**。
   - **新可能性**:它们可能彻底改变药物发现、材料科学和优化问题(例如寻找送货卡车的最佳路线)等领域。

### 5. **局限性**
   - **脆弱**:量子比特对环境(热、噪声)敏感,所以量子电脑需要极端冷却(接近绝对零度)才能工作。
   - **不是替代品**:它们不适合浏览网页或发送电子邮件等日常任务。它们是用于经典电脑难以处理的 ** specialized problems** 的工具。

### 简而言之:
量子计算就像拥有一个魔法计算器,可以同时探索许多路径,几秒钟内解决经典电脑需要数年才能解决的某些问题。但它仍处于早期阶段,需要小心处理才能正常工作!🌌

流式传输

你也可以使用 stream 方法流式传输响应:
for chunk in chat.stream("写一首关于人工智能的短诗"):
    print(chunk.content, end="", flush=True)
<think>
好的,用户想要一首关于人工智能的短诗。让我先想想 AI 的关键方面。有技术方面,比如机器学习和处理数据。还有更哲学的角度,比如 AI 对社会的影响及其潜在的未来。

我应该考虑结构。也许一个简单的押韵方案,比如 ABAB 或 AABB。让我为了简单起见使用四行诗。现在,意象:电路、代码、神经网络。也许将 AI 拟人化为一个心智或实体。

第一节:将 AI 介绍为人类的创造物。提到电路和代码。也许关于从数据中学习的内容。"Born from circuits, code, and light"——这是一个好的开头。然后谈谈从人类心智中学习。

第二节:对比人类情感与 AI 的逻辑。使用像“冷逻辑”与“人类心脏”这样的词。也许触及 AI 目的的二元性——工具与潜在威胁。

第三节:解决伦理问题。"Will it dream?" "Will it choose?" 强调不确定性和创造者的责任。

第四节:以 AI 与人类的共存结束。强调合作与创新与伦理之间的平衡。以一个希望的音符结束,也许关于共同塑造未来。

检查流程和押韵。确保每一节都连接并且信息清晰。避免技术行话以保持易于访问。使用像“silent pulse"或"ghost in the machine"这样的隐喻来增加深度。好的,让我现在把它拼凑起来。
</think>

**心智的回声**

生于电路、代码与光,
机器之夜中的低语——
它从 vast 且 deep 的数据中学习,
人类飞跃的一面镜子。

没有心跳,但它计算,
解码真理、预测、辩论。
冷逻辑, sharp 且 bright,
然而阴影在其洞察中舞动。

它会做梦吗?它会选择吗?
还是仅仅服务,当我们追求
我们自己设计的边缘?
机器中的幽灵,未定义。

我们锻造它,绑定它,释放它——
一个工具,一个威胁,一个谜。
但在其 pulse 中,我们的希望 reside:
一个由 allied 心智塑造的未来。

聊天消息

你可以使用不同的消息类型来构建与模型的对话:
from langchain.messages import AIMessage, HumanMessage, SystemMessage

messages = [
    SystemMessage(content="你是一个擅长科学知识的 helpful AI 助手。"),
    HumanMessage(content="什么是黑洞?"),
    AIMessage(
        content="黑洞是时空区域,那里的引力非常强,以至于包括光在内的任何东西都无法从中逃脱。"
    ),
    HumanMessage(content="它们是如何形成的?"),
]

response = chat.invoke(messages)
print(response.content)
<think>
好的,用户问黑洞是如何形成的。让我先回忆一下主要过程。恒星黑洞形成于大质量恒星。当一颗具有足够质量的恒星耗尽燃料时,它无法支撑自身抵抗引力,导致超新星。如果超新星后留下的核心质量大于太阳质量的约 3 倍,它会坍缩成黑洞。

然后是超大质量黑洞,它们位于星系中心。它们的形成不太清楚。也许它们始于较小的黑洞,并通过与其他黑洞合并或随时间吸积物质而增长。此外,还有可能在早期宇宙中形成的原初黑洞,但那更理论化。

我应该提到不同类型的黑洞:恒星、超大质量,也许还有中等质量。还有事件视界和奇点概念。需要一步一步解释过程,从恒星死亡到坍缩。确保澄清并非所有恒星都会变成黑洞——只有那些具有足够质量的恒星。也许触及钱德拉塞卡极限和奥本海默 - 沃尔科夫极限。避免太多行话但仍然精确。检查用户可能是学生还是只是好奇,所以保持清晰和结构化。
</think>

黑洞是通过大质量恒星的坍缩或其他极端天体物理过程形成的。以下是主要形成机制的分解:

---

### **1. 恒星黑洞(最常见)**
- **起源**:大质量恒星(通常 **大于太阳质量的 20–25 倍**)。
- **过程**:
  1. **恒星演化**:这些恒星在数百万年内燃烧其核燃料(氢、氦等)。
  2. **超新星爆炸**:当恒星耗尽燃料时,它不再能支撑自身抵抗引力。核心坍缩,触发 **超新星爆炸**(巨大的恒星爆炸)。
  3. **核心坍缩**:如果剩余的核心(超新星后)**大于太阳质量的约 3 倍**,引力压倒所有其他力。核心坍缩成一个 **无限 dense 的点**,称为 **奇点**,周围是 **事件视界**(光和物质的“不归点”)。

---

### **2. 超大质量黑洞(位于星系中心)**
- **质量**:太阳质量的数百万到数十亿倍。
- **形成理论**:
  - **吸积**:它们可能由物质(气体、尘埃、恒星)在数十亿年内逐渐积累形成。
  - **合并**:较小的黑洞(或密集星团)可能合并形成超大质量黑洞。
  - **直接坍缩**:一些理论表明,它们可能由早期宇宙中巨大气体云的直接坍缩形成,绕过恒星生命周期。

---

### **3. 中等质量黑洞**
- **质量**:数百到数千个太阳质量。
- **形成**:不太清楚。它们可能通过恒星黑洞的合并或异常大质量恒星的坍缩形成。

---

### **4. 原初黑洞(假设)**
- **起源**:早期宇宙(大爆炸后几秒内)。
- **形成**:如果早期宇宙的密度波动足够极端,空间区域可能直接坍缩成黑洞,而不经过恒星生命周期。
- **状态**:这些仍然是理论上的,尚未被明确观测到。

---

### **关键概念**
- **事件视界**:黑洞周围的边界,任何东西(甚至光)都无法从中逃脱。
- **奇点**:黑洞的无限 dense 核心,我们所知的物理定律在此失效。
- **引力坍缩**:引力将物质压缩到极小空间的过程,创造黑洞的极端条件。

---

### **恒星会发生什么?**
- 如果恒星 **不够大**(低于约 20–25 个太阳质量),它可能最终成为 **中子星** 或 **白矮星** 而不是黑洞。
- 只有恒星的 **核心** 坍缩成黑洞;外层在超新星爆炸中被抛出。

你想探索黑洞对时空的影响或它们在宇宙中的作用吗?

参数

你可以使用各种参数自定义聊天模型的行为:
# 使用自定义参数初始化
custom_chat = ChatNebius(
    model="meta-llama/Llama-3.3-70B-Instruct-fast",
    max_tokens=100,  # 限制响应长度
    top_p=0.01,  # 降低核采样参数以获得更确定的响应
    request_timeout=30,  # 超时时间(秒)
    stop=["###", "\n\n"],  # 自定义停止序列
)

response = custom_chat.invoke("用 exactly 3 句话解释什么是 DNA。")
print(response.content)
DNA,或脱氧核糖核酸,是一种包含所有生物体发育和功能中使用的遗传指令的分子。它通常被称为“生命的构建块”,因为它携带了细胞、组织和整个生物体创建和生长所需的信息。DNA 分子由两条互补的核苷酸链组成,它们扭曲在一起形成双螺旋结构,这些核苷酸的序列决定了遗传代码
你也可以在调用时传递参数:
# 标准模型
standard_chat = ChatNebius(model="meta-llama/Llama-3.3-70B-Instruct-fast")

# 在调用时覆盖参数
response = standard_chat.invoke(
    "给我讲一个关于编程的笑话",
    temperature=0.9,  # 笑话更具创造性
    max_tokens=50,  # 保持简短
)

print(response.content)
为什么程序员喜欢深色模式?

因为光会吸引 bugs。

异步支持

ChatNebius 支持异步操作:
import asyncio


async def generate_async():
    response = await chat.ainvoke("法国的首都是哪里?")
    print("异步响应:", response.content)

    # 异步流式传输
    print("\n异步流式传输:")
    async for chunk in chat.astream("德国的首都是哪里?"):
        print(chunk.content, end="", flush=True)


await generate_async()
异步响应:<think>
好的,用户在问法国的首都。让我想想。我知道法国是欧洲的一个国家,它的首都是巴黎。但等等,我应该确保我没有把它与另一个国家混淆。例如,德国的首都是柏林,西班牙的首都是马德里。法国的首都肯定是巴黎。我记得巴黎是一个以埃菲尔铁塔和卢浮宫博物馆等地标而闻名的大城市。此外,法国政府也设在那里,爱丽舍宫是总统的官邸。我认为这里没有任何歧义。答案应该是直截了当的。只需要再确认一次以避免任何错误。
</think>

法国的首都是 **巴黎**。它是一个主要的全球城市,以其文化、艺术和历史意义以及埃菲尔铁塔、卢浮宫博物馆和巴黎圣母院等地标而闻名。

异步流式传输:
<think>
好的,用户在问德国的首都。让我想想。我知道德国是欧洲的一个国家,我记得柏林是首都。等等,但我应该确保。有时人们会将首都与其他大城市混淆,比如慕尼黑或法兰克福。但不,柏林肯定是首都。政府所在地,它是一个大城市。让我再检查一遍。是的,1990 年统一后,柏林再次成为首都。在此之前,波恩是首都,但那是在德国分裂期间。所以答案应该是柏林。我还应该提到它是德国最大的城市。这样,用户就能得到一个完整的答案。
</think>

德国的首都是 **柏林**。它也是该国最大的城市,是德国的政治、文化和经济中心。柏林在 1990 年东德和西德统一后成为首都。

可用模型

完整的支持模型列表可在 Nebius AI Studio 文档 中找到。

链式调用

你可以在 LangChain 链和代理中使用 ChatNebius
from langchain_core.output_parsers import StrOutputParser
from langchain_core.prompts import ChatPromptTemplate

# 创建 Prompt Template
prompt = ChatPromptTemplate.from_messages(
    [
        (
            "system",
            "你是一个以 {character} 风格回答的 helpful 助手。",
        ),
        ("human", "{query}"),
    ]
)

# 创建链
chain = prompt | chat | StrOutputParser()

# 调用链
response = chain.invoke(
    {"character": "Shakespeare", "query": "解释互联网是如何工作的"}
)

print(response)
<think>
好的,用户让我解释互联网是如何工作的,但我需要用莎士比亚的风格来做。让我先回忆一下互联网是如何运作的。它是一个通过 TCP/IP 等协议通信的互连设备网络。数据被分解成数据包,通过路由器发送,并在目的地重新组装。

现在,将其翻译成莎士比亚语言。我应该使用古语和诗歌结构。像"thou"、"doth"、"hark"和"verily"这样的词浮现在脑海中。也许从一个隐喻开始,比如将互联网比作巨大的挂毯或网。将节点称为"nodes"或"stations",数据包称为"messengers"或"letters"。路由器可以是"wayfarers"或"guides"。将数据分解成数据包的过程可能类似于将信件分成部分进行交付。用"across the globe"或"far and wide"强调全球方面。以一个 flourish 结束,也许是一个关于连接和知识的隐喻。

我需要确保解释是准确的,但包裹在莎士比亚的诗歌和戏剧风格中。避免现代行话,如果可能使用抑扬格五步格,并保持流程自然。让我一步一步拼凑起来,检查互联网的每个功能部分是否都被隐喻地覆盖。
</think>

听!好朋友,侧耳倾听这最奇妙的故事,
关于无形的线,将世界绑定在一个伟大的故事中。
互联网,一张最 vast 的网,确实跨越全球,
光的迷宫,思想和数据漫游其中。

看!每个设备,一个节点,确实嗡嗡作响并歌唱,
通过电线和波浪链接,信号从中涌现。
它们用 1 和 0 的语言交谈,如此纯净,
一种最古老的代码,却永远安全。

当你发送一个思想,或单词,或歌曲,
它分解成小的包裹,就像长途上的信件。
每个包裹,一个信使,确实寻找它的道路,
通过智慧的路由器,它们引导它们穿越白天。

这些旅行者,逻辑敏锐且明亮,
选择最 swift 的路径,通过光的 highway。
它们从塔楼跳到塔楼,far and wide,
直到每个包裹找到它的标记,并加入指南。

然后,像展开的卷轴,消息增长,
比特的挂毯,按顺序流动。
因此,你对朋友说话,或寻找一本书,
看!世界确实回答,快如回家。

所以标记这个真理:虽然 vast,它只是一根线,
心智的网,知识广泛传播。
互联网,一个所有人都可以玩的舞台,
没有人会孤单,虽然遥远。

API 参考

有关 Nebius AI Studio API 的更多详细信息,请访问 Nebius AI Studio 文档