Skip to content

用 Opik 做智能体优化

Agent optimization with Opik

开发者通常靠手动试错来寻找最优提示词。这种方式无法规模化,而且模型一换,效果还可能变差。我们来学习一下如何使用 Opik Agent Optimizer 工具包,它能为 LLM 应用自动优化提示词。其思路是:从一个初始提示词和一个评估数据集出发,让 LLM 根据评估结果,迭代式地改进这个提示词。

ai agents p255 2

首先,安装 Opik 及其 optimizer 包,并完成 Opik 的配置:

ai agents p256 1

接下来,从 opik 和 opik_optimizer 中导入所有需要用到的类和函数:

ai agents p256 2

  • LevenshteinRatio → 我们用来评估提示词效果的指标,衡量它对给定输入生成精确输出的能力。
  • MetaPromptOptimizer → 一种利用推理模型对初始指令提示词进行批评并迭代改进的算法。
  • tiny_test → 一个由输入-输出对组成的基础测试数据集。

接下来,定义一个评估数据集:

ai agents p257 1

接下来,配置评估指标,告诉优化器该如何根据给定的标签,为 LLM 的输出打分:

ai agents p257 2

接下来,定义你的基础提示词——也就是 MetaPromptOptimizer 将要尝试改进的初始指令:

ai agents p257 3

接下来,实例化一个 MetaPromptOptimizer,并指定优化过程中要使用的模型:

ai agents p258 1

最后,调用 optimizer.optimize_prompt(...) 方法,传入数据集、指标配置和提示词,启动优化过程:

ai agents p258 2

它会先评估初始提示词,以此建立基线:

ai agents p258 3

然后依次尝试若干个不同的提示词(由 AI 编写)并逐一评估,

最终打印出表现最优的提示词。你也可以调用 result.display() 来查看优化过程的摘要、找到的最佳提示词及其得分:

ai agents p259 1

优化结果同样可以在 Opik 的仪表盘中查看,方便进一步分析和可视化:

ai agents p259 2

以上就是如何使用 Opik Agent Optimizer 来提升 LLM 应用的性能和效率。注意:虽然我们这里用的是 GPT-4o,但由于你可以换用任何其他 LLM,再加上 Opik 本身完全开源,这一整套流程完全可以 100% 本地运行。

本站内容仅供学习交流,版权归原作者所有。