langchain(5):评估
评估结果的好坏
(llm+)链评估其他llm、其他链和其他应用
评估链
-
用什么数据集评估,通过查看数据创建评估问题
# 方法1,通过观察不同数据集创建对应的QA examples = [ { "query": "Do the Cozy Comfort Pullover Set\ have side pockets?", "answer": "Yes" }, { "query": "What collection is the Ultra-Lofty \ 850 Stretch Down Hooded Jacket from?", "answer": "The DownTek collection" } ]# 方法2,借助llm自动化这个过程,自动生成 example_gen_chain = QAGenerateChain.from_llm(ChatOpenAI(model=llm_model)) # 创建多组问题的答案示例 new_examples = example_gen_chain.apply_and_parse( [{"doc": t} for t in data[:5]] ) examples += new_examples # 将某个示例传入链并运行,看最终结果,无法观察中间结果 qa.run(examples[0]["query"])# langchain的debug方法 import langchain langchain.debug = True qa.run(examples[0]["query"])# 评估多个输入的结果及过程 # 为多个评估Q进行测试答案Atest predictions = qa.apply(examples) # 进行评估 llm = ChatOpenAI(temperature=0, model=llm_model) eval_chain = QAEvalChain.from_llm(llm) # 评估,Atest同A之间差异 # 比较的并非精确匹配,而是语言的相似,表达含义的相似 graded_outputs = eval_chain.evaluate(examples, predictions)
浙公网安备 33010602011771号