Skip to content

Commit

Permalink
feat: 完善流式调用文档,构造函数优化,代码结构简化
Browse files Browse the repository at this point in the history
  • Loading branch information
winily committed Mar 20, 2024
1 parent 59430b7 commit 103f759
Show file tree
Hide file tree
Showing 57 changed files with 411 additions and 1,887 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ web_modules/
.cache
.parcel-cache
test-dist
test
# Next.js build output
.next
out
Expand Down
47 changes: 29 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,7 @@ yarn add zhipuai-sdk-nodejs-v4
import { ZhipuAI } from 'zhipuai-sdk-nodejs-v4';

const dialogue = async () => {
const ai = new ZhipuAI({
// 填写您的 APIKey 不填的话默认从环境变量读取 ZHIPUAI_API_KEY 的值
apiKey: ''
})
const ai = new ZhipuAI()
const data = await ai.createCompletions({
model: "glm-4",
messages: [
Expand All @@ -38,7 +35,6 @@ const dialogue = async () => {
{"role": "assistant", "content": "我叫chatGLM"},
{"role": "user", "content": "你都可以做些什么事"}
],
// 如果为 true data 就是一个 stream 对象,要通过 on('data', (buffer) => void) 读取数据
stream: false,
})
console.log(data, "message")
Expand All @@ -47,6 +43,30 @@ const dialogue = async () => {
dialogue()
```

流式调用

```javascript
import { ZhipuAI } from 'zhipuai-sdk-nodejs-v4';

const dialogue = async () => {
const ai = new ZhipuAI()
const result = await ai.createCompletions({
model: "glm-4",
messages: [
{ "role": "user", "content": "你好" },
{ "role": "assistant", "content": "我是人工智能助手" },
{ "role": "user", "content": "你叫什么名字" }
],
stream: true
})
for await (const chunk of result) {
console.log(chunk.toString())
}
}

dialogue()
```

### 生成一个图片

调用 createImages 快速生成一个图片
Expand All @@ -55,10 +75,7 @@ dialogue()
import { ZhipuAI } from 'zhipuai-sdk-nodejs-v4';

const createIamge = async () => {
const ai = new ZhipuAI({
// 填写您的 APIKey 不填的话默认从环境变量读取 ZHIPUAI_API_KEY 的值
apiKey: ''
})
const ai = new ZhipuAI()
const result = await ai.createImages({
model: "cogview-3",
prompt: "一只可爱的小猫咪"
Expand All @@ -77,15 +94,12 @@ createIamge()
import { ZhipuAI } from 'zhipuai-sdk-nodejs-v4';

const createEmbeddings = async () => {
const ai = new ZhipuAI({
// 填写您的 APIKey 不填的话默认从环境变量读取 ZHIPUAI_API_KEY 的值
apiKey: ''
})
const ai = new ZhipuAI()
const result = await ai.createEmbeddings({
model: "embedding-2",
input: "你好"
})
console.log(data, "embedding")
console.log(result, "embedding")
}

createEmbeddings()
Expand All @@ -102,10 +116,7 @@ import { ZhipuAI } from 'zhipuai-sdk-nodejs-v4';
import { openAsBlob } from 'fs';

const filesOperations = async () => {
const ai = new ZhipuAI({
// 填写您的 APIKey 不填的话默认从环境变量读取 ZHIPUAI_API_KEY 的值
apiKey: ''
})
const ai = new ZhipuAI()
const result = await ai.createFiles({
file: await openAsBlob("file path"),
purpose: "test"
Expand Down
36 changes: 6 additions & 30 deletions dist/capability/completions.cjs
Original file line number Diff line number Diff line change
Expand Up @@ -54,41 +54,13 @@ var BaseApi = class {
const data = (_b = (_a = err == null ? void 0 : err.response) == null ? void 0 : _a.data) != null ? _b : err;
return Promise.reject(data);
}
get(url, params, options) {
return __async(this, null, function* () {
return this.request.get(url, {
params,
headers: options.extraHeaders,
timeout: options.timeout,
responseType: options.stream ? "stream" : "json"
}).catch(this.processError);
});
}
post(url, data, options) {
return __async(this, null, function* () {
return this.request.post(url, data, {
headers: options.extraHeaders,
timeout: options.timeout,
responseType: options.stream ? "stream" : "json"
}).catch(this.processError);
});
}
postForm(url, data, options) {
return __async(this, null, function* () {
return this.request.postForm(url, data, {
headers: options.extraHeaders,
timeout: options.timeout,
responseType: options.stream ? "stream" : "json"
}).catch(this.processError);
});
}
};

// lib/capability/completions.ts
var Completions = class extends BaseApi {
create(options) {
return __async(this, null, function* () {
return this.post("/chat/completions", {
return this.request.post("/chat/completions", {
"model": options.model,
"request_id": options.requestId,
"temperature": options.temperature,
Expand All @@ -102,7 +74,11 @@ var Completions = class extends BaseApi {
"stream": options.stream,
"tools": options.tools,
"tool_choice": options.toolChoice
}, options);
}, {
headers: options.extraHeaders,
timeout: options.timeout,
responseType: options.stream ? "stream" : "json"
}).catch(this.processError);
});
}
};
Expand Down
2 changes: 1 addition & 1 deletion dist/capability/completions.cjs.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion dist/capability/completions.d.cts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import BaseApi from '../core/baseApi.cjs';
import { CreateCompletionsOptions, CompletionsResponseMessage } from '../types/completions.cjs';
import { IncomingMessage } from 'http';
import '../core/request.cjs';
import 'axios';
import '../types/baseApi.cjs';

declare class Completions extends BaseApi {
create(options: CreateCompletionsOptions): Promise<CompletionsResponseMessage>;
create(options: CreateCompletionsOptions): Promise<CompletionsResponseMessage | IncomingMessage>;
}

export { Completions as default };
3 changes: 2 additions & 1 deletion dist/capability/completions.d.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import BaseApi from '../core/baseApi.js';
import { CreateCompletionsOptions, CompletionsResponseMessage } from '../types/completions.js';
import { IncomingMessage } from 'http';
import '../core/request.js';
import 'axios';
import '../types/baseApi.js';

declare class Completions extends BaseApi {
create(options: CreateCompletionsOptions): Promise<CompletionsResponseMessage>;
create(options: CreateCompletionsOptions): Promise<CompletionsResponseMessage | IncomingMessage>;
}

export { Completions as default };
36 changes: 6 additions & 30 deletions dist/capability/completions.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 103f759

Please sign in to comment.