openevals

JaydenAI14 天前
ai·langchain·agent·evaluation·openevals·agentevals
[基于AgentEvals的自动化评估-06]以LLM-as-a-Judge评估LangGraph执行轨迹对于利用LangGraph构建的工作流,前面的文章介绍了不需要LLM参与,通过将提取的执行轨迹与评估基准进行比较的方式来评估。我们不经介绍了AgentEvals原生的评估方案,还介绍我们经过改进和优化的方案(上篇下篇),以及如何从持久化的Checkpoint中提取执行轨迹。出来这种依赖我们手工比较的方式,我们也可以利用LLM-as-a-Judge的形式来评估其执行轨迹。
JaydenAI16 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-15]以LLM-as-a-Judge方式评估Agent生成的代码基于OpenEvals的自动化评估-14:以静态代码分析方式评估Coding Agent生成的代码着重介绍了基于MyPy和Pyright这两种广受欢迎的基于Python的静态代码分析引擎器来评估Agent生成的代码,其实提取出来的代码还可以直接交给LLM进行评估。相关的评估器可以利用create_code_llm_as_judge这个工厂函数来创建,本篇文章就来介绍如何利用这种方式实施针对代码的评估。
JaydenAI16 天前
ai·langchain·agent·evaluation·openevals
[基于AgentEvals的自动化评估-04]全面优化面向LangGraph的轨迹评估[下篇]为了彻底解决AgentEvals针对LagnGraph轨迹评估无法解决同一Superstep内多个节点并发执行的问题,我通过定义一个全新的graph_trajectory_match和graph_trajectory_match_async函数提供一种更加灵活的评估方案。上篇提供了针对这种方案的编程体验,本篇介绍这这两个函数涉及的轨迹评估究竟是如何实现的。
JaydenAI18 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-10]针对Agent对话的评估[上篇]在本系列前面的文章中,我介绍如何利用OpenEvals提供的预定义提示词,结合LLM-as-a-Judge评估器进行输出文本质量(上篇、下篇)、安全以及专门面向RAG的评估。这篇和下篇则专门聚焦针对用户和Agent之间对话的评估,具体指标包括Agent的语气、是否记住对话历史的内容,以及通过分析用户的言辞和清晰评估用户是否认为Agent犯了错误、答非所问或走错了方向。
JaydenAI18 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-16]自动模拟多轮对话实施评估由于大多数现代AI应用(如智能客服、Agent、RAG 系统)都是基于聊天对话的,传统的单轮单答(Single-turn)测试无法捕获用户修改意图、追问或上下文丢失等复杂情况。OpenEvals允许你用另一个AI扮演虚拟用户,与你的AI应用进行多轮交互模拟,并自动评估完整的对话轨迹(Trajectory)。
JaydenAI23 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-05]基于JSON相似度的评估[LLM参与的语义匹配]基于JSON内容的评估可以说是OpenEvals最重要的部分,基于OpenEvals的自动化评估-04:基于JSON相似度的评估对用于提供相关评估器的如下两个工厂函数从无LLM参与的角度进行了介绍。我们着重讨论了这两个函数的aggregator、list_aggregator和list_match_mode参数。其余的参数除了exclude_keys均与LLM-as-a-Judge有关。如果有了LLM加持,我们在评估的时候将不再仅限于严格的字符串比较,可以进行真正的基于自然语言的语义相似度比较,这样才能真
JaydenAI20 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-12]Agent执行轨迹评估[无LLM参与]如果您正在构建Agent,OpenEvals包含用于评估Agent完整执行轨迹的评估器,即Agent在解决任务过程中发出的消息和工具调用序列。由于用户与Agent之间采用基于消息的通信方式,所以Agent的执行轨迹通过返回的消息列表来体现。执行轨迹在OpenEvals中以OpenAI风格的消息列表格式呈现。此外,也支持LangChain的BaseMessage对象。在进行两个消息的比较时,只考虑角色和工具调用,会忽略消息的其他内容。
JaydenAI21 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-11]针对Agent对话的评估[下篇]在上篇我们介绍了评估用户与Agent对话的三个指标,包括语气评估(Tone)、知识记忆评估(Knowledge Retention)和 用户感知错误评估(Perceived Error),接下来我们补充余下的三个:任务完成度评估(Task Completion )、用户满意度评估(User Satisfaction)和用户赞赏评估(Wins)。
JaydenAI22 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-07]评估Agent输出文本的质量[下篇]上篇我们介绍了如何利用OpenEvals提供的预定义提示词结合结合基于OpenEvals的自动化评估-02:LLM-as-a-Judge介绍了基于LLM-as-a-Judge的评估器来评估Agent生成文本的质量,我们具体介绍了针对简洁度、正确性、回答相关性和幻觉度这几个评估指标,接下来我们介绍剩下的几个包括计划遵循度、 惰性和生成代码正确性评估。
JaydenAI22 天前
ai·langchain·agent·evaluation·openevals
[基于OpenEvals的自动化评估-08]对Agent的输出和输入进行安全性评估中文的安全其实对应Safety和Security两个单词,它们的侧重点和防御的对象截然不同。Safety指的是防止系统出错或失控对人类或环境造成伤害,核心是防范无意的意外、错误或故障。Security指的是防止外部恶意人员对系统进行攻击、破坏或窃取。核心是防范有意的恶意行为。本文将介绍如何利用OpeEvals提供的提示词,结合基于OpenEvals的自动化评估-02:LLM-as-a-Judge:让LLM当裁判来评估Agent的输出介绍了基于LLM-as-a-Judge的评估器,针对五个安全指标的评估,分
我是有底线的