如何在非LangChain环境下将AzureOpenAI实例接入RAGAS
解决RAGAS ResponseRelevancy调用AzureOpenAI客户端的AttributeError问题
问题根源在于RAGAS的指标评估模块要求传入的LLM实例必须提供generate方法,但原生openai.AzureOpenAI客户端并没有实现这个方法,所以需要用RAGAS官方提供的AzureOpenAI适配类来包装。
解决步骤:
安装包含Azure适配的RAGAS包
确保你安装了带Azure OpenAI支持的RAGAS版本,执行以下命令:pip install ragas[azure-openai]使用RAGAS的AzureOpenAI类创建实例
不要直接用openai.AzureOpenAI,而是导入并使用ragas.llms.AzureOpenAI来创建适配后的LLM实例,参数和原生客户端一致:from ragas.llms import AzureOpenAI # 用access_token初始化 llm = AzureOpenAI( azure_endpoint="你的Azure OpenAI端点URL", api_key="你的access_token", api_version="你的API版本(比如2024-05-01-preview)", model_name="gpt-4o" )传入适配后的实例进行评估
将上面创建的llm实例传入ResponseRelevancy指标,即可正常运行:from ragas.metrics import ResponseRelevancy from ragas import evaluate from datasets import Dataset # 构造测试数据集(根据你的实际数据调整) test_data = { "question": ["用户的问题是什么?"], "answer": ["对应的回答内容"], "contexts": [["回答依据的上下文文本"]] } dataset = Dataset.from_dict(test_data) # 初始化指标并执行评估 response_relevancy = ResponseRelevancy(llm=llm) eval_result = evaluate(dataset, metrics=[response_relevancy])
这个适配类已经封装了RAGAS所需的generate方法,能和Azure OpenAI服务正常交互,完全替代原生客户端即可解决报错。
内容的提问来源于stack exchange,提问作者MAC
相关产品推荐
相关产品推荐

