跳到主要内容

ChatXAI

xAI 是一家人工智能公司,开发大型语言模型 (LLM)。他们的旗舰模型 Grok 是在实时的 X(前身为 Twitter)数据上训练的,旨在提供诙谐、富有个性的回复,同时保持在技术任务上的高能力。

本指南将帮助您开始使用 ChatXAI 聊天模型。有关所有 ChatXAI 功能和配置的详细文档,请访问 API 参考

概述

集成详情

本地可序列化PY 支持包下载量包最新版本
ChatXAI@langchain/xaiNPM - DownloadsNPM - Version

模型功能

请参阅下表标题中的链接,以获取有关如何使用特定功能的指南。

工具调用结构化输出JSON 模式图像输入音频输入视频输入令牌级流式传输令牌使用量Logprobs

设置

要访问 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 包中

提示

有关安装集成包的通用说明,请参阅此部分

yarn 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


此页面是否对您有所帮助?


您也可以留下详细的反馈 在 GitHub 上.