ChatXAI
xAI 是一家开发大型语言模型 (LLMs) 的人工智能公司。他们的旗舰模型 Grok 训练于实时的 X(前身为 Twitter)数据,旨在提供机智、富有个性化的回复,同时在技术任务上保持高能力。
本指南将帮助您开始使用 ChatXAI
聊天模型。如需查看所有 ChatXAI
功能和配置的详细文档,请前往 API
参考文档。
概览
集成详情
| 类别 | 包 | 本地支持 | 可序列化 | Python 支持 | 包下载量 | 最新包 |
|---|---|---|---|---|---|---|
| ChatXAI | @langchain/xai | ❌ | ✅ | ❌ | ![]() | ![]() |
模型特性
以下表格标题中的链接提供了使用特定功能的指南。
| 工具调用 | 结构化输出 | JSON 模式 | 图像输入 | 音频输入 | 视频输入 | 逐令牌流式传输 | 令牌使用情况 | 对数概率 |
|---|---|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ |
准备工作
要访问 ChatXAI 模型,您需要创建一个 xAI 账户,获取 API
密钥,并安装 @langchain/xai 集成包。
凭证信息
请前往 xAI 官网 注册 xAI 账户并生成 API
密钥。完成此操作后,请设置 XAI_API_KEY 环境变量:
export XAI_API_KEY="your-api-key"
如果您希望自动追踪模型调用,还可以取消以下代码的注释并设置 LangSmith API 密钥:
# export LANGSMITH_TRACING="true"
# export LANGSMITH_API_KEY="your-api-key"
安装
LangChain 的 ChatXAI 集成位于 @langchain/xai 包中:
:::提示 请参阅安装集成包的一般说明部分。 :::
- npm
- yarn
- pnpm
npm i @langchain/xai @langchain/core
yarn add @langchain/xai @langchain/core
pnpm add @langchain/xai @langchain/core
实例化
现在我们可以实例化我们的模型对象并生成聊天补全结果:
import { ChatXAI } from "@langchain/xai";
const llm = new ChatXAI({
model: "grok-beta", // default
temperature: 0,
maxTokens: undefined,
maxRetries: 2,
// other params...
});
调用
const aiMsg = await llm.invoke([
[
"system",
"You are a helpful assistant that translates English to French. Translate the user sentence.",
],
["human", "I love programming."],
]);
console.log(aiMsg);
AIMessage {
"id": "71d7e3d8-30dd-472c-8038-b6b283dcee63",
"content": "J'adore programmer.",
"additional_kwargs": {},
"response_metadata": {
"tokenUsage": {
"promptTokens": 30,
"completionTokens": 6,
"totalTokens": 36
},
"finish_reason": "stop",
"usage": {
"prompt_tokens": 30,
"completion_tokens": 6,
"total_tokens": 36
},
"system_fingerprint": "fp_3e3898d4ce"
},
"tool_calls": [],
"invalid_tool_calls": [],
"usage_metadata": {
"output_tokens": 6,
"input_tokens": 30,
"total_tokens": 36,
"input_token_details": {},
"output_token_details": {}
}
}
console.log(aiMsg.content);
J'adore programmer.
链式调用
我们可以像这样将模型与提示模板链式调用:
import { ChatPromptTemplate } from "@langchain/core/prompts";
const prompt = ChatPromptTemplate.fromMessages([
[
"system",
"You are a helpful assistant that translates {input_language} to {output_language}.",
],
["human", "{input}"],
]);
const chain = prompt.pipe(llm);
await chain.invoke({
input_language: "English",
output_language: "German",
input: "I love programming.",
});
AIMessage {
"id": "b2738008-8247-40e1-81dc-d9bf437a1a0c",
"content": "Ich liebe das Programmieren.",
"additional_kwargs": {},
"response_metadata": {
"tokenUsage": {
"promptTokens": 25,
"completionTokens": 7,
"totalTokens": 32
},
"finish_reason": "stop",
"usage": {
"prompt_tokens": 25,
"completion_tokens": 7,
"total_tokens": 32
},
"system_fingerprint": "fp_3e3898d4ce"
},
"tool_calls": [],
"invalid_tool_calls": [],
"usage_metadata": {
"output_tokens": 7,
"input_tokens": 25,
"total_tokens": 32,
"input_token_details": {},
"output_token_details": {}
}
}
在幕后,xAI 使用 OpenAI SDK 和与 OpenAI 兼容的 API。
API 参考文档
有关 ChatXAI 所有功能和配置的详细文档,请访问 API 参考页面: https://api.js.langchain.com/classes/\_langchain_xai.ChatXAI.html
Related
- Chat model conceptual guide
- Chat model how-to guides

