From 8cafebe26c495afa379013af767e34d9b8909374 Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Fri, 2 Jun 2023 13:10:34 +0800 Subject: [PATCH] fix: tiktoken memory --- package.json | 1 - pnpm-lock.yaml | 253 +------------------------------------ src/service/mongo.ts | 1 + src/types/index.d.ts | 2 + src/utils/plugin/openai.ts | 83 ++++++++---- 5 files changed, 65 insertions(+), 275 deletions(-) diff --git a/package.json b/package.json index 617069c00..4f0a848f9 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,6 @@ "remark-math": "^5.1.1", "request-ip": "^3.3.0", "sass": "^1.58.3", - "sharp": "^0.31.3", "tunnel": "^0.0.6", "wxpay-v3": "^3.0.2", "zustand": "^4.3.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9357f950e..cfcf50bac 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,7 +64,6 @@ specifiers: remark-math: ^5.1.1 request-ip: ^3.3.0 sass: ^1.58.3 - sharp: ^0.31.3 tunnel: ^0.0.6 typescript: 4.9.5 wxpay-v3: ^3.0.2 @@ -115,7 +114,6 @@ dependencies: remark-math: registry.npmmirror.com/remark-math/5.1.1 request-ip: 3.3.0 sass: registry.npmmirror.com/sass/1.58.3 - sharp: registry.npmmirror.com/sharp/0.31.3 tunnel: registry.npmmirror.com/tunnel/0.0.6 wxpay-v3: registry.npmmirror.com/wxpay-v3/3.0.2 zustand: registry.npmmirror.com/zustand/4.3.5_immer@9.0.19+react@18.2.0 @@ -5827,16 +5825,6 @@ packages: engines: {node: '>=8'} dev: false - registry.npmmirror.com/bl/4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz} - name: bl - version: 4.1.0 - dependencies: - buffer: registry.npmmirror.com/buffer/5.7.1 - inherits: registry.npmmirror.com/inherits/2.0.4 - readable-stream: registry.npmmirror.com/readable-stream/3.6.1 - dev: false - registry.npmmirror.com/bluebird/3.4.7: resolution: {integrity: sha512-iD3898SR7sWVRHbiQv+sHUtHnMvC1o3nW5rAcqnq3uOn07DSAppZYUkIGslDz6gXC7HfunPe7YVBgoEJASPcHA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/bluebird/-/bluebird-3.4.7.tgz} name: bluebird @@ -6017,12 +6005,6 @@ packages: fsevents: 2.3.2 dev: false - registry.npmmirror.com/chownr/1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz} - name: chownr - version: 1.1.4 - dev: false - registry.npmmirror.com/clean-stack/2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz} name: clean-stack @@ -6079,6 +6061,7 @@ packages: engines: {node: '>=7.0.0'} dependencies: color-name: registry.npmmirror.com/color-name/1.1.4 + dev: true registry.npmmirror.com/color-name/1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz} @@ -6089,25 +6072,7 @@ packages: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz} name: color-name version: 1.1.4 - - registry.npmmirror.com/color-string/1.9.1: - resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz} - name: color-string - version: 1.9.1 - dependencies: - color-name: registry.npmmirror.com/color-name/1.1.4 - simple-swizzle: registry.npmmirror.com/simple-swizzle/0.2.2 - dev: false - - registry.npmmirror.com/color/4.2.3: - resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color/-/color-4.2.3.tgz} - name: color - version: 4.2.3 - engines: {node: '>=12.5.0'} - dependencies: - color-convert: registry.npmmirror.com/color-convert/2.0.1 - color-string: registry.npmmirror.com/color-string/1.9.1 - dev: false + dev: true registry.npmmirror.com/color2k/2.0.2: resolution: {integrity: sha512-kJhwH5nAwb34tmyuqq/lgjEKzlFXn1U99NlnB6Ws4qVaERcRUYeYP1cBw6BJ4vxaWStAUEef4WMr7WjOCnBt8w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/color2k/-/color2k-2.0.2.tgz} @@ -6362,15 +6327,6 @@ packages: character-entities: registry.npmmirror.com/character-entities/2.0.2 dev: false - registry.npmmirror.com/decompress-response/6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz} - name: decompress-response - version: 6.0.0 - engines: {node: '>=10'} - dependencies: - mimic-response: registry.npmmirror.com/mimic-response/3.1.0 - dev: false - registry.npmmirror.com/deep-equal/2.2.0: resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-equal/-/deep-equal-2.2.0.tgz} name: deep-equal @@ -6395,13 +6351,6 @@ packages: which-typed-array: registry.npmmirror.com/which-typed-array/1.1.9 dev: true - registry.npmmirror.com/deep-extend/0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-extend/-/deep-extend-0.6.0.tgz} - name: deep-extend - version: 0.6.0 - engines: {node: '>=4.0.0'} - dev: false - registry.npmmirror.com/deep-is/0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz} name: deep-is @@ -6480,13 +6429,6 @@ packages: engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: false - registry.npmmirror.com/detect-libc/2.0.1: - resolution: {integrity: sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/detect-libc/-/detect-libc-2.0.1.tgz} - name: detect-libc - version: 2.0.1 - engines: {node: '>=8'} - dev: false - registry.npmmirror.com/detect-node-es/1.1.0: resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/detect-node-es/-/detect-node-es-1.1.0.tgz} name: detect-node-es @@ -7171,13 +7113,6 @@ packages: strip-final-newline: registry.npmmirror.com/strip-final-newline/3.0.0 dev: true - registry.npmmirror.com/expand-template/2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/expand-template/-/expand-template-2.0.3.tgz} - name: expand-template - version: 2.0.3 - engines: {node: '>=6'} - dev: false - registry.npmmirror.com/extend-shallow/2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz} name: extend-shallow @@ -7399,12 +7334,6 @@ packages: tslib: registry.npmmirror.com/tslib/2.4.0 dev: false - registry.npmmirror.com/fs-constants/1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz} - name: fs-constants - version: 1.0.0 - dev: false - registry.npmmirror.com/fs-extra/8.1.0: resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz} name: fs-extra @@ -7517,12 +7446,6 @@ packages: - supports-color dev: false - registry.npmmirror.com/github-from-package/0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/github-from-package/-/github-from-package-0.0.0.tgz} - name: github-from-package - version: 0.0.0 - dev: false - registry.npmmirror.com/glob-parent/5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz} name: glob-parent @@ -8062,12 +7985,6 @@ packages: name: is-arrayish version: 0.2.1 - registry.npmmirror.com/is-arrayish/0.3.2: - resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz} - name: is-arrayish - version: 0.3.2 - dev: false - registry.npmmirror.com/is-bigint/1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/is-bigint/-/is-bigint-1.0.4.tgz} name: is-bigint @@ -9291,13 +9208,6 @@ packages: engines: {node: '>=12'} dev: true - registry.npmmirror.com/mimic-response/3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz} - name: mimic-response - version: 3.1.0 - engines: {node: '>=10'} - dev: false - registry.npmmirror.com/minimatch/3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz} name: minimatch @@ -9311,12 +9221,6 @@ packages: name: minimist version: 1.2.8 - registry.npmmirror.com/mkdirp-classic/0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz} - name: mkdirp-classic - version: 0.5.3 - dev: false - registry.npmmirror.com/mkdirp/0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz} name: mkdirp @@ -9436,12 +9340,6 @@ packages: hasBin: true dev: false - registry.npmmirror.com/napi-build-utils/1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz} - name: napi-build-utils - version: 1.0.2 - dev: false - registry.npmmirror.com/natural-compare/1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz} name: natural-compare @@ -9503,21 +9401,6 @@ packages: - babel-plugin-macros dev: false - registry.npmmirror.com/node-abi/3.33.0: - resolution: {integrity: sha512-7GGVawqyHF4pfd0YFybhv/eM9JwTtPqx0mAanQ146O3FlSh3pA24zf9IRQTOsfTSqXTNzPSP5iagAJ94jjuVog==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-abi/-/node-abi-3.33.0.tgz} - name: node-abi - version: 3.33.0 - engines: {node: '>=10'} - dependencies: - semver: registry.npmmirror.com/semver/7.3.8 - dev: false - - registry.npmmirror.com/node-addon-api/5.1.0: - resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-addon-api/-/node-addon-api-5.1.0.tgz} - name: node-addon-api - version: 5.1.0 - dev: false - registry.npmmirror.com/node-releases/2.0.10: resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/node-releases/-/node-releases-2.0.10.tgz} name: node-releases @@ -10027,27 +9910,6 @@ packages: dependencies: xtend: registry.npmmirror.com/xtend/4.0.2 - registry.npmmirror.com/prebuild-install/7.1.1: - resolution: {integrity: sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prebuild-install/-/prebuild-install-7.1.1.tgz} - name: prebuild-install - version: 7.1.1 - engines: {node: '>=10'} - hasBin: true - dependencies: - detect-libc: registry.npmmirror.com/detect-libc/2.0.1 - expand-template: registry.npmmirror.com/expand-template/2.0.3 - github-from-package: registry.npmmirror.com/github-from-package/0.0.0 - minimist: registry.npmmirror.com/minimist/1.2.8 - mkdirp-classic: registry.npmmirror.com/mkdirp-classic/0.5.3 - napi-build-utils: registry.npmmirror.com/napi-build-utils/1.0.2 - node-abi: registry.npmmirror.com/node-abi/3.33.0 - pump: registry.npmmirror.com/pump/3.0.0 - rc: registry.npmmirror.com/rc/1.2.8 - simple-get: registry.npmmirror.com/simple-get/4.0.1 - tar-fs: registry.npmmirror.com/tar-fs/2.1.1 - tunnel-agent: registry.npmmirror.com/tunnel-agent/0.6.0 - dev: false - registry.npmmirror.com/prelude-ls/1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz} name: prelude-ls @@ -10194,18 +10056,6 @@ packages: unpipe: registry.npmmirror.com/unpipe/1.0.0 dev: false - registry.npmmirror.com/rc/1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/rc/-/rc-1.2.8.tgz} - name: rc - version: 1.2.8 - hasBin: true - dependencies: - deep-extend: registry.npmmirror.com/deep-extend/0.6.0 - ini: registry.npmmirror.com/ini/1.3.8 - minimist: registry.npmmirror.com/minimist/1.2.8 - strip-json-comments: registry.npmmirror.com/strip-json-comments/2.0.1 - dev: false - registry.npmmirror.com/react-clientside-effect/1.2.6_react@18.2.0: resolution: {integrity: sha512-XGGGRQAKY+q25Lz9a/4EPqom7WRjz3z9R2k4jhVKA/puQFH/5Nt27vFZYql4m4NVNdUvX8PS3O7r/Zzm7cjUlg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/react-clientside-effect/-/react-clientside-effect-1.2.6.tgz} id: registry.npmmirror.com/react-clientside-effect/1.2.6 @@ -10429,17 +10279,6 @@ packages: util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2 dev: false - registry.npmmirror.com/readable-stream/3.6.1: - resolution: {integrity: sha512-+rQmrWMYGA90yenhTYsLWAsLsqVC8osOw6PKE1HDYiO0gdPeKe/xDHNzIAIn4C91YQ6oenEhfYqqc1883qHbjQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.1.tgz} - name: readable-stream - version: 3.6.1 - engines: {node: '>= 6'} - dependencies: - inherits: registry.npmmirror.com/inherits/2.0.4 - string_decoder: registry.npmmirror.com/string_decoder/1.3.0 - util-deprecate: registry.npmmirror.com/util-deprecate/1.0.2 - dev: false - registry.npmmirror.com/readdirp/3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz} name: readdirp @@ -10780,23 +10619,6 @@ packages: version: 1.2.0 dev: false - registry.npmmirror.com/sharp/0.31.3: - resolution: {integrity: sha512-XcR4+FCLBFKw1bdB+GEhnUNXNXvnt0tDo4WsBsraKymuo/IAuPuCBVAL2wIkUw2r/dwFW5Q5+g66Kwl2dgDFVg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/sharp/-/sharp-0.31.3.tgz} - name: sharp - version: 0.31.3 - engines: {node: '>=14.15.0'} - requiresBuild: true - dependencies: - color: registry.npmmirror.com/color/4.2.3 - detect-libc: registry.npmmirror.com/detect-libc/2.0.1 - node-addon-api: registry.npmmirror.com/node-addon-api/5.1.0 - prebuild-install: registry.npmmirror.com/prebuild-install/7.1.1 - semver: registry.npmmirror.com/semver/7.3.8 - simple-get: registry.npmmirror.com/simple-get/4.0.1 - tar-fs: registry.npmmirror.com/tar-fs/2.1.1 - tunnel-agent: registry.npmmirror.com/tunnel-agent/0.6.0 - dev: false - registry.npmmirror.com/shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz} name: shebang-command @@ -10834,30 +10656,6 @@ packages: version: 3.0.7 dev: true - registry.npmmirror.com/simple-concat/1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz} - name: simple-concat - version: 1.0.1 - dev: false - - registry.npmmirror.com/simple-get/4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz} - name: simple-get - version: 4.0.1 - dependencies: - decompress-response: registry.npmmirror.com/decompress-response/6.0.0 - once: registry.npmmirror.com/once/1.4.0 - simple-concat: registry.npmmirror.com/simple-concat/1.0.1 - dev: false - - registry.npmmirror.com/simple-swizzle/0.2.2: - resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz} - name: simple-swizzle - version: 0.2.2 - dependencies: - is-arrayish: registry.npmmirror.com/is-arrayish/0.3.2 - dev: false - registry.npmmirror.com/slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/slash/-/slash-3.0.0.tgz} name: slash @@ -11103,14 +10901,6 @@ packages: safe-buffer: registry.npmmirror.com/safe-buffer/5.1.2 dev: false - registry.npmmirror.com/string_decoder/1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz} - name: string_decoder - version: 1.3.0 - dependencies: - safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1 - dev: false - registry.npmmirror.com/strip-ansi/6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz} name: strip-ansi @@ -11143,13 +10933,6 @@ packages: engines: {node: '>=12'} dev: true - registry.npmmirror.com/strip-json-comments/2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz} - name: strip-json-comments - version: 2.0.1 - engines: {node: '>=0.10.0'} - dev: false - registry.npmmirror.com/strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz} name: strip-json-comments @@ -11260,30 +11043,6 @@ packages: engines: {node: '>=6'} dev: true - registry.npmmirror.com/tar-fs/2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tar-fs/-/tar-fs-2.1.1.tgz} - name: tar-fs - version: 2.1.1 - dependencies: - chownr: registry.npmmirror.com/chownr/1.1.4 - mkdirp-classic: registry.npmmirror.com/mkdirp-classic/0.5.3 - pump: registry.npmmirror.com/pump/3.0.0 - tar-stream: registry.npmmirror.com/tar-stream/2.2.0 - dev: false - - registry.npmmirror.com/tar-stream/2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tar-stream/-/tar-stream-2.2.0.tgz} - name: tar-stream - version: 2.2.0 - engines: {node: '>=6'} - dependencies: - bl: registry.npmmirror.com/bl/4.1.0 - end-of-stream: registry.npmmirror.com/end-of-stream/1.4.4 - fs-constants: registry.npmmirror.com/fs-constants/1.0.0 - inherits: registry.npmmirror.com/inherits/2.0.4 - readable-stream: registry.npmmirror.com/readable-stream/3.6.1 - dev: false - registry.npmmirror.com/text-table/0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz} name: text-table @@ -11424,14 +11183,6 @@ packages: tslib: registry.npmmirror.com/tslib/1.14.1 dev: false - registry.npmmirror.com/tunnel-agent/0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz} - name: tunnel-agent - version: 0.6.0 - dependencies: - safe-buffer: registry.npmmirror.com/safe-buffer/5.2.1 - dev: false - registry.npmmirror.com/tunnel/0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==, registry: https://registry.npm.taobao.org/, tarball: https://registry.npmmirror.com/tunnel/-/tunnel-0.0.6.tgz} name: tunnel diff --git a/src/service/mongo.ts b/src/service/mongo.ts index cebc69feb..4dfaf3e8f 100644 --- a/src/service/mongo.ts +++ b/src/service/mongo.ts @@ -37,6 +37,7 @@ export async function connectToDatabase(): Promise { }); } + // 初始化队列 global.qaQueueLen = 0; global.vectorQueueLen = 0; diff --git a/src/types/index.d.ts b/src/types/index.d.ts index 05c687782..d57a6d92a 100644 --- a/src/types/index.d.ts +++ b/src/types/index.d.ts @@ -1,6 +1,7 @@ import type { Mongoose } from 'mongoose'; import type { Agent } from 'http'; import type { Pool } from 'pg'; +import type { Tiktoken } from '@dqbd/tiktoken'; declare global { var mongodb: Mongoose | string | null; @@ -11,6 +12,7 @@ declare global { var QRCode: any; var qaQueueLen: number; var vectorQueueLen: number; + var OpenAiEncMap: Record; interface Window { ['pdfjs-dist/build/pdf']: any; diff --git a/src/utils/plugin/openai.ts b/src/utils/plugin/openai.ts index b39f876da..2489c41ff 100644 --- a/src/utils/plugin/openai.ts +++ b/src/utils/plugin/openai.ts @@ -8,6 +8,66 @@ import Graphemer from 'graphemer'; const textDecoder = new TextDecoder(); const graphemer = new Graphemer(); +export const getOpenAiEncMap = () => { + if (typeof window !== 'undefined') { + window.OpenAiEncMap = window.OpenAiEncMap || { + 'gpt-3.5-turbo': encoding_for_model('gpt-3.5-turbo', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4': encoding_for_model('gpt-4', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4-32k': encoding_for_model('gpt-4-32k', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }) + }; + return window.OpenAiEncMap; + } + if (typeof global !== 'undefined') { + global.OpenAiEncMap = global.OpenAiEncMap || { + 'gpt-3.5-turbo': encoding_for_model('gpt-3.5-turbo', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4': encoding_for_model('gpt-4', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4-32k': encoding_for_model('gpt-4-32k', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }) + }; + return global.OpenAiEncMap; + } + return { + 'gpt-3.5-turbo': encoding_for_model('gpt-3.5-turbo', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4': encoding_for_model('gpt-4', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }), + 'gpt-4-32k': encoding_for_model('gpt-4-32k', { + '<|im_start|>': 100264, + '<|im_end|>': 100265, + '<|im_sep|>': 100266 + }) + }; +}; + export const adaptChatItem_openAI = ({ messages }: { @@ -24,29 +84,6 @@ export const adaptChatItem_openAI = ({ })); }; -/* count openai chat token*/ -let OpenAiEncMap: Record; -export const getOpenAiEncMap = () => { - if (OpenAiEncMap) return OpenAiEncMap; - OpenAiEncMap = { - 'gpt-3.5-turbo': encoding_for_model('gpt-3.5-turbo', { - '<|im_start|>': 100264, - '<|im_end|>': 100265, - '<|im_sep|>': 100266 - }), - 'gpt-4': encoding_for_model('gpt-4', { - '<|im_start|>': 100264, - '<|im_end|>': 100265, - '<|im_sep|>': 100266 - }), - 'gpt-4-32k': encoding_for_model('gpt-4-32k', { - '<|im_start|>': 100264, - '<|im_end|>': 100265, - '<|im_sep|>': 100266 - }) - }; - return OpenAiEncMap; -}; export function countOpenAIToken({ messages, model