From faa846abdc8a145fefd08eae03e3e5982ccd3648 Mon Sep 17 00:00:00 2001 From: Twilight Date: Sun, 4 Aug 2024 22:48:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B=20=E8=81=8A=E5=A4=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/swagger.yaml | 108 ++++++++++++++ src/api/api.ts | 265 +++++++++++++++++++++++++++++++++ src/pages/chats/[id]/index.vue | 157 ++++++++++--------- 3 files changed, 462 insertions(+), 68 deletions(-) diff --git a/api/swagger.yaml b/api/swagger.yaml index aeb7f9d..dd73c59 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -181,6 +181,50 @@ definitions: - name - url type: object + rag-new_internal_schema.ToolDiscoveryInput: + properties: + callback_url: + type: string + description: + type: string + functions: + items: + properties: + description: + type: string + name: + type: string + parameters: + properties: + properties: + properties: + location: + properties: + description: + type: string + type: + type: string + type: object + type: object + type: + type: string + type: object + required: + items: + type: string + type: array + required: + - required + type: object + type: array + homepage_url: + type: string + name: + type: string + required: + - description + - name + type: object rag-new_internal_schema.ToolDiscoveryOutput: properties: callback_url: @@ -846,6 +890,70 @@ paths: summary: Get Tool tags: - tool + /api/v1/tools/{id}/update: + post: + consumes: + - application/json + description: 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + parameters: + - description: Tool ID + in: path + name: id + required: true + type: integer + produces: + - application/json + responses: + "200": + description: OK + schema: + allOf: + - $ref: '#/definitions/rag-new_internal_schema.ResponseBody' + - properties: + data: + $ref: '#/definitions/rag-new_internal_entity.Tool' + type: object + "400": + description: Bad Request + schema: + $ref: '#/definitions/rag-new_internal_schema.ResponseBody' + "404": + description: Not Found + schema: + $ref: '#/definitions/rag-new_internal_schema.ResponseBody' + security: + - ApiKeyAuth: [] + summary: 更新 Tool 的数据 + tags: + - tool + /api/v1/tools/syntax: + post: + consumes: + - application/json + description: 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + parameters: + - description: ToolDiscoveryInput + in: body + name: toolDiscoveryInput + required: true + schema: + $ref: '#/definitions/rag-new_internal_schema.ToolDiscoveryInput' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/rag-new_internal_schema.ResponseBody' + "400": + description: Bad Request + schema: + $ref: '#/definitions/rag-new_internal_schema.ResponseBody' + security: + - ApiKeyAuth: [] + summary: 校验 Discovery 语法 + tags: + - tool securityDefinitions: ApiKeyAuth: in: header diff --git a/src/api/api.ts b/src/api/api.ts index 4b9d15d..d363421 100644 --- a/src/api/api.ts +++ b/src/api/api.ts @@ -827,6 +827,125 @@ export interface RagNewInternalSchemaToolCreateRequest { */ 'url': string; } +/** + * + * @export + * @interface RagNewInternalSchemaToolDiscoveryInput + */ +export interface RagNewInternalSchemaToolDiscoveryInput { + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInput + */ + 'callback_url'?: string; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInput + */ + 'description': string; + /** + * + * @type {Array} + * @memberof RagNewInternalSchemaToolDiscoveryInput + */ + 'functions'?: Array; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInput + */ + 'homepage_url'?: string; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInput + */ + 'name': string; +} +/** + * + * @export + * @interface RagNewInternalSchemaToolDiscoveryInputFunctionsInner + */ +export interface RagNewInternalSchemaToolDiscoveryInputFunctionsInner { + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInner + */ + 'description'?: string; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInner + */ + 'name'?: string; + /** + * + * @type {RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInner + */ + 'parameters'?: RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters; + /** + * + * @type {Array} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInner + */ + 'required': Array; +} +/** + * + * @export + * @interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters + */ +export interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters { + /** + * + * @type {RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersProperties} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters + */ + 'properties'?: RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersProperties; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParameters + */ + 'type'?: string; +} +/** + * + * @export + * @interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersProperties + */ +export interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersProperties { + /** + * + * @type {RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersProperties + */ + 'location'?: RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation; +} +/** + * + * @export + * @interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation + */ +export interface RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation { + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation + */ + 'description'?: string; + /** + * + * @type {string} + * @memberof RagNewInternalSchemaToolDiscoveryInputFunctionsInnerParametersPropertiesLocation + */ + 'type'?: string; +} /** * * @export @@ -2201,6 +2320,43 @@ export const ToolApiAxiosParamCreator = function (configuration?: Configuration) + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 更新 Tool 的数据 + * @param {number} id Tool ID + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + apiV1ToolsIdUpdatePost: async (id: number, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'id' is not null or undefined + assertParamExists('apiV1ToolsIdUpdatePost', 'id', id) + const localVarPath = `/api/v1/tools/{id}/update` + .replace(`{${"id"}}`, encodeURIComponent(String(id))); + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication ApiKeyAuth required + await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + + + setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; @@ -2244,6 +2400,45 @@ export const ToolApiAxiosParamCreator = function (configuration?: Configuration) localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; localVarRequestOptions.data = serializeDataIfNeeded(tool, localVarRequestOptions, configuration) + return { + url: toPathString(localVarUrlObj), + options: localVarRequestOptions, + }; + }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 校验 Discovery 语法 + * @param {RagNewInternalSchemaToolDiscoveryInput} toolDiscoveryInput ToolDiscoveryInput + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + apiV1ToolsSyntaxPost: async (toolDiscoveryInput: RagNewInternalSchemaToolDiscoveryInput, options: RawAxiosRequestConfig = {}): Promise => { + // verify required parameter 'toolDiscoveryInput' is not null or undefined + assertParamExists('apiV1ToolsSyntaxPost', 'toolDiscoveryInput', toolDiscoveryInput) + const localVarPath = `/api/v1/tools/syntax`; + // use dummy base URL string because the URL constructor only accepts absolute URLs. + const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); + let baseOptions; + if (configuration) { + baseOptions = configuration.baseOptions; + } + + const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; + const localVarHeaderParameter = {} as any; + const localVarQueryParameter = {} as any; + + // authentication ApiKeyAuth required + await setApiKeyToObject(localVarHeaderParameter, "Authorization", configuration) + + + + localVarHeaderParameter['Content-Type'] = 'application/json'; + + setSearchParams(localVarUrlObj, localVarQueryParameter); + let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; + localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; + localVarRequestOptions.data = serializeDataIfNeeded(toolDiscoveryInput, localVarRequestOptions, configuration) + return { url: toPathString(localVarUrlObj), options: localVarRequestOptions, @@ -2297,6 +2492,19 @@ export const ToolApiFp = function(configuration?: Configuration) { const localVarOperationServerBasePath = operationServerMap['ToolApi.apiV1ToolsIdGet']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 更新 Tool 的数据 + * @param {number} id Tool ID + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async apiV1ToolsIdUpdatePost(id: number, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1ToolsIdUpdatePost(id, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ToolApi.apiV1ToolsIdUpdatePost']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, /** * Create tool * @summary Create Tool @@ -2310,6 +2518,19 @@ export const ToolApiFp = function(configuration?: Configuration) { const localVarOperationServerBasePath = operationServerMap['ToolApi.apiV1ToolsPost']?.[localVarOperationServerIndex]?.url; return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 校验 Discovery 语法 + * @param {RagNewInternalSchemaToolDiscoveryInput} toolDiscoveryInput ToolDiscoveryInput + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + async apiV1ToolsSyntaxPost(toolDiscoveryInput: RagNewInternalSchemaToolDiscoveryInput, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { + const localVarAxiosArgs = await localVarAxiosParamCreator.apiV1ToolsSyntaxPost(toolDiscoveryInput, options); + const localVarOperationServerIndex = configuration?.serverIndex ?? 0; + const localVarOperationServerBasePath = operationServerMap['ToolApi.apiV1ToolsSyntaxPost']?.[localVarOperationServerIndex]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, localVarOperationServerBasePath || basePath); + }, } }; @@ -2349,6 +2570,16 @@ export const ToolApiFactory = function (configuration?: Configuration, basePath? apiV1ToolsIdGet(id: number, options?: any): AxiosPromise { return localVarFp.apiV1ToolsIdGet(id, options).then((request) => request(axios, basePath)); }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 更新 Tool 的数据 + * @param {number} id Tool ID + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + apiV1ToolsIdUpdatePost(id: number, options?: any): AxiosPromise { + return localVarFp.apiV1ToolsIdUpdatePost(id, options).then((request) => request(axios, basePath)); + }, /** * Create tool * @summary Create Tool @@ -2359,6 +2590,16 @@ export const ToolApiFactory = function (configuration?: Configuration, basePath? apiV1ToolsPost(tool: RagNewInternalSchemaToolCreateRequest, options?: any): AxiosPromise { return localVarFp.apiV1ToolsPost(tool, options).then((request) => request(axios, basePath)); }, + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 校验 Discovery 语法 + * @param {RagNewInternalSchemaToolDiscoveryInput} toolDiscoveryInput ToolDiscoveryInput + * @param {*} [options] Override http request option. + * @throws {RequiredError} + */ + apiV1ToolsSyntaxPost(toolDiscoveryInput: RagNewInternalSchemaToolDiscoveryInput, options?: any): AxiosPromise { + return localVarFp.apiV1ToolsSyntaxPost(toolDiscoveryInput, options).then((request) => request(axios, basePath)); + }, }; }; @@ -2404,6 +2645,18 @@ export class ToolApi extends BaseAPI { return ToolApiFp(this.configuration).apiV1ToolsIdGet(id, options).then((request) => request(this.axios, this.basePath)); } + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 更新 Tool 的数据 + * @param {number} id Tool ID + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public apiV1ToolsIdUpdatePost(id: number, options?: RawAxiosRequestConfig) { + return ToolApiFp(this.configuration).apiV1ToolsIdUpdatePost(id, options).then((request) => request(this.axios, this.basePath)); + } + /** * Create tool * @summary Create Tool @@ -2415,6 +2668,18 @@ export class ToolApi extends BaseAPI { public apiV1ToolsPost(tool: RagNewInternalSchemaToolCreateRequest, options?: RawAxiosRequestConfig) { return ToolApiFp(this.configuration).apiV1ToolsPost(tool, options).then((request) => request(this.axios, this.basePath)); } + + /** + * 如果你的 Tool Discovery 内容改变了,你需要调用此接口更新数据 + * @summary 校验 Discovery 语法 + * @param {RagNewInternalSchemaToolDiscoveryInput} toolDiscoveryInput ToolDiscoveryInput + * @param {*} [options] Override http request option. + * @throws {RequiredError} + * @memberof ToolApi + */ + public apiV1ToolsSyntaxPost(toolDiscoveryInput: RagNewInternalSchemaToolDiscoveryInput, options?: RawAxiosRequestConfig) { + return ToolApiFp(this.configuration).apiV1ToolsSyntaxPost(toolDiscoveryInput, options).then((request) => request(this.axios, this.basePath)); + } } diff --git a/src/pages/chats/[id]/index.vue b/src/pages/chats/[id]/index.vue index e5ddbd0..e0997b7 100644 --- a/src/pages/chats/[id]/index.vue +++ b/src/pages/chats/[id]/index.vue @@ -2,12 +2,7 @@

聊天记录

- +