@aigne/xai 0.6.2 → 0.6.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.6.4](https://github.com/AIGNE-io/aigne-framework/compare/xai-v0.6.3...xai-v0.6.4) (2025-07-10)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * The following workspace dependencies were updated
9
+ * dependencies
10
+ * @aigne/openai bumped to 0.9.0
11
+ * devDependencies
12
+ * @aigne/core bumped to 1.33.0
13
+ * @aigne/test-utils bumped to 0.5.5
14
+
15
+ ## [0.6.3](https://github.com/AIGNE-io/aigne-framework/compare/xai-v0.6.2...xai-v0.6.3) (2025-07-09)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * **xai:** handle multiple tool calls correctly ([#238](https://github.com/AIGNE-io/aigne-framework/issues/238)) ([d087d53](https://github.com/AIGNE-io/aigne-framework/commit/d087d533f83867451b3352937998eae36f85a0be))
21
+
3
22
  ## [0.6.2](https://github.com/AIGNE-io/aigne-framework/compare/xai-v0.6.1...xai-v0.6.2) (2025-07-09)
4
23
 
5
24
 
package/README.md CHANGED
@@ -6,8 +6,6 @@
6
6
  [![NPM Version](https://img.shields.io/npm/v/@aigne/xai)](https://www.npmjs.com/package/@aigne/xai)
7
7
  [![Elastic-2.0 licensed](https://img.shields.io/npm/l/@aigne/xai)](https://github.com/AIGNE-io/aigne-framework/blob/main/LICENSE.md)
8
8
 
9
- **English** | [中文](README.zh.md)
10
-
11
9
  AIGNE XAI SDK for integrating with XAI language models and API services within the [AIGNE Framework](https://github.com/AIGNE-io/aigne-framework).
12
10
 
13
11
  ## Introduction
@@ -18,4 +18,5 @@ import { OpenAIChatModel, type OpenAIChatModelOptions } from "@aigne/openai";
18
18
  export declare class XAIChatModel extends OpenAIChatModel {
19
19
  constructor(options?: OpenAIChatModelOptions);
20
20
  protected apiKeyEnvName: string;
21
+ protected supportsToolStreaming: boolean;
21
22
  }
@@ -29,5 +29,6 @@ class XAIChatModel extends openai_1.OpenAIChatModel {
29
29
  });
30
30
  }
31
31
  apiKeyEnvName = "XAI_API_KEY";
32
+ supportsToolStreaming = false;
32
33
  }
33
34
  exports.XAIChatModel = XAIChatModel;
@@ -18,4 +18,5 @@ import { OpenAIChatModel, type OpenAIChatModelOptions } from "@aigne/openai";
18
18
  export declare class XAIChatModel extends OpenAIChatModel {
19
19
  constructor(options?: OpenAIChatModelOptions);
20
20
  protected apiKeyEnvName: string;
21
+ protected supportsToolStreaming: boolean;
21
22
  }
@@ -18,4 +18,5 @@ import { OpenAIChatModel, type OpenAIChatModelOptions } from "@aigne/openai";
18
18
  export declare class XAIChatModel extends OpenAIChatModel {
19
19
  constructor(options?: OpenAIChatModelOptions);
20
20
  protected apiKeyEnvName: string;
21
+ protected supportsToolStreaming: boolean;
21
22
  }
@@ -26,4 +26,5 @@ export class XAIChatModel extends OpenAIChatModel {
26
26
  });
27
27
  }
28
28
  apiKeyEnvName = "XAI_API_KEY";
29
+ supportsToolStreaming = false;
29
30
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aigne/xai",
3
- "version": "0.6.2",
3
+ "version": "0.6.4",
4
4
  "description": "AIGNE XAI SDK for integrating with XAI language models and API services",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -32,7 +32,7 @@
32
32
  }
33
33
  },
34
34
  "dependencies": {
35
- "@aigne/openai": "^0.8.2"
35
+ "@aigne/openai": "^0.9.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/bun": "^1.2.17",
@@ -40,8 +40,8 @@
40
40
  "npm-run-all": "^4.1.5",
41
41
  "rimraf": "^6.0.1",
42
42
  "typescript": "^5.8.3",
43
- "@aigne/core": "^1.32.2",
44
- "@aigne/test-utils": "^0.5.4"
43
+ "@aigne/test-utils": "^0.5.5",
44
+ "@aigne/core": "^1.33.0"
45
45
  },
