【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

 




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

相关文章
|
13天前
|
数据采集 人工智能 安全
|
8天前
|
编解码 人工智能 自然语言处理
⚽阿里云百炼通义万相 2.6 视频生成玩法手册
通义万相Wan 2.6是全球首个支持角色扮演的AI视频生成模型,可基于参考视频形象与音色生成多角色合拍、多镜头叙事的15秒长视频,实现声画同步、智能分镜,适用于影视创作、营销展示等场景。
661 4
|
8天前
|
机器学习/深度学习 人工智能 前端开发
构建AI智能体:七十、小树成林,聚沙成塔:随机森林与大模型的协同进化
随机森林是一种基于决策树的集成学习算法,通过构建多棵决策树并结合它们的预测结果来提高准确性和稳定性。其核心思想包括两个随机性:Bootstrap采样(每棵树使用不同的训练子集)和特征随机选择(每棵树分裂时只考虑部分特征)。这种方法能有效处理大规模高维数据,避免过拟合,并评估特征重要性。随机森林的超参数如树的数量、最大深度等可通过网格搜索优化。该算法兼具强大预测能力和工程化优势,是机器学习中的常用基础模型。
350 164
|
7天前
|
机器学习/深度学习 自然语言处理 机器人
阿里云百炼大模型赋能|打造企业级电话智能体与智能呼叫中心完整方案
畅信达基于阿里云百炼大模型推出MVB2000V5智能呼叫中心方案,融合LLM与MRCP+WebSocket技术,实现语音识别率超95%、低延迟交互。通过电话智能体与座席助手协同,自动化处理80%咨询,降本增效显著,适配金融、电商、医疗等多行业场景。
359 155