集成
ragas.integrations.langchain
EvaluatorChain
EvaluatorChain(metric: Metric, **kwargs: Any)
基类: Chain
, RunEvaluator
ragas 指标的包装器,用于与 langsmith 一起使用。
源代码位于 src/ragas/integrations/langchain.py
evaluate_run
评估 langsmith 运行
源代码位于 src/ragas/integrations/langchain.py
ragas.integrations.langsmith
upload_dataset
upload_dataset(dataset: Testset, dataset_name: str, dataset_desc: str = '') -> Dataset
将新数据集上传到 LangSmith,在上传之前将其从 TestDataset 对象转换为 pandas DataFrame。如果指定名称的数据集已存在,函数将引发错误。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
dataset
|
TestDataset
|
要上传的数据集。 |
必需 |
dataset_name
|
str
|
LangSmith 中新数据集的名称。 |
必需 |
dataset_desc
|
str
|
新数据集的描述。默认值为空字符串。 |
''
|
返回值
类型 | 描述 |
---|---|
Dataset
|
上传后存储在 LangSmith 中的数据集对象。 |
引发
类型 | 描述 |
---|---|
ValueError
|
如果指定名称的数据集已存在于 LangSmith 中。 |
注意
函数尝试按给定名称读取数据集以检查其是否存在。如果未找到,它将数据集转换为 pandas DataFrame 后继续上传。这涉及指定要上传数据集的输入和输出键。
源代码位于 src/ragas/integrations/langsmith.py
evaluate
evaluate(dataset_name: str, llm_or_chain_factory: Any, experiment_name: Optional[str] = None, metrics: Optional[list] = None, verbose: bool = False) -> Dict[str, Any]
使用 LangSmith 在指定数据集上评估语言模型或链工厂,可选择自定义指标和详细程度。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
dataset_name
|
str
|
用于评估的数据集名称。此数据集必须存在于 LangSmith 中。 |
必需 |
llm_or_chain_factory
|
Any
|
要评估的语言模型或链工厂。此参数是灵活的,可以根据实现接受各种对象。 |
必需 |
experiment_name
|
可选[str]
|
实验的名称。这可用于在 LangSmith 中对评估运行进行分类或标识。默认值为 None。 |
None
|
metrics
|
可选[list]
|
用于评估的自定义指标(函数或评估器)列表。如果为 None,则使用默认指标集(答案相关性、上下文精确度、上下文召回率和忠实度)。默认值为 None。 |
None
|
verbose
|
bool
|
如果为 True,评估过程中将打印详细进度和结果。默认值为 False。 |
False
|
返回值
类型 | 描述 |
---|---|
字典[str, 任意类型]
|
包含评估结果的字典。 |
引发
类型 | 描述 |
---|---|
ValueError
|
如果指定的数据集不存在于 LangSmith 中。 |
另请参见
Client.read_dataset : 读取现有数据集的方法。 Client.run_on_dataset : 在指定数据集上运行评估的方法。
示例
>>> results = evaluate(
... dataset_name="MyDataset",
... llm_or_chain_factory=my_llm,
... experiment_name="experiment_1_with_vanila_rag",
... verbose=True
... )
>>> print(results)
{'evaluation_result': ...}
注意
函数初始化一个客户端以与 LangSmith 交互,验证指定数据集的存在性,准备评估指标,然后运行评估并返回结果。可以指定自定义评估指标,如果未提供,则使用默认集。
源代码位于 src/ragas/integrations/langsmith.py
82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 |
|
ragas.integrations.llama_index
ragas.integrations.opik
OpikTracer
基类: OpikTracer
Opik 的回调,可用于将跟踪和评估分数记录到 Opik 平台。
属性
名称 | 类型 | 描述 |
---|---|---|
tags |
列表[字符串]
|
为每个跟踪设置的标签。 |
metadata |
dict
|
为每个跟踪记录的附加元数据。 |
ragas.integrations.helicone
ragas.integrations.langgraph
convert_to_ragas_messages
convert_to_ragas_messages(messages: List[Union[HumanMessage, SystemMessage, AIMessage, ToolMessage]], metadata: bool = False) -> List[Union[HumanMessage, AIMessage, ToolMessage]]
将 LangChain 消息转换为带有元数据的 Ragas 消息,用于 Agent 评估。
参数
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
messages
|
列表[联合类型[HumanMessage, SystemMessage, AIMessage, ToolMessage]]
|
要转换的 LangChain 消息对象列表。 |
必需 |
metadata
|
(布尔值, 可选(默认值=False))
|
是否在转换后的消息中包含元数据。 |
False
|
返回值
类型 | 描述 |
---|---|
列表[联合类型[HumanMessage, AIMessage, ToolMessage]]
|
相应的带有元数据的 Ragas 消息对象列表。 |
引发
类型 | 描述 |
---|---|
ValueError
|
如果遇到不支持的消息类型。 |
TypeError
|
如果消息内容不是字符串。 |
注意
在转换过程中会跳过 SystemMessages。
源代码位于 src/ragas/integrations/langgraph.py
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
|