51 CTO 博客:https://blog.51cto.com/13969817
如大家所了解的,Microsoft Copilot Agent 不仅仅是聊天机器人,而是深度集成在你们日常工作流中的AI助手,旨在激发创造力、提升生产力和简化复杂任务。
今天给大家分享一个具体场景:销售团队效率提升,如何将一个充满痛点的传统销售流程,转变为一个智能、高效、一体化的现代化办公场景,以下列举了传统流程的痛点:
· 信息碎片化:客户数据散落在不同地方,联系信息和基础资料在CRM里,过往邮件在Outlook里,合作意向需求文档在SharePoint Site里,若整理相关信息,需要不同系统间切换,手动复制粘贴,这个过程耗时且容易遗漏关键信息。
· 内容创建耗时:准备会议议程,撰写个性化的方案提议是重复性很高的工作,虽然公司有现成的模版,但每次手动填充、调整格式仍然占用大量的宝贵时间。
· 知识断层:新销售员工不熟悉公司庞大的产品库和服务条款,在准备方案时无法精准推荐最合适客户的产品,或者需要大量时间向老员工请教。
· 跟进延迟:会议结束后,需要手动将会议纪要、下一步行动计划重新录入CRM系统,一旦拖延就容易忘记细节,导致跟进不及时。
那么如何利用Copilot打通这些孤立的系统,成为销售的超级助手呢?
简单的架构图:
用户提问 -> Copilot -> Microsoft Graph + Plugins (D365, Azure AI Search) -> 信息检索与处理 -> Azure OpenAI -> 生成响应 -> 返回给用户
架构图解析:
- 基础模型: 我基于强大的Azure OpenAI Service(例如GPT-4)构建,拥有强大的自然语言理解和生成能力。
- 微软图形(Microsoft Graph): 我是通过Microsoft Graph API来安全地访问和组织用户的数据的。Graph是通往Microsoft 365数据的网关,它让我在获得用户授权后,可以安全地读取Outlook邮件、Calendar日程、SharePoint文件、OneDrive内容等。
- 插件与连接器(Plugins/Connectors): 为了获取CRM等第三方数据,我可以通过Plugins机制连接像Dynamics 365这样的业务系统。此外,Azure AI Search(以前称为Cognitive Search)可以对内部知识库进行索引,让我能快速检索公司内部文件、产品手册等非结构化数据。
- 响应合成与安全: 我检索到所有相关信息后,大语言模型会进行摘要、分析和内容生成,最终将整合好的信息以清晰、有用的格式返回给用户。整个过程遵循微软严格的安全和合规性框架,确保数据隐私和安全。
示例代码:
实际的Copilot开发涉及多个组件和配置,但以下是一个高度简化的概念性代码片段,展示了如何利用Microsoft Graph SDK和OpenAI API来构建一个类似功能的后端服务。
# 示例:Python Flask API 端点(使用 Microsoft Graph SDK 和 OpenAI API)
import openai
from flask import Flask, request, jsonify
from azure.identity import DefaultAzureCredential
from msgraph.core import GraphClient
app = Flask(__name__)
# 初始化凭证和客户端
credential = DefaultAzureCredential()
graph_client = GraphClient(credential=credential)
openai.api_key = os.getenv("AZURE_OPENAI_API_KEY")
openai.api_base = os.getenv("AZURE_OPENAI_ENDPOINT")
@app.route('/api/generate-briefing', methods=['POST'])
def generate_briefing():
user_query = request.json['query']
user_id = request.json['userId']
# 1. 解析用户意图(例如,从查询中提取客户名称)
client_name = extract_client_name(user_query) # "Contoso公司"
# 2. 通过 Microsoft Graph 获取数据
# - 获取来自 SharePoint 的文件
sharepoint_files = graph_client.get(
f"/sites/company.sharepoint.com:/sites/Sales:/drives/root/search(q='{client_name}')").json()
# - 获取来自 Outlook 的电子邮件
emails = graph_client.get(
f"/users/{user_id}/messages?$search=\"subject:{client_name}\"").json()
# - 通过 Plugin/Connector 获取 CRM 数据(此处假设有一个辅助函数)
crm_data = get_crm_data_by_client_name(client_name)
# 3. 准备给AI的上下文提示
context = f"""
# 用户请求:{user_query}
# 客户数据(来自CRM): {crm_data}
# 相关电子邮件: {emails['value']}
# 相关文件: {sharepoint_files['value']}
"""
prompt = f"""
你是一名专业的销售助理。请根据以下上下文信息,生成一份简洁、专业的客户会议简报。
上下文信息:
{context}
请按以下结构组织内容:
1. 客户背景摘要
2. 历史沟通亮点
3. 相关可用资源链接
4. 本次会议建议议程
5. 基于客户需求的个性化方案草案(使用公司标准方案模板的语言风格)
"""
# 4. 调用 Azure OpenAI 生成最终内容
response = openai.ChatCompletion.create(
engine="gpt-4", # 使用部署的引擎名称
messages=[{"role": "user", "content": prompt}],
temperature=0.7,
max_tokens=2000
)
generated_briefing = response.choices[0].message['content']
# 5. 将响应返回给客户端(如Teams)
return jsonify({"briefing": generated_briefing})
if __name__ == '__main__':
app.run()
通过这个案例,你可以看到Microsoft Copilot Agent,不仅仅是又一个工具,是嵌入工作流中的智能层,是打破应用壁垒的连接器,是释放人类潜能的赋能者。
谢谢大家阅读,希望大家日后有相关需求,我们线下讨论。