AsyncClient#
- class langsmith.async_client.AsyncClient(
- api_url: str | None = None,
- api_key: str | None = None,
- timeout_ms: int | tuple[int | None, int | None, int | None, int | None] | None = None,
- retry_config: Mapping[str, Any] | None = None,
- web_url: str | None = None,
用于与 LangSmith API 交互的异步客户端。
初始化异步客户端。
方法
__init__
([api_url, api_key, timeout_ms, ...])初始化异步客户端。
aclose
()关闭异步客户端。
add_runs_to_annotation_queue
(queue_id, *, ...)将运行添加到具有指定队列 ID 的标注队列中。
create_annotation_queue
(*, name[, ...])在 LangSmith API 上创建标注队列。
create_commit
(prompt_identifier, object, *)为现有提示创建提交。
create_dataset
(dataset_name, **kwargs)创建一个数据集。
create_example
(inputs[, outputs, ...])创建一个示例。
create_feedback
(run_id, key[, score, value, ...])为运行创建反馈。
create_feedback_from_token
(token_or_url[, ...])从预签名令牌或 URL 创建反馈。
create_presigned_feedback_token
(run_id, ...)创建一个预签名 URL 用于发送反馈数据。
create_project
(project_name, **kwargs)创建一个项目。
create_prompt
(prompt_identifier, *[, ...])创建一个新提示。
create_run
(name, inputs, run_type, *[, ...])创建一个运行。
delete_annotation_queue
(queue_id)删除具有指定队列 ID 的标注队列。
delete_dataset
(dataset_id)删除一个数据集。
delete_feedback
(feedback_id)按 ID 删除反馈。
delete_project
(*[, project_name, project_id])从 LangSmith 删除一个项目。
delete_prompt
(prompt_identifier)删除一个提示。
delete_run_from_annotation_queue
(queue_id, ...)从具有指定队列 ID 和运行 ID 的标注队列中删除一个运行。
get_prompt
(prompt_identifier)按标识符获取特定提示。
get_run_from_annotation_queue
(queue_id, *, index)从指定索引处的标注队列中获取一个运行。
index_dataset
(*, dataset_id[, tag])启用数据集索引。
like_prompt
(prompt_identifier)点赞一个提示。
list_annotation_queues
(*[, queue_ids, name, ...])列出 LangSmith API 上的标注队列。
list_datasets
(**kwargs)列出数据集。
list_examples
(*[, dataset_id, dataset_name])列出示例。
list_feedback
(*[, run_ids, feedback_key, ...])列出反馈。
list_prompt_commits
(prompt_identifier, *[, ...])列出给定提示的提交。
list_prompts
(*[, limit, offset, is_public, ...])分页列出提示。
list_runs
(*[, project_id, project_name, ...])列出 LangSmith API 中的运行。
pull_prompt
(prompt_identifier, *[, ...])拉取一个提示并将其作为 LangChain PromptTemplate 返回。
pull_prompt_commit
(prompt_identifier, *[, ...])从 LangSmith API 拉取一个提示对象。
push_prompt
(prompt_identifier, *[, object, ...])将提示推送到 LangSmith API。
read_annotation_queue
(queue_id)读取具有指定队列 ID 的标注队列。
read_dataset
([dataset_name, dataset_id])读取一个数据集。
read_example
(example_id)读取一个示例。
read_feedback
(feedback_id)读取反馈。
read_project
([project_name, project_id])读取一个项目。
read_run
(run_id)读取一个运行。
read_run_shared_link
(run_id)异步检索特定运行的共享链接。
run_is_shared
(run_id)异步获取运行的共享状态。
share_run
(run_id, *[, share_id])异步获取运行的共享链接。
similar_examples
(inputs, /, *, limit, dataset_id)检索输入最匹配当前输入的数据集示例。
sync_indexed_dataset
(*, dataset_id, **kwargs)同步数据集索引。
unlike_prompt
(prompt_identifier)取消点赞一个提示。
update_annotation_queue
(queue_id, *, name[, ...])更新具有指定 `queue_id` 的标注队列。
update_prompt
(prompt_identifier, *[, ...])更新提示的元数据。
update_run
(run_id, **kwargs)更新一个运行。
- 参数:
api_url (Optional[str])
api_key (Optional[str])
timeout_ms (Optional[Union[int, tuple[Optional[int], Optional[int], Optional[int], Optional[int]]]])
retry_config (Optional[Mapping[str, Any]])
web_url (Optional[str])
- __init__(
- api_url: str | None = None,
- api_key: str | None = None,
- timeout_ms: int | tuple[int | None, int | None, int | None, int | None] | None = None,
- retry_config: Mapping[str, Any] | None = None,
- web_url: str | None = None,
初始化异步客户端。
- 参数:
api_url (str | None)
api_key (str | None)
timeout_ms (int | tuple[int | None, int | None, int | None, int | None] | None)
retry_config (Mapping[str, Any] | None)
web_url (str | None)
- async add_runs_to_annotation_queue(
- queue_id: UUID | str,
- *,
- run_ids: list[UUID | str],
将运行添加到具有指定队列 ID 的标注队列中。
- 参数:
queue_id (Union[UUID, str]) – 标注队列的 ID。
run_ids (List[Union[UUID, str]]) – 要添加到标注队列的运行 ID。
- 返回:
None
- 返回类型:
None
- async create_annotation_queue(
- *,
- name: str,
- description: str | None = None,
- queue_id: UUID | str | None = None,
在 LangSmith API 上创建标注队列。
- 参数:
name (str) – 标注队列的名称。
description (Optional[str]) – 标注队列的描述。
queue_id (Optional[Union[UUID, str]]) – 标注队列的 ID。
- 返回:
创建的标注队列对象。
- 返回类型:
- async create_commit(
- prompt_identifier: str,
- object: Any,
- *,
- parent_commit_hash: str | None = None,
为现有提示创建提交。
- 参数:
prompt_identifier (str) – 提示的标识符。
object (Any) – 要提交的 LangChain 对象。
parent_commit_hash (Optional[str]) – 父提交的哈希值。默认为最新提交。
- 返回:
提示提交的 URL。
- 返回类型:
str
- 引发:
HTTPError – 如果服务器请求失败。
ValueError – 如果提示不存在。
- async create_dataset(
- dataset_name: str,
- **kwargs: Any,
创建一个数据集。
- 参数:
dataset_name (str)
kwargs (Any)
- 返回类型:
- async create_example(
- inputs: dict[str, Any],
- outputs: dict[str, Any] | None = None,
- dataset_id: UUID | str | None = None,
- dataset_name: str | None = None,
- **kwargs: Any,
创建一个示例。
- 参数:
inputs (dict[str, Any])
outputs (dict[str, Any] | None)
dataset_id (UUID | str | None)
dataset_name (str | None)
kwargs (Any)
- 返回类型:
- async create_feedback(
- run_id: UUID | str | None,
- key: str,
- score: float | None = None,
- value: Any | None = None,
- comment: str | None = None,
- **kwargs: Any,
为运行创建反馈。
- 参数:
run_id (Optional[ls_client.ID_TYPE]) – 提供反馈的运行 ID。对于项目级反馈,可以为 None。
key (str) – 此反馈所针对的指标或方面的名称。
score (Optional[float]) – 在此指标或方面上对本次运行进行评分的分数。
value (Optional[Any]) – 此反馈的显示值或非数值。
comment (Optional[str]) – 关于此反馈的评论。
**kwargs – 要包含在反馈数据中的额外关键字参数。
- 返回:
创建的反馈对象。
- 返回类型:
ls_schemas.Feedback
- 引发:
httpx.HTTPStatusError – 如果 API 请求失败。
- async create_feedback_from_token(
- token_or_url: str | UUID,
- score: float | int | bool | None = None,
- *,
- value: float | int | bool | str | dict | None = None,
- correction: dict | None = None,
- comment: str | None = None,
- metadata: dict | None = None,
从预签名令牌或 URL 创建反馈。
- 参数:
token_or_url (Union[str, uuid.UUID]) – 用于创建反馈的令牌或 URL。
score (Union[float, int, bool, None], optional) – 反馈得分。默认为 None。
value (Union[float, int, bool, str, dict, None], optional) – 反馈值。默认为 None。
correction (Union[dict, None], optional) – 反馈的更正。默认为 None。
comment (Union[str, None], optional) – 反馈的评论。默认为 None。
metadata (Optional[dict], optional) – 反馈的附加元数据。默认为 None。
- 引发:
ValueError – 如果源 API URL 无效。
- 返回:
此方法不返回任何内容。
- 返回类型:
None
- async create_presigned_feedback_token(
- run_id: UUID | str,
- feedback_key: str,
- *,
- expiration: datetime | timedelta | None = None,
- feedback_config: FeedbackConfig | None = None,
- feedback_id: UUID | str | None = None,
创建一个预签名 URL 用于发送反馈数据。
这对于为基于浏览器的客户端提供一种直接将反馈数据上传到 LangSmith 而无需访问 API 密钥的方法非常有用。
- 参数:
run_id (UUID | str)
feedback_key (str)
expiration (datetime | timedelta | None) – 预签名 URL 的过期时间。可以是 datetime 对象,也可以是相对于当前时间的 timedelta 偏移量。默认为 3 小时。
feedback_config (FeedbackConfig | None) – FeedbackConfig 或 None。如果是首次创建 `feedback_key`,此参数定义了如何解释指标,例如连续分数(带可选边界)或分类值的分布。
feedback_id (UUID | str | None) – 要创建的反馈 ID。如果未提供,将创建一个新的反馈。
- 返回:
用于上传反馈数据的预签名 URL。
- 返回类型:
- async create_project(
- project_name: str,
- **kwargs: Any,
创建一个项目。
- 参数:
project_name (str)
kwargs (Any)
- 返回类型:
- async create_prompt(
- prompt_identifier: str,
- *,
- description: str | None = None,
- readme: str | None = None,
- tags: Sequence[str] | None = None,
- is_public: bool = False,
创建一个新提示。
不附加提示对象,仅创建空提示。
- 参数:
prompt_identifier (str) – 提示的标识符。标识符应采用 owner/name:hash、name:hash、owner/name 或 name 格式。
description (Optional[str]) – 提示的描述。
readme (Optional[str]) – 提示的自述文件。
tags (Optional[Sequence[str]]) – 提示的标签列表。
is_public (bool) – 提示是否应公开。默认为 False。
- 返回:
创建的提示对象。
- 返回类型:
- 引发:
ValueError – 如果当前租户不是所有者。
HTTPError – 如果服务器请求失败。
- async create_run(
- name: str,
- inputs: dict[str, Any],
- run_type: str,
- *,
- project_name: str | None = None,
- revision_id: UUID | str | None = None,
- **kwargs: Any,
创建一个运行。
- 参数:
name (str)
inputs (dict[str, Any])
run_type (str)
project_name (str | None)
revision_id (UUID | str | None)
kwargs (Any)
- 返回类型:
None
- async delete_annotation_queue(
- queue_id: UUID | str,
删除具有指定队列 ID 的标注队列。
- 参数:
queue_id (Union[UUID, str]) – 要删除的标注队列的 ID。
- 返回:
None
- 返回类型:
None
- async delete_dataset(
- dataset_id: UUID | str,
删除一个数据集。
- 参数:
dataset_id (UUID | str)
- 返回类型:
None
- async delete_feedback(
- feedback_id: UUID | str,
按 ID 删除反馈。
- 参数:
feedback_id (Union[UUID, str]) – 要删除的反馈 ID。
- 返回:
None
- 返回类型:
None
- async delete_project(
- *,
- project_name: str | None = None,
- project_id: str | None = None,
从 LangSmith 删除一个项目。
- 参数:
project_name (str or None, default=None) – 要删除的项目名称。
project_id (str or None, default=None) – 要删除的项目 ID。
- 返回类型:
None
- async delete_prompt(prompt_identifier: str) None [source]#
删除一个提示。
- 参数:
prompt_identifier (str) – 要删除的提示的标识符。
- 返回:
如果提示成功删除则为 True,否则为 False。
- 返回类型:
bool
- 引发:
ValueError – 如果当前租户不是提示的所有者。
- async delete_run_from_annotation_queue(
- queue_id: UUID | str,
- *,
- run_id: UUID | str,
从具有指定队列 ID 和运行 ID 的标注队列中删除一个运行。
- 参数:
queue_id (Union[UUID, str]) – 标注队列的 ID。
run_id (Union[UUID, str]) – 要添加到标注队列的运行 ID。
- 返回:
None
- 返回类型:
None
- async get_prompt(
- prompt_identifier: str,
按标识符获取特定提示。
- 参数:
prompt_identifier (str) – 提示的标识符。标识符应采用“prompt_name”或“owner/prompt_name”格式。
- 返回:
提示对象。
- 返回类型:
Optional[Prompt]
- 引发:
requests.exceptions.HTTPError – 如果未找到提示或发生其他错误。
- async get_run_from_annotation_queue(
- queue_id: UUID | str,
- *,
- index: int,
从指定索引处的标注队列中获取一个运行。
- 参数:
queue_id (Union[UUID, str]) – 标注队列的 ID。
index (int) – 要检索的运行索引。
- 返回:
指定索引处的运行。
- 返回类型:
- 引发:
LangSmithNotFoundError – 如果在给定索引处未找到运行。
LangSmithError – 对于其他与 API 相关的错误。
- index_dataset(
- *,
- dataset_id: UUID | str,
- tag: str = 'latest',
- **kwargs: Any,
启用数据集索引。示例按其输入进行索引。
这使得通过
client.similar_examples()
按输入搜索相似示例成为可能。- 参数:
dataset_id (UUID) – 要索引的数据集 ID。
tag (str, optional) – 要索引的数据集版本。如果为“latest”,则数据集的任何更新(示例的添加、更新、删除)都将反映在索引中。
kwargs (Any)
- 返回:
None
- 引发:
requests.HTTPError –
- 返回类型:
None
- async like_prompt(
- prompt_identifier: str,
点赞一个提示。
- 参数:
prompt_identifier (str) – 提示的标识符。
- 返回:
一个字典,包含键“likes”和点赞数量作为值。
- 返回类型:
Dict[str, int]
- async list_annotation_queues(
- *,
- queue_ids: list[UUID | str] | None = None,
- name: str | None = None,
- name_contains: str | None = None,
- limit: int | None = None,
列出 LangSmith API 上的标注队列。
- 参数:
queue_ids (Optional[List[Union[UUID, str]]]) – 要筛选的队列 ID。
name (Optional[str]) – 要筛选的队列名称。
name_contains (Optional[str]) – 队列名称应包含的子字符串。
limit (Optional[int]) – 要返回的最大队列数量。
- 返回(迭代器):
标注队列。
- 返回类型:
AsyncIterator[AnnotationQueue]
- async list_datasets(
- **kwargs: Any,
列出数据集。
- 参数:
kwargs (Any)
- 返回类型:
AsyncIterator[Dataset]
- async list_examples(
- *,
- dataset_id: UUID | str | None = None,
- dataset_name: str | None = None,
- **kwargs: Any,
列出示例。
- 参数:
dataset_id (UUID | str | None)
dataset_name (str | None)
kwargs (Any)
- 返回类型:
AsyncIterator[Example]
- async list_feedback(
- *,
- run_ids: Sequence[UUID | str] | None = None,
- feedback_key: Sequence[str] | None = None,
- feedback_source_type: Sequence[FeedbackSourceType] | None = None,
- limit: int | None = None,
- **kwargs: Any,
列出反馈。
- 参数:
run_ids (Sequence[UUID | str] | None)
feedback_key (Sequence[str] | None)
feedback_source_type (Sequence[FeedbackSourceType] | None)
limit (int | None)
kwargs (Any)
- 返回类型:
AsyncIterator[Feedback]
- async list_prompt_commits(
- prompt_identifier: str,
- *,
- limit: int | None = None,
- offset: int = 0,
- include_model: bool = False,
列出给定提示的提交。
- 参数:
prompt_identifier (str) – 提示的标识符,格式为“owner/repo_name”。
limit (Optional[int]) – 要返回的最大提交数量。如果为 None,则返回所有提交。默认为 None。
offset (int, default=0) – 在开始返回结果之前要跳过的提交数量。默认为 0。
include_model (bool, default=False) – 是否在提交数据中包含模型信息。默认为 False。
- 返回(迭代器):
每个提交的 ListedPromptCommit 对象。
- 返回类型:
AsyncGenerator[ListedPromptCommit, None]
注意
此方法使用分页来检索提交。如有必要,它将进行多次 API 调用以检索所有提交或达到指定限制。
- async list_prompts(
- *,
- limit: int = 100,
- offset: int = 0,
- is_public: bool | None = None,
- is_archived: bool | None = False,
- sort_field: PromptSortField = PromptSortField.updated_at,
- sort_direction: Literal['desc', 'asc'] = 'desc',
- query: str | None = None,
分页列出提示。
- 参数:
limit (int, default=100) – 要返回的最大提示符数量。默认为 100。
offset (int, default=0) – 要跳过的提示符数量。默认为 0。
is_public (Optional[bool]) – 根据提示符是否公开进行筛选。
is_archived (Optional[bool]) – 根据提示符是否已归档进行筛选。
sort_field (PromptSortField) – 排序字段。默认为“updated_at”。
sort_direction (Literal["desc", "asc"], default="desc") – 排序顺序。默认为“desc”。
query (Optional[str]) – 根据搜索查询筛选提示符。
- 返回:
一个包含提示符列表的响应对象。
- 返回类型:
- async list_runs(
- *,
- project_id: UUID | str | Sequence[UUID | str] | None = None,
- project_name: str | Sequence[str] | None = None,
- run_type: str | None = None,
- trace_id: UUID | str | None = None,
- reference_example_id: UUID | str | None = None,
- query: str | None = None,
- filter: str | None = None,
- trace_filter: str | None = None,
- tree_filter: str | None = None,
- is_root: bool | None = None,
- parent_run_id: UUID | str | None = None,
- start_time: datetime | None = None,
- error: bool | None = None,
- run_ids: Sequence[UUID | str] | None = None,
- select: Sequence[str] | None = None,
- limit: int | None = None,
- **kwargs: Any,
列出 LangSmith API 中的运行。
- 参数:
project_id (UUID or None, default=None) – 要筛选的项目 ID。
project_name (str or None, default=None) – 要筛选的项目名称。
run_type (str or None, default=None) – 要筛选的运行类型。
trace_id (UUID or None, default=None) – 要筛选的跟踪 ID。
reference_example_id (UUID or None, default=None) – 要筛选的参考示例 ID。
query (str or None, default=None) – 要筛选的查询字符串。
filter (str or None, default=None) – 要筛选的过滤字符串。
trace_filter (str or None, default=None) – 应用于跟踪树中 ROOT 运行的过滤器。这旨在与常规 filter 参数结合使用,以便您可以根据跟踪中根运行的属性筛选运行。
tree_filter (str or None, default=None) – 应用于跟踪树中其他运行的过滤器,包括兄弟运行和子运行。这旨在与常规 filter 参数结合使用,以便您可以根据跟踪中任何运行的属性筛选运行。
is_root (bool or None, default=None) – 是否按根运行进行筛选。
parent_run_id (UUID or None, default=None) – 要筛选的父运行 ID。
start_time (datetime or None, default=None) – 要筛选的开始时间。
error (bool or None, default=None) – 是否按错误状态筛选。
run_ids (List[str or UUID] or None, default=None) – 要筛选的运行 ID。
limit (int or None, default=None) – 要返回的最大运行数量。
**kwargs (Any) – 附加的关键字参数。
生成
------
Run – 运行。
示例
--------
project (列出项目中的根跟踪)
code-block: (..) – python: project_runs = client.list_runs(project_name=”<your_project>”)
hours (列出过去 24 小时内的 LLM 和聊天运行)
code-block: –
python: todays_llm_runs = client.list_runs(
project_name=”<your_project>”, start_time=datetime.now() - timedelta(days=1), run_type=”llm”,
)
project
code-block: – python: root_runs = client.list_runs(project_name=”<your_project>”, is_root=1)
errors (列出没有错误的运行)
code-block: – python: correct_runs = client.list_runs(project_name=”<your_project>”, error=False)
query) (列出运行并仅返回其输入/输出(以加快查询速度)
code-block: –
python: input_output_runs = client.list_runs(
project_name=”<your_project>”, select=[“inputs”, “outputs”]
)
ID (按运行 ID 列出运行)
code-block: –
python: run_ids = [
”a36092d2-4ad5-4fb4-9c0d-0dba9a2ed836”, “9398e6be-964f-4aa4-8ae9-ad78cd4b7074”,
] selected_runs = client.list_runs(id=run_ids)
had (列出所有耗时超过 10 秒且总令牌数大于 5000 的“chain”类型运行)
5000 (总令牌数大于 5000)
code-block: –
python: chain_runs = client.list_runs(
project_name=”<your_project>”, filter=’and(eq(run_type, “chain”), gt(latency, 10), gt(total_tokens, 5000))’,
)
1 (列出所有名为“extractor”且跟踪根的“user_score”反馈评分为 1 的运行)
code-block: –
python: good_extractor_runs = client.list_runs(
project_name=”<your_project>”, filter=’eq(name, “extractor”)’, trace_filter=’and(eq(feedback_key, “user_score”), eq(feedback_score, 1))’,
)
0 (列出所有在特定时间戳之后开始,并且错误不为空或“Correctness”反馈评分为 0 的运行)
code-block: –
python: complex_runs = client.list_runs(
project_name=”<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))))’,
)
seconds (列出所有标签包含“experimental”或“beta”且延迟大于 2 秒的运行)
code-block: –
python: tagged_runs = client.list_runs(
project_name=”<your_project>”, filter=’and(or(has(tags, “experimental”), has(tags, “beta”)), gt(latency, 2))’,
)
select (Sequence[str] | None)
- 返回类型:
AsyncIterator[Run]
- async pull_prompt(
- prompt_identifier: str,
- *,
- include_model: bool | None = False,
拉取一个提示并将其作为 LangChain PromptTemplate 返回。
此方法需要 langchain_core。
- 参数:
prompt_identifier (str) – 提示的标识符。
include_model (Optional[bool], default=False) – 是否在提示符数据中包含模型信息。
- 返回:
以指定格式表示的提示符对象。
- 返回类型:
Any
- async pull_prompt_commit(
- prompt_identifier: str,
- *,
- include_model: bool | None = False,
从 LangSmith API 拉取一个提示对象。
- 参数:
prompt_identifier (str) – 提示的标识符。
include_model (bool | None)
- 返回:
提示对象。
- 返回类型:
- 引发:
ValueError – 如果未找到提示符的提交。
- async push_prompt(
- prompt_identifier: str,
- *,
- object: Any | None = None,
- parent_commit_hash: str = 'latest',
- is_public: bool | None = None,
- description: str | None = None,
- readme: str | None = None,
- tags: Sequence[str] | None = None,
将提示推送到 LangSmith API。
可用于更新提示符元数据或提示符内容。
如果提示符不存在,则会创建。如果提示符存在,则会更新。
- 参数:
prompt_identifier (str) – 提示的标识符。
object (Optional[Any]) – 要推送的 LangChain 对象。
parent_commit_hash (str) – 父提交哈希。默认为“latest”。
is_public (Optional[bool]) – 提示符是否应公开。如果为 None(默认),现有提示符将保持当前可见性状态。对于新提示符,None 默认为私有。设置为 True 表示公开,或 False 表示私有。
description (Optional[str]) – 提示符的描述。默认为空字符串。
readme (Optional[str]) – 提示符的 README。默认为空字符串。
tags (Optional[Sequence[str]]) – 提示符的标签列表。默认为空列表。
- 返回:
提示符的 URL。
- 返回类型:
str
- async read_annotation_queue(
- queue_id: UUID | str,
读取具有指定队列 ID 的标注队列。
- 参数:
queue_id (Union[UUID, str]) – 要读取的标注队列的 ID。
- 返回:
标注队列对象。
- 返回类型:
- async read_dataset(
- dataset_name: str | None = None,
- dataset_id: UUID | str | None = None,
读取一个数据集。
- 参数:
dataset_name (str | None)
dataset_id (UUID | str | None)
- 返回类型:
- async read_example(
- example_id: UUID | str,
读取一个示例。
- 参数:
example_id (UUID | str)
- 返回类型:
- async read_feedback(
- feedback_id: UUID | str,
读取反馈。
- 参数:
feedback_id (UUID | str)
- 返回类型:
- async read_project(
- project_name: str | None = None,
- project_id: UUID | str | None = None,
读取一个项目。
- 参数:
project_name (str | None)
project_id (UUID | str | None)
- 返回类型:
- run_id: UUID | str,
异步检索特定运行的共享链接。
- 参数:
run_id (ID_TYPE) – 运行的 ID。
- 返回:
运行的共享链接,如果链接不可用则为 None。
- 返回类型:
Optional[str]
- 引发:
httpx.HTTPStatusError – 如果 API 请求失败。
异步获取运行的共享状态。
- 参数:
run_id (UUID | str)
- 返回类型:
bool
- run_id: UUID | str,
- *,
- share_id: UUID | str | None = None,
异步获取运行的共享链接。
- 参数:
run_id (ID_TYPE) – 要共享的运行 ID。
share_id (Optional[ID_TYPE], optional) – 自定义共享 ID。如果未提供,将生成一个随机 UUID。
- 返回:
共享运行的 URL。
- 返回类型:
str
- 引发:
httpx.HTTPStatusError – 如果 API 请求失败。
- similar_examples(
- inputs: dict,
- /,
- *,
- limit: int,
- dataset_id: UUID | str,
- filter: str | None = None,
- **kwargs: Any,
检索输入最匹配当前输入的数据集示例。
Note: 数据集必须启用少样本索引。请参阅
client.index_dataset()
。- 参数:
inputs (dict) – 用作搜索查询的输入。必须与数据集输入模式匹配。必须是 JSON 可序列化的。
limit (int) – 要返回的最大示例数量。
dataset_id (str or UUID) – 要搜索的数据集的 ID。
filter (str, optional) – 应用于搜索结果的过滤字符串。使用与 list_runs() 中 filter 参数相同的语法。仅支持部分操作。默认为 None。
kwargs (Any) – 作为请求体一部分传递的附加关键字参数。
- 返回:
ExampleSearch 对象的列表。
- 返回类型:
list[ExampleSearch]
Example
from langsmith import Client client = Client() await client.similar_examples( {"question": "When would i use the runnable generator"}, limit=3, dataset_id="...", )
[ ExampleSearch( inputs={'question': 'How do I cache a Chat model? What caches can I use?'}, outputs={'answer': 'You can use LangChain\'s caching layer for Chat Models. This can save you money by reducing the number of API calls you make to the LLM provider, if you\'re often requesting the same completion multiple times, and speed up your application.\n\n```python\n\nfrom langchain.cache import InMemoryCache\nlangchain.llm_cache = InMemoryCache()\n\n# The first time, it is not yet in cache, so it should take longer\nllm.predict(\'Tell me a joke\')\n\n```\n\nYou can also use SQLite Cache which uses a SQLite database:\n\n```python\n rm .langchain.db\n\nfrom langchain.cache import SQLiteCache\nlangchain.llm_cache = SQLiteCache(database_path=".langchain.db")\n\n# The first time, it is not yet in cache, so it should take longer\nllm.predict(\'Tell me a joke\') \n```\n'}, metadata=None, id=UUID('b2ddd1c4-dff6-49ae-8544-f48e39053398'), dataset_id=UUID('01b6ce0f-bfb6-4f48-bbb8-f19272135d40') ), ExampleSearch( inputs={'question': "What's a runnable lambda?"}, outputs={'answer': "A runnable lambda is an object that implements LangChain's `Runnable` interface and runs a callbale (i.e., a function). Note the function must accept a single argument."}, metadata=None, id=UUID('f94104a7-2434-4ba7-8293-6a283f4860b4'), dataset_id=UUID('01b6ce0f-bfb6-4f48-bbb8-f19272135d40') ), ExampleSearch( inputs={'question': 'Show me how to use RecursiveURLLoader'}, outputs={'answer': 'The RecursiveURLLoader comes from the langchain.document_loaders.recursive_url_loader module. Here\'s an example of how to use it:\n\n```python\nfrom langchain.document_loaders.recursive_url_loader import RecursiveUrlLoader\n\n# Create an instance of RecursiveUrlLoader with the URL you want to load\nloader = RecursiveUrlLoader(url="https://example.com")\n\n# Load all child links from the URL page\nchild_links = loader.load()\n\n# Print the child links\nfor link in child_links:\n print(link)\n```\n\nMake sure to replace "https://example.com" with the actual URL you want to load. The load() method returns a list of child links found on the URL page. You can iterate over this list to access each child link.'}, metadata=None, id=UUID('0308ea70-a803-4181-a37d-39e95f138f8c'), dataset_id=UUID('01b6ce0f-bfb6-4f48-bbb8-f19272135d40') ), ]
- sync_indexed_dataset(
- *,
- dataset_id: UUID | str,
- **kwargs: Any,
同步数据集索引。这每 5 分钟会自动发生,但您可以调用此函数强制同步。
- 参数:
dataset_id (UUID) – 要同步的数据集的 ID。
kwargs (Any)
- 返回:
None
- 引发:
requests.HTTPError –
- 返回类型:
None
- async unlike_prompt(
- prompt_identifier: str,
取消点赞一个提示。
- 参数:
prompt_identifier (str) – 提示的标识符。
- 返回:
一个字典,包含键“likes”和点赞数量作为值。
- 返回类型:
Dict[str, int]
- async update_annotation_queue(
- queue_id: UUID | str,
- *,
- name: str,
- description: str | None = None,
更新具有指定 `queue_id` 的标注队列。
- 参数:
queue_id (Union[UUID, str]) – 要更新的标注队列的 ID。
name (str) – 标注队列的新名称。
description (Optional[str]) – 标注队列的新描述。默认为 None。
- 返回:
None
- 返回类型:
None
- async update_prompt(
- prompt_identifier: str,
- *,
- description: str | None = None,
- readme: str | None = None,
- tags: Sequence[str] | None = None,
- is_public: bool | None = None,
- is_archived: bool | None = None,
更新提示符的元数据。
要更新提示符内容,请使用 push_prompt 或 create_commit。
- 参数:
prompt_identifier (str) – 要更新的提示符标识符。
description (Optional[str]) – 提示符的新描述。
readme (Optional[str]) – 提示符的新 README。
tags (Optional[Sequence[str]]) – 提示符的新标签列表。
is_public (Optional[bool]) – 提示符的新公开状态。
is_archived (Optional[bool]) – 提示符的新归档状态。
- 返回:
服务器返回的更新后的提示符数据。
- 返回类型:
Dict[str, Any]
- 引发:
ValueError – 如果 prompt_identifier 为空。
HTTPError – 如果服务器请求失败。