market_assistant/llm_criteria_reflection.py

139 lines
6.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# This Python file uses the following encoding: utf-8
"""
File: criteria_reflection.py
Description: 以专业咨询机构的赢单路径为参考,结合公司实际统计数据进行反思,提出改进版本的赢单路径
Author: [Your Name]
Date: [Current Date]
"""
from AgentProxy import AgentProxy
import pandas as pd
df_custom = pd.read_excel('./data_doc/销售策略制定框架模板V3.0-赢单路径-AI.xlsx')
df_pro = pd.read_excel('./data_doc/销售策略制定框架模板V3.0-赢单路径- Manual.xlsx')
api_key = 'c6bbe7f48063a2c1'
api_secret = '5f8e7d3a97465cc099bf19bd1b70c266'
assistant_id = "66bb09a84673b57506fe7bbd"
agent = AgentProxy(assistant_id, api_key, api_secret)
reflection_path = [] # 记录反思后的赢单路径
# # Iterate over professional_won_path and get index in the loop
for index, pro_stage in df_pro.iterrows():
# Get the corresponding row from df_custom
custom_stage = df_custom.iloc[index] if index < len(df_custom) else pd.Series()
reflection_stage = pro_stage.copy()
print(f"Index: {index}")
# print(f"---pro_stage---")
# print(f"销售阶段名称: {pro_stage['销售阶段名称']}")
# print(f"销售阶段任务: {pro_stage['销售阶段任务']}")
# print(f"销售关键动作: {pro_stage['销售关键动作']}")
# print(f"阶段转化标准: {pro_stage['阶段转化标准']}")
# print(f"---custom_stage---")
# print(f"销售阶段名称: {custom_stage['销售阶段名称']}")
# print(f"销售阶段任务: {custom_stage['销售阶段任务']}")
# print(f"销售关键动作: {custom_stage['销售关键动作']}")
# print(f"阶段转化标准: {custom_stage['阶段转化标准']}")
# 反思销售阶段任务
prompt_reflection_task = f"""
任务:
根据当前的销售阶段 {pro_stage['销售阶段名称']}
以专业咨询机构提出的销售阶段任务为参考和蓝本,结合客户自行总结的销售任务,提出改进版本的销售阶段任务,注意尽可能以专业机构的版本为主,语言、风格也按照专业机构的版本。
若客户自行总结的销售阶段任务为空或没有内容,则直接使用专业咨询机构提出的销售阶段任务。
输入:
当前的销售阶段
{pro_stage['销售阶段名称']}
专业咨询机构提出的销售阶段任务:
{pro_stage['销售阶段任务']}
客户自行总结的销售任务
{custom_stage['销售阶段任务']}
输出:
1. 专业咨询机构提出的销售阶段任务
2. 客户自行总结的销售任务
3. 反思后的销售阶段任务
4. 反思后的销售阶段任务与专业咨询机构提出的销售阶段任务的差异
5. 上述改进的方法、依据、逻辑等
"""
print(f"prompt_reflection_task: {prompt_reflection_task}")
reflection_task = agent.send_message(prompt_reflection_task)
print(f"反思后的销售阶段任务: {reflection_task}")
reflection_stage['销售阶段任务'] = reflection_task
# 反思销售关键动作
prompt_reflection_action = f"""
任务:
根据当前的销售阶段 {pro_stage['销售阶段名称']}
以专业咨询机构提出的销售关键动作为参考和蓝本,结合客户自行总结的销售关键动作,提出改进版本的销售关键动作,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。
若结合客户自行总结的销售关键动作为空或没有内容,则直接使用专业咨询机构提出的销售关键动作。
输入:
当前的销售阶段
{pro_stage['销售阶段名称']}
专业咨询机构提出的销售关键动作:
{pro_stage['销售关键动作']}
通过客户自行总结得到的销售关键动作:
{custom_stage['销售关键动作']}
输出:
1. 专业咨询机构提出的销售关键动作
2. 客户自行总结的销售关键动作
3. 反思后的销售关键动作
4. 反思后的销售关键动作与专业咨询机构提出的销售关键动作的差异
5. 上述改进的方法、依据、逻辑等
"""
print(f"prompt_reflection_action: {prompt_reflection_action}")
reflection_action = agent.send_message(prompt_reflection_action)
print(f"反思后的销售关键动作: {reflection_action}")
reflection_stage['销售关键动作'] = reflection_action
# 反思阶段转化标准
prompt_reflection_standard = f"""
任务:
根据当前的销售阶段 {pro_stage['销售阶段名称']}
以专业咨询机构提出的阶段转化标准为参考和蓝本,结合客户自行总结的阶段转化标准,提出改进版本的阶段转化标准,注意尽可能以专业机构的版本为主,语言、风格也比照专业机构的版本。
若通过客户自行总结得到的阶段转化标准为空或没有内容,则直接使用专业咨询机构提出的阶段转化标准。
输入:
当前的销售阶段
{pro_stage['销售阶段名称']}
专业咨询机构提出的阶段转化标准:
{pro_stage['阶段转化标准']}
通过客户自行总结得到的阶段转化标准:
{custom_stage['阶段转化标准']}
输出:
1. 专业咨询机构提出的阶段转化标准
2. 客户自行总结的阶段转化标准
3. 反思后的阶段转化标准
4. 反思后的阶段转化标准与专业咨询机构提出的阶段转化标准的差异
5. 上述改进的方法、依据、逻辑等
"""
print(f"prompt_reflection_standard: {prompt_reflection_standard}")
reflection_standard = agent.send_message(prompt_reflection_standard)
print(f"反思后的阶段转化标准: {reflection_standard}")
reflection_stage['阶段转化标准'] = reflection_standard
reflection_path.append(reflection_stage)
# Write reflection_path to Excel
df = pd.DataFrame(reflection_path)
# Reorder columns to match the original structure
column_order = [
"销售阶段名称", "客户采购行为", "销售阶段任务", "关键获取信息",
"销售关键动作", "售前关键动作", "客户支持行为", "阶段转化标准"
]
df = df.reindex(columns=column_order)
# Write to Excel
excel_file_path = 'reflection_path_results_v2.xlsx'
df.to_excel(excel_file_path, index=False)
print(f"Reflection path results have been written to {excel_file_path}")