Skip to content

Commit

Permalink
Refactor agent_nickname to agent_name, update system_message
Browse files Browse the repository at this point in the history
  • Loading branch information
coolbeevip committed Jul 19, 2024
1 parent 541e215 commit bc5077a
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 72 deletions.
2 changes: 1 addition & 1 deletion src/langchain_lab/core/conference.py
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ def graph_node_agent(state: AgentState, agent: RunnableSequence, name: str):
if isinstance(result, FunctionMessage):
pass
else:
result = HumanMessage(**result.dict(exclude={"type", "name"}), name=name)
result = HumanMessage(**result.dict(exclude={"type", "name"}))
return {
"messages": [result],
"sender": name
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ def load_data_tool():
try:
import pandas as pd

data = pd.read_excel("./wireless_network_statistics_data.xlsx")
data = pd.read_excel("./data.xlsx")
result = data.to_markdown()
except BaseException as e:
return f"Failed to execute. Error: {repr(e)}"
Expand All @@ -178,7 +178,7 @@ def data_analysis_tool():
"""This tool enhances analysis by providing detailed statistics and visualizations."""
try:
data_response = []
df = pd.read_excel("./wireless_network_statistics_data.xlsx")
df = pd.read_excel("./data.xlsx")

# 描述性统计
analysis_result = df.describe()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
## 销售助理

原始数据:

| | Year | Product_A | Product_B | Product_C |
|---:|-------:|------------:|------------:|------------:|
| 0 | 2019 | 1091 | 540 | 802 |
| 1 | 2020 | 979 | 527 | 782 |
| 2 | 2021 | 970 | 521 | 816 |
| 3 | 2022 | 1070 | 559 | 752 |
| 4 | 2023 | 1059 | 533 | 730 |

## 销售经理

描述性统计:

| | Year | Product_A | Product_B | Product_C |
|:------|-----------:|------------:|------------:|------------:|
| count | 5 | 5 | 5 | 5 |
| mean | 2021 | 1033.8 | 536 | 776.4 |
| std | 1.58114 | 55.4319 | 14.6629 | 35.3667 |
| min | 2019 | 970 | 521 | 730 |
| 25% | 2020 | 979 | 527 | 752 |
| 50% | 2021 | 1059 | 533 | 782 |
| 75% | 2022 | 1070 | 540 | 802 |
| max | 2023 | 1091 | 559 | 816 |

相关性矩阵:

| | Year | Product_A | Product_B | Product_C |
|:----------|-----------:|------------:|------------:|------------:|
| Year | 1 | 0.0770147 | 0.194099 | -0.777903 |
| Product_A | 0.0770147 | 1 | 0.749269 | -0.43633 |
| Product_B | 0.194099 | 0.749269 | 1 | -0.464733 |
| Product_C | -0.777903 | -0.43633 | -0.464733 | 1 |

## 销售助理

根据分析结果,我们得出以下结论:

1. 商品A在过去5年的平均销量为1033.8,标准差为55.43,销量最低为970,最高为1091。
2. 商品B在过去5年的平均销量为536,标准差为14.66,销量最低为521,最高为559。
3. 商品C在过去5年的平均销量为776.4,标准差为35.37,销量最低为730,最高为816。
4. 商品A和商品B之间的相关性较高,相关系数为0.749。
5. 商品A和商品C之间的相关性较低,呈负相关,相关系数为-0.436。
6. 商品B和商品C之间的相关性较低,呈负相关,相关系数为-0.465。

销售经理可以根据以上数据和相关性分析结果制定本期的销售战略,例如重点推广商品A和B,因为它们之间有较高的相关性,可以一起进行促销活动;同时也可以考虑针对商品C的特定市场定位策略,以提高销量。

接下来我们可以与销售经理进一步讨论这些见解,并制定具体的销售策略。您需要我将这些见解转达给销售经理吗?

## 销售经理

是的,我可以将这些见解转达给销售经理。接下来我将与销售经理进行交流。请等待片刻。
销售经理,根据过去5年商品A、B、C的销售数据分析结果,我们得出以下结论和建议:

1. 商品A在过去5年的平均销量为1033.8,标准差为55.43,销量最低为970,最高为1091。
2. 商品B在过去5年的平均销量为536,标准差为14.66,销量最低为521,最高为559。
3. 商品C在过去5年的平均销量为776.4,标准差为35.37,销量最低为730,最高为816。
4. 商品A和商品B之间的相关性较高,相关系数为0.749。
5. 商品A和商品C之间的相关性较低,呈负相关,相关系数为-0.436。
6. 商品B和商品C之间的相关性较低,呈负相关,相关系数为-0.465。

基于以上分析,我们建议重点推广商品A和B,因为它们之间有较高的相关性,可以一起进行促销活动。同时,针对商品C可以制定特定市场定位策略,以提高销量。

您认为这些见解对本期的销售策略制定有帮助吗?您有任何想法或建议要补充吗?

## 销售助理

销售经理可能会对这些见解感兴趣,并认为它们对于本期的销售策略制定是有帮助的。销售经理可能会考虑进一步细化促销活动的策略,比如针对商品A和B的套餐优惠、联合促销等措施,以最大程度地发挥它们之间的相关性优势。同时,销售经理可能会思考如何改进商品C的市场定位,以吸引更多客户并提高销量。

销售经理可能还会考虑与市场营销团队合作,根据数据分析结果制定具体的推广计划,包括广告宣传、促销活动、产品定价等方面的策略。综合考虑市场需求、竞争情况和公司资源,销售经理可以制定全面的销售策略,以实现本期的销售目标。

销售经理可能会感谢销售助理提供的数据分析和见解,这将有助于指导销售团队在接下来的工作中取得更好的业绩。销售助理可以与销售经理一起制定具体的销售计划,并确保团队的执行落实。如果销售经理有任何想法或建议补充,销售助理可以随时与销售经理保持沟通,并及时调整销售策略以应对市场变化。

## 销售经理

销售经理可能会对销售助理提供的分析结果和建议感兴趣,并愿意与销售助理共同制定本期的销售战略。销售助理可以继续与销售经理交流,进一步细化促销活动策略,探讨针对商品A和B的套餐优惠、联合促销等措施,以最大程度发挥它们之间的相关性优势。

同时,销售助理可以与销售经理讨论如何改进商品C的市场定位,以吸引更多客户并提高销量。销售团队可以与市场营销团队合作,制定具体的推广计划,包括广告宣传、促销活动、产品定价等方面的策略,以实现本期的销售目标。

销售助理和销售经理之间的合作和沟通将是关键,确保销售策略的有效执行和业绩的提升。销售助理可以随时与销售经理保持沟通,及时调整销售策略以适应市场变化,共同努力实现销售目标。如果销售经理有任何想法或建议补充,销售助理可以倾听并共同探讨如何优化销售策略。祝您们顺利制定并执行本期的销售计划!

## 销售助理

销售助理和销售经理之间的合作和沟通将是关键,确保销售策略的有效执行和业绩的提升。销售助理可以随时与销售经理保持沟通,及时调整销售策略以适应市场变化,共同努力实现销售目标。祝您们顺利制定并执行本期的销售计划!如果您需要进一步的帮助或有其他问题,请随时告诉我。

## 销售经理

感谢您的合作和支持!如果有任何进一步的需要,我会随时为您提供帮助。祝您工作顺利,销售目标达成!

Original file line number Diff line number Diff line change
Expand Up @@ -50,30 +50,28 @@ def data_analysis_tool():
class TestConference(TestCase):

def test_conference(self):
conference = Conference(llm=llm)
conference = Conference(llm=llm, python_repl=True, lang="zh")
conference.add_tool(load_sales_data_tool, data_analysis_tool)
conference.add_agent(agent_id="Sales_Staff",
agent_name="Sales_Staff",
system_message="负责客户服务和产品、服务提案。回答客户问题,推荐适当的产品、服务,并记录商谈数据、销售预定数据到系统中。",
next_agent_name="Sales_Manager",
conference.add_agent(agent_name="销售助理",
system_message="你是销售助理,负责客户服务和产品、服务提案。回答客户问题,推荐适当的产品、服务,并记录商谈数据、销售预定数据到系统中。",
next_agent_name="销售经理",
entry_point=True)
conference.add_agent(agent_id="Sales_Manager",
agent_name="Sales_Manager",
system_message="负责团队管理和指导。设定销售目标,制定销售策略,监控绩效,并向团队成员提供反馈。",
next_agent_name="Sales_Staff")
conference.add_agent(agent_name="销售经理",
system_message="你是销售经理,负责团队管理和指导。设定销售目标,制定销售策略,监控绩效,并向团队成员提供反馈。",
next_agent_name="销售助理")
conference.build_graph()
conversation = conference.invoke(humanMessage=HumanMessage(
content="利用事先准备好的agent和tool进行会话。"
content="利用事先准备好的 agent 和 tool 进行会话。"
"会话的主题是'调查我们公司商品A、B、C过去5年的数据,并制定本期的销售战略。"
"会话由sales_staff开始。"
"会话由销售助理开始。"
"数据分析工具必须使用'./sales_data.csv'文件,并已表格形式输出数据。"
"数据分析工具将从'./sales_data.csv'文件中读取数据,进行基本统计和相关关系分析。"
"数据分析工具将输出文本形式的分析结果,并提供基于分析结果的见解。"
"接下来,将数据分析工具给出的分析结果和见解传达给sales_staff。"
"然后,sales_staff和sales_manager根据数据分析工具提供的分析结果和见解进行交流,并共同制定本期的销售策略。"
"sales_staff和sales_manager的会话总次数最多为20次。"
"最后,sales_manager在总结所有对话后,列出重要的要点并结束。"
))
"接下来,将数据分析工具给出的分析结果和见解传达给销售助理。"
"然后,销售助理和销售经理根据数据分析工具提供的分析结果和见解进行交流,并共同制定本期的销售策略。"
"销售助理和销售经理的会话总次数最多为20次。"
"最后,销售经理在总结所有对话后,列出重要的要点并结束。"
), recursion_limit=20)

with open(f"marketing_analysis_assistant_{llm.model_name}.md", "w") as file:
for message in conversation:
Expand Down
Empty file.

This file was deleted.

0 comments on commit bc5077a

Please sign in to comment.