【Azure Bot Service】在机器人服务中如何调用LLM来回答问题呢?

简介: 本文介绍如何在Azure Bot Service中嵌入大模型,实现智能对话。通过调用Azure OpenAI的API,在Bot的on_message_activity方法中接入大模型响应,使机器人具备更强大的自然语言处理能力,提升交互体验。

问题描述

使用Azure Bot Service来部署机器人服务,如何把大模型嵌入其中呢?

比如在对话消息时候,能让大模型来提供回答?

 

问题解答

其实很简单,在Bot代码中添加大模型的调用就行。

以Python代码为例, 首先是准备好调用LLM的请求代码

## 示例中使用的是Azure OpenAI的模型

import requests
# Azure OpenAI 客户端
def get_openai_answer(prompt):
    
    api_key = "your api key"
    endpoint = "your deployment endpoint, like: https://<your azure ai name>.openai.azure.com/openai/deployments/<LLM Name>/chat/completions?api-version=2025-01-01-preview"
if not api_key or not endpoint:
        raise ValueError("请配置 Azure OpenAI 信息")
        
    headers = {
        "Content-Type": "application/json",
        "api-key": api_key
    }
    systemprompt  = f"""" 您是一个有趣的聊天智能体,能愉快的和人类聊天"""
    data = {
        "messages": [
            {"role": "system", "content": systemprompt},
            {"role": "user", "content": prompt}
        ],
        "max_tokens": 5000,
        "temperature": 0.7
    }
    response = requests.post(endpoint, headers=headers, json=data)
    response.raise_for_status()
    result = response.json()
    return result["choices"][0]["message"]["content"]
# 示例用法
if __name__ == "__main__":
    prompt = "请介绍一下Azure OpenAI的主要功能。"
    print(get_openai_answer(prompt))

 

然后,在 EchoBot 的 on_message_activity 中调用OpenAI接口即可


# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.
from botbuilder.core import ActivityHandler, MessageFactory, TurnContext
from botbuilder.schema import ChannelAccount
from bots.call_openai import get_openai_answer
class EchoBot(ActivityHandler):
    async def on_members_added_activity(self, members_added: [ChannelAccount], turn_context: TurnContext):
        for member in members_added:
            if member.id != turn_context.activity.recipient.id:
                await turn_context.send_activity("Hello and welcome, this is python code.")
    async def on_message_activity(self, turn_context: TurnContext):
        #call LLM API to get response 
        llmresponse = get_openai_answer(turn_context.activity.text)
        return await turn_context.send_activity(
            MessageFactory.text(f"{llmresponse}")
        )

测试效果:

[完]

 

参考资料

发送和接收文本消息:https://docs.azure.cn/zh-cn/bot-service/bot-builder-howto-send-messages?view=azure-bot-service-4.0&tabs=python#send-a-typing-indicator

 




当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
自然语言处理 Kubernetes 机器人
基于OpenIM 实现聊天机器人功能
基于OpenIM 实现聊天机器人功能
1047 0
|
9月前
|
运维 监控 Shell
测试日志里的海量ERROR?用RAG架构训练一个专属日志分析师
本文介绍如何用RAG(检索增强生成)构建专属日志分析系统:通过日志清洗、混合检索(BM25+向量)、结构化提示词与闭环反馈,让大模型摆脱“幻觉”,精准定位真实故障。不依赖正则或标注,将老师傅经验沉淀为可复用的向量知识库。
|
3月前
|
人工智能 算法 API
【第二部分:大模型应用开发基础】9. RAG 是什么,它与 Agent 有什么关系?——从知识库问答到 Agentic RAG
RAG 通过文档解析、切分、Embedding、混合检索、Rerank 与引用机制,让大模型在回答问题时能够按需获取企业知识,而不是依赖训练数据“记住一切”。文章进一步介绍 RAG 如何从固定的检索增强生成流程演进到 Agentic RAG:由 Agent 判断是否需要检索、如何规划 Query、证据是否充分,并在必要时继续改写和多轮检索。同时梳理 RAG、Memory、Tool 与 Agent 的边界,强调知识库问答系统并不等同于 Agent,RAG 只是 Agent 获取外部知识的一种能力。
417 2
|
人工智能 搜索推荐 Java
飞算JavaAI炫技赛:电商系统商品管理模块设计与实现
商品基本信息管理: 构建一套完善的商品信息录入与维护体系,支持商家通过可视化界面轻松管理商品的名称、描述、价格、规格等核心信息。系统应提供富文本编辑器用于商品详情编写,支持多张高清图片批量上传与管理,并具备商品信息的版本控制功能,确保每次修改都有完整的历史记录可追溯。 智能分类体系管理: 打造层次分明、逻辑清晰的多级商品分类架构,如同为数字化商场构建科学合理的导购系统。支持无限层级的分类嵌套,提供拖拽式分类编辑器,并能够为不同分类定制专属的属性模板,让商品归类变得既高效又精准,大幅提升用户的商品查找体验。 动态库存监控预警: 实现毫秒级的库存数据同步与监控,如同为商品配备24小时不间断的"数字
409 2
飞算JavaAI炫技赛:电商系统商品管理模块设计与实现
|
10月前
|
设计模式 存储 人工智能
LLM全新智能体架构:核心组件、工作流程与设计模式全解析
随着生成式AI迈向生产力工具,智能体(Agent)架构成为关键。本文系统拆解其四大核心组件:大脑(LLM)、规划、记忆与工具,详解“感知-思考-行动”闭环流程及主流设计模式,助力开发者构建工业级AI应用。(238字)
1262 1
|
11月前
|
人工智能 安全 Java
SpecKit 在成熟 Java 项目中的 AI 编码实践
本文探索AI Code与SpecKit在Java应用中的实践,结合规格驱动开发(SDD)与测试驱动开发(TDD),通过定义原则、需求规格化、技术方案设计等步骤,实现风格统一、可追溯的AI辅助编码。分享选型考量、执行流程及问题优化,总结经验并沉淀为应用级知识资产,提升研发效率与代码规范性。(239字)
3129 13
SpecKit 在成熟 Java 项目中的 AI 编码实践
|
11月前
|
人工智能 Cloud Native 开发者
云原生架构下的思考:从五家服务商看AI种草系统的演进与部署实践
本文从云原生视角解析2025年五家AI种草服务商的架构模式,涵盖微服务、HPC、SaaS等技术路径,剖析其部署复杂度与运维责任划分,助力企业平衡控制力、成本与技术能力,实现营销系统与技术战略的协同演进。
|
传感器 人工智能 安全
AI Agent架构全览:从LLM大脑到工具四肢的自主进化之路
人工智能正从工具时代迈向智能体时代,AI Agent作为核心载体,具备感知、决策与行动能力,能自主完成复杂任务。本文详解其工作原理与架构,探讨未来发展与挑战。
|
机器学习/深度学习 算法 5G
【MUSIC、最大似然与克拉美-罗下界】MUSIC与ESPRIT 算法来估计到达角(AoA),并尝试推导克拉美-罗下界(CRLB)以分析其性能研究(Matlab代码实现)
【MUSIC、最大似然与克拉美-罗下界】MUSIC与ESPRIT 算法来估计到达角(AoA),并尝试推导克拉美-罗下界(CRLB)以分析其性能研究(Matlab代码实现)
870 0
|
JavaScript 前端开发 定位技术
OpenLayers入门(一)
OpenLayers入门(一)
1907 0
OpenLayers入门(一)