46
46
  "scripts": {
47
47
  "lint": "tsc --noEmit",
package/README.zh.md DELETED
@@ -1,115 +0,0 @@
1
- # @aigne/xai
2
-
3
- [![GitHub star chart](https://img.shields.io/github/stars/AIGNE-io/aigne-framework?style=flat-square)](https://star-history.com/#AIGNE-io/aigne-framework)
4
- [![Open Issues](https://img.shields.io/github/issues-raw/AIGNE-io/aigne-framework?style=flat-square)](https://github.com/AIGNE-io/aigne-framework/issues)
5
- [![codecov](https://codecov.io/gh/AIGNE-io/aigne-framework/graph/badge.svg?token=DO07834RQL)](https://codecov.io/gh/AIGNE-io/aigne-framework)
6
- [![NPM Version](https://img.shields.io/npm/v/@aigne/xai)](https://www.npmjs.com/package/@aigne/xai)
7
- [![Elastic-2.0 licensed](https://img.shields.io/npm/l/@aigne/xai)](https://github.com/AIGNE-io/aigne-framework/blob/main/LICENSE.md)
8
-
9
- [English](README.md) | **中文**
10
-
11
- AIGNE XAI SDK,用于在 [AIGNE 框架](https://github.com/AIGNE-io/aigne-framework) 中集成 XAI 语言模型和 API 服务。
12
-
13
- ## 简介
14
-
15
- `@aigne/xai` 提供了 AIGNE 框架与 XAI 的语言模型和 API 服务之间的无缝集成。该包使开发者能够在 AIGNE 应用程序中轻松利用 XAI 的模型,同时提供框架内一致的接口,充分发挥 XAI 先进的 AI 能力。
16
-
17
- ## 特性
18
-
19
- * **XAI API 集成**:直接连接到 XAI 的 API 服务
20
- * **聊天完成**:支持 XAI 的聊天完成 API 和所有可用模型
21
- * **函数调用**:内置支持函数调用功能
22
- * **流式响应**:支持流式响应,提供更高响应性的应用程序体验
23
- * **类型安全**:为所有 API 和模型提供全面的 TypeScript 类型定义
24
- * **一致接口**:兼容 AIGNE 框架的模型接口
25
- * **错误处理**:健壮的错误处理和重试机制
26
- * **完整配置**:丰富的配置选项用于微调行为
27
-
28
- ## 安装
29
-
30
- ### 使用 npm
31
-
32
- ```bash
33
- npm install @aigne/xai @aigne/core
34
- ```
35
-
36
- ### 使用 yarn
37
-
38
- ```bash
39
- yarn add @aigne/xai @aigne/core
40
- ```
41
-
42
- ### 使用 pnpm
43
-
44
- ```bash
45
- pnpm add @aigne/xai @aigne/core
46
- ```
47
-
48
- ## 基本用法
49
-
50
- ```typescript file="test/xai-chat-model.test.ts" region="example-xai-chat-model"
51
- import { XAIChatModel } from "@aigne/xai";
52
-
53
- const model = new XAIChatModel({
54
- // Provide API key directly or use environment variable XAI_API_KEY
55
- apiKey: "your-api-key", // Optional if set in env variables
56
- // Specify model (defaults to 'grok-2-latest')
57
- model: "grok-2-latest",
58
- modelOptions: {
59
- temperature: 0.8,
60
- },
61
- });
62
-
63
- const result = await model.invoke({
64
- messages: [{ role: "user", content: "Tell me about yourself" }],
65
- });
66
-
67
- console.log(result);
68
- /* Output:
69
- {
70
- text: "I'm Grok, an AI assistant from X.AI. I'm here to assist with a touch of humor and wit!",
71
- model: "grok-2-latest",
72
- usage: {
73
- inputTokens: 6,
74
- outputTokens: 17
75
- }
76
- }
77
- */
78
- ```
79
-
80
- ## 流式响应
81
-
82
- ```typescript file="test/xai-chat-model.test.ts" region="example-xai-chat-model-streaming"
83
- import { isAgentResponseDelta } from "@aigne/core";
84
- import { XAIChatModel } from "@aigne/xai";
85
-
86
- const model = new XAIChatModel({
87
- apiKey: "your-api-key",
88
- model: "grok-2-latest",
89
- });
90
-
91
- const stream = await model.invoke(
92
- {
93
- messages: [{ role: "user", content: "Tell me about yourself" }],
94
- },
95
- { streaming: true },
96
- );
97
-
98
- let fullText = "";
99
- const json = {};
100
-
101
- for await (const chunk of stream) {
102
- if (isAgentResponseDelta(chunk)) {
103
- const text = chunk.delta.text?.text;
104
- if (text) fullText += text;
105
- if (chunk.delta.json) Object.assign(json, chunk.delta.json);
106
- }
107
- }
108
-
109
- console.log(fullText); // Output: "I'm Grok, an AI assistant from X.AI. I'm here to assist with a touch of humor and wit!"
110
- console.log(json); // { model: "grok-2-latest", usage: { inputTokens: 6, outputTokens: 17 } }
111
- ```
112
-
113
- ## 许可证
114
-
115
- Elastic-2.0