裁判代理简介

JudgeAgent 通过添加一个额外的判断来扩展 PandasAI 库的功能,该判断在代理管道中验证生成的代码是否符合查询

注意: 在生产环境中使用 Judge Agent 需要许可证。更多详情,请参阅 许可证文档。 如果您计划在生产环境中使用它,请 联系我们

实例化法官代理

JudgeAgent 既可以作为独立代理使用,也可以与其他代理结合使用。要与其他代理一起使用,请将 JudgeAgent 作为参数传递给它们。

与其他代理一起使用

import os



from pandasai.agent.agent import Agent

from pandasai.ee.agents.judge_agent import JudgeAgent



os.environ["PANDASAI_API_KEY"] = "$2a****************************"



judge = JudgeAgent()

agent = Agent('github-stars.csv', judge=judge)



print(agent.chat("return total stars count"))

作为独立使用

from pandasai.ee.agents.judge_agent import JudgeAgent

from pandasai.llm.openai import OpenAI



# can be used with all LLM's

llm = OpenAI("openai_key")

judge_agent = JudgeAgent(config={"llm": llm})

judge_agent.evaluate(

    query="return total github star count for year 2023",

    code="""sql_query = "SELECT COUNT(`users`.`login`) AS user_count, DATE_FORMAT(`users`.`starredAt`, '%Y-%m') AS starred_at_by_month FROM `users` WHERE `users`.`starredAt` BETWEEN '2023-01-01' AND '2023-12-31' GROUP BY starred_at_by_month ORDER BY starred_at_by_month asc"

    data = execute_sql_query(sql_query)

    plt.plot(data['starred_at_by_month'], data['user_count'])

    plt.xlabel('Month')

    plt.ylabel('User Count')

    plt.title('GitHub Star Count Per Month - Year 2023')

    plt.legend(loc='best')

    plt.savefig('/Users/arslan/Documents/SinapTik/pandas-ai/exports/charts/temp_chart.png')

    result = {'type': 'plot', 'value': '/Users/arslan/Documents/SinapTik/pandas-ai/exports/charts/temp_chart.png'}

                        """,

)

Judge Agent 与其他代理的集成也提供了使用不同 LLMs 的灵活性。