mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2025-12-19 06:30:10 +08:00
* feat: add tracing modules * Initial commit * fix: problem * fix: update trace web * fix: trace view * fix: trace view * fix: fix some problem * fix: knowledge and mcp trace * feat: save trace to user home dir * feat: open trace with electron browser window * fix: root trace outputs * feat: trace internationalization and add trace icon * feat: add trace title * feat: update * package.json添加windows运行script * feat: update window title * fix: mcp trace param * fix: error show * fix: listTool result * fix: merge error * feat: add stream usage and response * feat: change trace stream * fix: change stream adapter * fix: span detail show problem * fix: process show by time * fix: stream outputs * fix: merge problem * fix: stream outputs * fix: output text * fix: EDAS support text * fix: change trace footer style * fix: topicId is loaded multiple times * fix: span reload problem & attribute with cache * fix: refresh optimization * Change Powered by text. * resolve upstream conflicts * fix: build-time type exception * fix: exceptions not used when building * fix: recend no trace * fix: resend trace list * fix: delete temporary files * feat: trace for resend * fix: trace for resend message with edit * fix: directory structure and construction method of mcp-trace * fix: change CRLF to LF * fix: add function call outputs * Revert "fix: change CRLF to LF" * fix: reorganize multi-model display * fix: append model trace binding topic * fix: some problems * fix: code optimization * fix: delete async * fix: UI optimization * fix: sort import --------- Co-authored-by: 崔顺发 <csf01409784@alibaba-inc.com> Co-authored-by: 管鑫荣 <gxr01409783@alibaba-inc.com>
34 lines
1.0 KiB
TypeScript
34 lines
1.0 KiB
TypeScript
import type { BaseEmbeddings } from '@cherrystudio/embedjs-interfaces'
|
|
import { TraceMethod } from '@mcp-trace/trace-core'
|
|
import { ApiClient } from '@types'
|
|
|
|
import EmbeddingsFactory from './EmbeddingsFactory'
|
|
|
|
export default class Embeddings {
|
|
private sdk: BaseEmbeddings
|
|
constructor({ embedApiClient, dimensions }: { embedApiClient: ApiClient; dimensions?: number }) {
|
|
this.sdk = EmbeddingsFactory.create({
|
|
embedApiClient,
|
|
dimensions
|
|
})
|
|
}
|
|
public async init(): Promise<void> {
|
|
return this.sdk.init()
|
|
}
|
|
|
|
@TraceMethod({ spanName: 'dimensions', tag: 'Embeddings' })
|
|
public async getDimensions(): Promise<number> {
|
|
return this.sdk.getDimensions()
|
|
}
|
|
|
|
@TraceMethod({ spanName: 'embedDocuments', tag: 'Embeddings' })
|
|
public async embedDocuments(texts: string[]): Promise<number[][]> {
|
|
return this.sdk.embedDocuments(texts)
|
|
}
|
|
|
|
@TraceMethod({ spanName: 'embedQuery', tag: 'Embeddings' })
|
|
public async embedQuery(text: string): Promise<number[]> {
|
|
return this.sdk.embedQuery(text)
|
|
}
|
|
}
|