@maogo/openai
v0.0.9
Published
midwayjs的openai在线模型组件
Downloads
3
Readme
该组件为midayjs的智普大模型组件
安装@maogo/zhipu
$ npm i @maogo/zhipu
启用组件
// src/configuration.ts
import * as zhipu from '@maogo/zhipu';
@Configuration({
imports: [
zhipu,
{
component: info,
enabledEnvironment: ['local'],
},
],
importConfigs: [join(__dirname, './config')],
})
配置组件
// src/config/config.default.ts
import * as zhipu from '@maogo/zhipu';
export default {
zhipu: {
client: {
apiKey: ''
},
},
}
创建一个对话
// src/service/zhipu.ts
import { Provide } from '@midwayjs/core';
import { ZhipuService } from '@maogo/zhipu';
@Provide()
export class ZhipuService {
@Inject()
zhipuService: ZhipuService;
async dialogue() {
return await this.zhipuService.createCompletions({
model: "glm-4",
messages: [
{"role": "user", "content": "你好"},
{"role": "assistant", "content": "我是人工智能助手"},
{"role": "user", "content": "你叫什么名字"},
{"role": "assistant", "content": "我叫chatGLM"},
{"role": "user", "content": "你都可以做些什么事"}
],
// 如果为 true data 就是一个 stream 对象,要通过 on('data', (buffer) => void) 读取数据
stream: false,
})
}
}
生成一个图片
// src/service/zhipu.ts
import { Provide } from '@midwayjs/core';
import { ZhipuService } from '@maogo/zhipu';
@Provide()
export class ZhipuService {
@Inject()
zhipuService: ZhipuService;
async createIamge() {
return await this.zhipuService.createImages({
model: "cogview-3",
prompt: "一只可爱的小猫咪"
})
}
}
创建向量
// src/service/zhipu.ts
import { Provide } from '@midwayjs/core';
import { ZhipuService } from '@maogo/zhipu';
@Provide()
export class ZhipuService {
@Inject()
zhipuService: ZhipuService;
async createEmbeddings() {
return await this.zhipuService.createEmbeddings({
model: "embedding-2",
input: "你好"
})
}
}
文件管理
// src/service/zhipu.ts
import { Provide } from '@midwayjs/core';
import { ZhipuService } from '@maogo/zhipu';
import { openAsBlob } from 'fs';
@Provide()
export class ZhipuService {
@Inject()
zhipuService: ZhipuService;
async filesOperations() {
const result = await this.zhipuService.createFiles({
file: await openAsBlob("file path"),
purpose: "test"
})
const fileList = await this.zhipuService.findFiles(
purpose?: string;
limit?: number;
after?: string;
order?: "desc" | "asc";
)
return {
result,
fileList
}
}
}