实现

构造函数

方法

  • 将 runs 添加到具有指定队列 ID 的标注队列。

    参数

    • queueId: string

      标注队列的 ID

    • runIds: string[]

      要添加到标注队列的 runs 的 ID

    返回值 Promise<void>

  • 等待所有待处理的 trace 批次。在需要确保所有追踪请求在执行结束前完成的环境中非常有用,例如无服务器环境。

    返回值 Promise<void> | Promise<[...void[], void]>

    一个 promise,一旦所有当前待处理的 traces 发送完毕,promise 将会 resolve。

    import { Client } from "langsmith";

    const client = new Client();

    try {
    // Tracing happens here
    ...
    } finally {
    await client.awaitPendingTraceBatches();
    }
  • 在 Langsmith 系统中批量摄取/更新多个 runs。

    参数

    返回值 Promise<void>

  • 将公共数据集克隆到您自己的 langsmith 租户。此操作是幂等的。如果您已经有一个具有给定名称的数据集,则此函数将不执行任何操作。

    参数

    • tokenOrUrl: string

      要克隆的公共数据集的令牌。

    • Optionaloptions: { datasetName?: string; sourceApiUrl?: string } = {}

      用于克隆数据集的附加选项。

      • OptionaldatasetName?: string

        要在您的租户中创建的数据集的名称。默认为公共数据集的名称。

      • OptionalsourceApiUrl?: string

        托管数据的 langsmith 服务器的 URL。默认为您当前客户端的 API URL。

    返回值 Promise<void>

  • 在 LangSmith API 上创建标注队列。

    参数

    • options: { name: string; description?: string; queueId?: string }

      用于创建标注队列的选项

      • name: string

        标注队列的名称

      • Optionaldescription?: string

        标注队列的描述

      • OptionalqueueId?: string

        标注队列的 ID

    返回 Promise<AnnotationQueue>

    已创建的 AnnotationQueue 对象

  • 参数

    • promptIdentifier: string
    • object: any
    • Optionaloptions: { parentCommitHash?: string }

    返回 Promise<string>

  • 参数

    • __namedParameters: {
          experimentIds: string[];
          name: string;
          createdAt?: Date;
          description?: string;
          id?: string;
          metadata?: Record<string, unknown>;
          referenceDatasetId?: string;
      }

    返回 Promise<ComparativeExperiment>

  • 参数

    • name: string
    • __namedParameters: {
          dataType?: DataType;
          description?: string;
          inputsSchema?: KVMap;
          metadata?: RecordStringAny;
          outputsSchema?: KVMap;
      } = {}

    返回 Promise<Dataset>

  • 参数

    返回 Promise<Example[]>

  • 参数

    • props: {
          attachments?: Attachments[];
          datasetId?: string;
          datasetName?: string;
          exampleIds?: string[];
          inputs?: KVMap[];
          metadata?: KVMap[];
          outputs?: KVMap[];
          sourceRunIds?: string[];
          splits?: (string | string[])[];
          useSourceRunAttachments?: string[][];
          useSourceRunIOs?: boolean[];
      }

    返回 Promise<Example[]>

    请使用仅上传的重载版本

  • 参数

    • runId: null | string
    • key: string
    • __namedParameters: {
          comment?: string;
          comparativeExperimentId?: string;
          correction?: object;
          eager?: boolean;
          feedbackConfig?: FeedbackConfig;
          feedbackId?: string;
          feedbackSourceType?: FeedbackSourceType;
          projectId?: string;
          score?: ScoreType;
          sourceInfo?: object;
          sourceRunId?: string;
          value?: ValueType;
      }

    返回 Promise<Feedback>

  • 创建预签名反馈令牌和 URL。

    该令牌可以用于授权反馈指标,而无需 API 密钥。这对于为基于浏览器的应用程序提供提交反馈的能力而无需暴露 API 密钥非常有用。

    参数

    • runId: string

      运行的 ID。

    • feedbackKey: string

      反馈密钥。

    • options: { expiration?: string | TimeDelta; feedbackConfig?: FeedbackConfig } = {}

      令牌的附加选项。

    返回 Promise<FeedbackIngestToken>

    一个 Promise,它解析为 FeedbackIngestToken。

  • 参数

    • promptIdentifier: string
    • Optionaloptions: { description?: string; isPublic?: boolean; readme?: string; tags?: string[] }

    返回 Promise<Prompt>

  • 删除具有指定队列 ID 的注释队列。

    参数

    • queueId: string

      要删除的注释队列的 ID

    返回值 Promise<void>

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string }

    返回值 Promise<void>

  • 参数

    • exampleId: string

    返回值 Promise<void>

  • 参数

    • feedbackId: string

    返回值 Promise<void>

  • 参数

    • __namedParameters: { projectId?: string; projectName?: string }

    返回值 Promise<void>

  • 参数

    • promptIdentifier: string

    返回值 Promise<void>

  • 从注释队列中删除一个 Run。

    参数

    • queueId: string

      要从中删除 Run 的注释队列的 ID

    • queueRunId: string

      要从注释队列中删除的 Run 的 ID

    返回值 Promise<void>

  • 参数

    • __namedParameters: {
          fromVersion: string | Date;
          toVersion: string | Date;
          datasetId?: string;
          datasetName?: string;
      }

    返回值 Promise<DatasetDiffInfo>

  • 参数

    • run: string | Run
    • evaluator: RunEvaluator
    • __namedParameters: { loadChildRuns: boolean; referenceExample?: Example; sourceInfo?: KVMap } = ...

    返回 Promise<Feedback>

    此方法已弃用,将在未来的 LangSmith 版本中移除,请使用 langsmith/evaluation 中的 evaluate 方法代替。

  • 刷新当前排队的 traces。

    返回值 Promise<void>

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string }

    返回 Promise<string>

  • 参数

    • __namedParameters: { projectId?: string; projectName?: string }

    返回 Promise<string>

  • 从指定索引的注释队列中获取一个 Run。

    参数

    • queueId: string

      标注队列的 ID

    • index: number

      要检索的 Run 的索引

    返回值 Promise<RunWithAnnotationQueueInfo>

    解析为 RunWithAnnotationQueueInfo 对象的 Promise

    如果在给定索引处未找到 Run 或发生其他 API 相关错误时

  • 参数

    • __namedParameters: {
          dataSourceType?: string;
          endTime?: string;
          error?: boolean;
          filter?: string;
          id?: string[];
          isRoot?: boolean;
          parentRun?: string;
          projectIds?: string[];
          projectNames?: string[];
          query?: string;
          referenceExampleIds?: string[];
          runType?: string;
          startTime?: string;
          trace?: string;
          traceFilter?: string;
          treeFilter?: string;
      }

    返回值 Promise<any>

  • 参数

    • __namedParameters: { projectOpts?: ProjectOptions; run?: Run; runId?: string }

    返回 Promise<string>

  • 获取注释队列的大小。

    参数

    • queueId: string

      标注队列的 ID

    返回值 Promise<{ size: number }>

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string }

    返回值 Promise<boolean>

  • 参数

    • __namedParameters: { projectId?: string; projectName?: string }

    返回值 Promise<boolean>

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string; tag?: string }

    返回值 Promise<void>

  • 列出 LangSmith API 上的注释队列。

    参数

    • options: { limit?: number; name?: string; nameContains?: string; queueIds?: string[] } = {}

      用于列出注释队列的选项

      • 可选limit?: number

        要返回的最大队列数量

      • 可选name?: string

        要按名称筛选的队列名称

      • 可选nameContains?: string

        队列名称应包含的子字符串

      • 可选queueIds?: string[]

        要按 ID 筛选的队列 ID

    返回值 AsyncIterableIterator<AnnotationQueue>

    AnnotationQueue 对象的迭代器

  • 参数

    • __namedParameters: {
          datasetIds?: string[];
          datasetName?: string;
          datasetNameContains?: string;
          limit?: number;
          metadata?: RecordStringAny;
          offset?: number;
      } = {}

    返回 AsyncIterable<Dataset>

  • 参数

    • __namedParameters: { asOf?: string | Date; datasetId?: string; datasetName?: string }

    返回 Promise<string[]>

  • 参数

    • __namedParameters: {
          asOf?: string | Date;
          datasetId?: string;
          datasetName?: string;
          exampleIds?: string[];
          filter?: string;
          includeAttachments?: boolean;
          inlineS3Urls?: boolean;
          limit?: number;
          metadata?: KVMap;
          offset?: number;
          splits?: string[];
      } = {}

    返回 AsyncIterable<Example>

  • 参数

    • __namedParameters: {
          feedbackKeys?: string[];
          feedbackSourceTypes?: FeedbackSourceType[];
          runIds?: string[];
      } = {}

    返回 AsyncIterable<Feedback>

  • 检索给定 Run ID 的预签名反馈令牌列表。

    参数

    • runId: string

      运行的 ID。

    返回 AsyncIterable<FeedbackIngestToken>

    FeedbackIngestToken 对象的异步可迭代对象。

  • 参数

    • __namedParameters: {
          metadata?: RecordStringAny;
          name?: string;
          nameContains?: string;
          projectIds?: string[];
          referenceDatasetId?: string;
          referenceDatasetName?: string;
          referenceFree?: boolean;
      } = {}

    返回 AsyncIterable<TracerSession>

  • 参数

    • Optionaloptions: {
          isArchived?: boolean;
          isPublic?: boolean;
          query?: string;
          sortField?: PromptSortField;
      }

    返回 AsyncIterableIterator<Prompt>

  • 从 LangSmith 服务器列出 Runs。

    参数

    • props: ListRunsParams

    返回 AsyncIterable<Run>

    • Runs。
    // List all runs in a project
    const projectRuns = client.listRuns({ projectName: "<your_project>" });
    // List LLM and Chat runs in the last 24 hours
    const todaysLLMRuns = client.listRuns({
    projectName: "<your_project>",
    start_time: new Date(Date.now() - 24 * 60 * 60 * 1000),
    run_type: "llm",
    });
    // List traces in a project
    const rootRuns = client.listRuns({
    projectName: "<your_project>",
    execution_order: 1,
    });
    // List runs without errors
    const correctRuns = client.listRuns({
    projectName: "<your_project>",
    error: false,
    });
    // List runs by run ID
    const runIds = [
    "a36092d2-4ad5-4fb4-9c0d-0dba9a2ed836",
    "9398e6be-964f-4aa4-8ae9-ad78cd4b7074",
    ];
    const selectedRuns = client.listRuns({ run_ids: runIds });
    // List all "chain" type runs that took more than 10 seconds and had `total_tokens` greater than 5000
    const chainRuns = client.listRuns({
    projectName: "<your_project>",
    filter: 'and(eq(run_type, "chain"), gt(latency, 10), gt(total_tokens, 5000))',
    });
    // List all runs called "extractor" whose root of the trace was assigned feedback "user_score" score of 1
    const goodExtractorRuns = client.listRuns({
    projectName: "<your_project>",
    filter: 'eq(name, "extractor")',
    traceFilter: 'and(eq(feedback_key, "user_score"), eq(feedback_score, 1))',
    });
    // List all runs that started after a specific timestamp and either have "error" not equal to null or a "Correctness" feedback score equal to 0
    const complexRuns = client.listRuns({
    projectName: "<your_project>",
    filter: 'and(gt(start_time, "2023-07-15T12:34:56Z"), or(neq(error, null), and(eq(feedback_key, "Correctness"), eq(feedback_score, 0.0))))',
    });
    // List all runs where `tags` include "experimental" or "beta" and `latency` is greater than 2 seconds
    const taggedRuns = client.listRuns({
    projectName: "<your_project>",
    filter: 'and(or(has(tags, "experimental"), has(tags, "beta")), gt(latency, 2))',
    });
  • 获取共享示例。

    参数

    • shareToken: string

      用于获取示例的共享令牌。 共享令牌是显式标记示例为公开时生成的 UUID(或包括 UUID 的 LangSmith URL)。

    • Optionaloptions: { exampleIds?: string[] }

      用于列出示例的其他选项。

      • OptionalexampleIds?: string[]

        要按示例 ID 筛选的列表。

    返回 Promise<Example[]>

    共享示例。

  • 参数

    • shareToken: string
    • __namedParameters: { runIds?: string[] } = {}

    返回 Promise<Run[]>

  • 在 Langsmith 系统中批量摄取/更新多个 runs。

    参数

    返回值 Promise<void>

  • 参数

    • promptIdentifier: string

    返回值 Promise<boolean>

  • 参数

    • promptIdentifier: string
    • Optionaloptions: { includeModel?: boolean }

    返回 Promise<PromptCommit>

  • 参数

    • promptIdentifier: string
    • Optionaloptions: {
          description?: string;
          isPublic?: boolean;
          object?: any;
          parentCommitHash?: string;
          readme?: string;
          tags?: string[];
      }

    返回 Promise<string>

  • 读取具有指定队列 ID 的注释队列。

    参数

    • queueId: string

      要读取的注释队列的 ID

    返回 Promise<AnnotationQueue>

    AnnotationQueue 对象

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string }

    返回 Promise<Dataset>

  • 参数

    • __namedParameters: { datasetId?: string; datasetName?: string }

    返回 Promise<any[]>

  • 按最近日期或确切标签获取数据集版本。

    使用此方法解析给定时间戳或给定标签的最近版本。

    参数

    • options: { asOf?: string | Date; datasetId?: string; datasetName?: string; tag?: string }

      用于获取数据集版本的选项

      • OptionalasOf?: string | Date

        要检索的数据集的时间戳

      • OptionaldatasetId?: string

        数据集的 ID

      • OptionaldatasetName?: string

        数据集的名称

      • Optionaltag?: string

        要检索的数据集的标签

    返回 Promise<DatasetVersion>

    数据集版本

  • 参数

    • __namedParameters: { includeStats?: boolean; projectId?: string; projectName?: string }

    返回 Promise<TracerSessionResult>

  • 参数

    • runId: string
    • __namedParameters: { loadChildRuns: boolean } = ...

    返回 Promise<Run>

  • 参数

    • runId: string

    返回 Promise<undefined | string>

  • 参数

    • runId: string
    • __namedParameters: { shareId?: string } = {}

    返回 Promise<string>

  • 让您对数据集运行相似性搜索查询。

    需要数据集被索引。请参阅 indexDataset 方法来设置索引。

    参数

    • inputs: KVMap

      要在其上运行相似性搜索的输入。必须具有与数据集相同的模式。

    • datasetId: string

      要搜索相似示例的数据集。

    • limit: number

      要返回的最大示例数量。将按最相似到最不相似的顺序返回前 limit 个最相似的示例。如果没有找到相似的示例,将返回随机示例。

    • filter: { filter?: string } = {}

      应用于搜索的过滤器字符串。只会返回与过滤器字符串匹配的示例。一些过滤器示例

                     - eq(metadata.mykey, "value")
                     - and(neq(metadata.my.nested.key, "value"), neq(metadata.mykey, "value"))
                     - or(eq(metadata.mykey, "value"), eq(metadata.mykey, "othervalue"))
      

    返回 Promise<ExampleSearch[]>

    相似示例的列表。

    dataset_id = "123e4567-e89b-12d3-a456-426614174000"
    inputs = {"text": "How many people live in Berlin?"}
    limit = 5
    examples = await client.similarExamples(inputs, dataset_id, limit)
  • 参数

    • datasetId: string

    返回值 Promise<void>

  • 参数

    • runId: string

    返回值 Promise<void>

  • 使用指定的队列 ID 更新注释队列。

    参数

    • queueId: string

      要更新的注释队列的 ID

    • options: { name: string; description?: string }

      用于更新注释队列的选项

      • name: string

        注释队列的新名称

      • Optionaldescription?: string

        注释队列的新描述

    返回值 Promise<void>

  • 更新数据集

    参数

    • props: {
          datasetId?: string;
          datasetName?: string;
          description?: string;
          name?: string;
      }

      要更新的数据集详细信息

    返回 Promise<Dataset>

    更新后的数据集

  • 参数

    • __namedParameters: {
          exampleIds: string[];
          splitName: string;
          datasetId?: string;
          datasetName?: string;
          remove?: boolean;
      }

    返回值 Promise<void>

  • 更新数据集上的标签。

    如果标签已分配给此数据集的不同版本,则标签将移动到新版本。as_of 参数用于确定将新标签应用于哪个数据集版本。

    它必须是数据集的精确版本才能成功。您可以使用 “readDatasetVersion” 方法查找要应用标签的精确版本。

    参数

    • props: { asOf: string | Date; tag: string; datasetId?: string; datasetName?: string }

    返回值 Promise<void>

  • 参数

    • feedbackId: string
    • __namedParameters: {
          comment?: null | string;
          correction?: null | object;
          score?: null | number | boolean;
          value?: null | string | number | boolean | object;
      }

    返回值 Promise<void>

  • 参数

    • projectId: string
    • __namedParameters: {
          description?: null | string;
          endTime?: null | string;
          metadata?: null | RecordStringAny;
          name?: null | string;
          projectExtra?: null | RecordStringAny;
      }

    返回 Promise<TracerSession>

  • 参数

    • promptIdentifier: string
    • Optionaloptions: {
          description?: string;
          isArchived?: boolean;
          isPublic?: boolean;
          readme?: string;
          tags?: string[];
      }

    返回 Promise<Record<string, any>>

  • 使用 multipart form data 上传带有附件的示例。

    参数

    • datasetId: string
    • uploads: ExampleCreate[] = []

      要上传的 ExampleUploadWithAttachments 对象列表

    返回 Promise<UploadExamplesResponse>

    包含上传响应的 Promise

    此方法已弃用,将在未来的 LangSmith 版本中移除,请改用 createExamples

  • 返回 {
        apiUrl: string;
        apiKey?: string;
        hideInputs?: boolean;
        hideOutputs?: boolean;
        webUrl?: string;
    }