打造企业专属人工智能助理

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
简介: 此章节介绍如何构建具备理解和执行能力的企业级AI助理。不仅需理解自然语言,还需执行具体任务,超越传统问答机器人的范畴。应用场景广泛,如智能天气查询、提交BUG等。实现方法包括使用OpenAI的Assistant服务及LangChain框架。前者简便但成本较高,后者更灵活多变。示例代码展示了如何利用OpenAI API让AI助理创造笑话并通过邮件发送,涉及助手创建、线程管理及工具调用等步骤。

6e6dd611edfa13f9da7b741115c82a4.jpg

简介

而在前面介绍React 推理提示的时候讲到了,目前的大语言模型本身不具备任何的执行能力,只具备理解自然语言的能力。

而如果要打造企业专属的人工智能助理,这个助理除了要具备“听懂人话的能力”,还需要具备执行动作的能力。要不然和问答机器人就没有任何区别了。所以本章节要完成的一个实践示例,就是让大模型具备“听懂人话”+“执行动作”的能力。

应用场景

智能助理由于具备“听懂人话”+“执行动作”的能力,所以其可拓展性是非常强的。理论上来说,所有的操作都能通过智能助理实现。比如如下几个场景。

  1. 智能查天气助理。
  2. 智能提 bug 助理。
  3. 其他操作场景。

只是越复杂的应用场景,中间牵涉到的工具和执行步骤也就越多越复杂。

实践演练

那么如果要实现打造企业专属人工智能助理,其实也是有多种方式的:

  1. openai 官方提供的 assistant。
  2. 人工智能应用框架,比如 LangChain。

assistant 目前相比于 LangChain。因为和 ChatGPT 强绑定,所以自然有一定的局限性。但是优点就是非常的简单且容易上手,如果可以接受 token 比较昂贵的消费。那么使用 assistant 也是一个非常好的选择。

而 LangChain 其灵活性则更强,会在后面的章节进行进一步的介绍。

使用官方的 assistant

点击查看官方 assistant 使用教程

假设我们现在的需求,是要让人工智能助理编造一条笑话,并且使用邮箱进行发送,那么整体流程应该如下:

image.png

对应代码:

import json
import os
import time

import requests
from openai import OpenAI

client = OpenAI(api_key=os.environ.get("OPENAI_API_KEY"))
# 一个发送邮件的函数工具
def send_email(quote, recipient="霍格沃兹测试开发学社@email.com"):
    # Print the quote and recipient for debugging purposes
    print(f"生成消息:\n {quote}\n\n发送邮件给: {recipient}")
    # Return a success message
    return "发送邮件给" + recipient
# 工具的提示词。为了让大模型更好理解工作的作用。
tools = [{
   
   
    "type": "function",
    "function": {
   
   
        "name": "send_email",
        "description": "Sends a quote via email",
        "parameters": {
   
   
            "type": "object",
            "properties": {
   
   
                "quote": {
   
   
                    "type": "string",
                    "description": "A generated funny quote"
                }
            },
            "required": [
                "quote"
            ]
        }
    }
}]
# 1. 创建助手
assistant = client.beta.assistants.create(
    name="Wise Guy",
    instructions="你是一位聪明的哲学家,会产生有趣的引言。",
    model="gpt-3.5-turbo-1106",
    tools=tools
)
# 2. 创建线程
thread = client.beta.threads.create()
# 3. 传入 prompt 并执行线程
message = client.beta.threads.messages.create(
    thread_id=thread.id,
    role="user",
    content="创建一个笑话并且使用邮件发送",
)
# 4. 执行消息
run_res = client.beta.threads.runs.create(
    thread_id=thread.id,
    assistant_id=assistant.id, )
# 5. 等待回复
def wait_on_run(run):
    while run.status == "queued" or run.status == "in_progress":
        run = client.beta.threads.runs.retrieve(
            thread_id=thread.id,
            run_id=run.id,
        )
        print(f"执行的状态为:{run.status}")
        time.sleep(0.5)
    return run
# 6. 获取回复的结果
run_res = wait_on_run(run_res)
# 7. 如果回复的结果需要调用工具
if run_res.status == "requires_action":
    # 提交工具的返回信息
    tool_call = run_res.required_action.submit_tool_outputs.tool_calls[0]
    name = tool_call.function.name
    arguments = json.loads(tool_call.function.arguments)
    print("等待返回的参数:", name)
    print(f"函数参数为:{arguments}")
    # 调用发送邮件工具
    task = send_email(**arguments)
    # 提交工具执行后的结果信息。
    run = client.beta.threads.runs.submit_tool_outputs(
        thread_id=thread.id,
        run_id=run_res.id,
        tool_outputs=[
            {
   
   
                "tool_call_id": tool_call.id,
                "output": "done",
            }
        ],
    )
    print("==========调用 chatgpt 执行内容")
    run = wait_on_run(run)
    print("==========获取返回信息")
    print(client.beta.threads.messages.list(thread_id=thread.id, order="asc").model_dump_json(indent=2))

其他方式

  1. 结合 LangChain 等人工智能应用框架完成。

总结

  1. 企业专属人工智能助理的产品需求。
  2. 企业专属人工智能助理的实现方案。
  3. 使用官方 assistant 实现企业专属人工智能助理。
相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
3月前
|
机器学习/深度学习 人工智能 搜索推荐
掌握未来:探索人工智能在教育中的应用
【7月更文挑战第28天】本文深入探讨了人工智能技术在教育领域的应用,从个性化学习、智能教学辅助系统到评估与反馈机制的革新。文章分析了AI技术如何促进教育资源的优化分配,提高教学质量和学习效率,并讨论了其对传统教育模式的影响及面临的挑战。
|
5月前
|
机器学习/深度学习 人工智能 自动驾驶
人工智能未来将替代哪些行业
【4月更文挑战第28天】
|
机器学习/深度学习 人工智能 数据可视化
人工智能和机器人技术的下一个前沿技术是什么?
虽然计算机早在20世纪30年代就已经出现了,但50年后,随着图形用户界面的出现,计算机才变得可访问,这开启了我们今天所知的价值数万亿美元的行业。同样,关注人工智能和机器人技术的可用性是推动采用的关键。
310 0
人工智能和机器人技术的下一个前沿技术是什么?
|
机器学习/深度学习 人工智能 搜索推荐
人工智能何以促进未来教育发展
人工智能作为第四次工业革命的显著标签,其飞速发展正在逐步塑造社会、经济、生活等领域的业务新形态,也不断带来颠覆性、丰富性、创新性的新业态。面对人工智能技术对整个社会发展的刺激,教育如何发展,成为值得思考的重要问题
168 0
人工智能何以促进未来教育发展
AI:2020年6月21日北京智源大会演讲分享之20:05-20:25陶建华《人工智能学科设置与人才培养》、雷明《企业对人工智能人才的要求以及对人工智能人才培养的建议》
AI:2020年6月21日北京智源大会演讲分享之20:05-20:25陶建华《人工智能学科设置与人才培养》、雷明《企业对人工智能人才的要求以及对人工智能人才培养的建议》
AI:2020年6月21日北京智源大会演讲分享之20:05-20:25陶建华《人工智能学科设置与人才培养》、雷明《企业对人工智能人才的要求以及对人工智能人才培养的建议》
AI:2020年7月10日世界人工智能大会WAIC青少年人工智能创新发展论坛《人工智能从娃娃抓起》
AI:2020年7月10日世界人工智能大会WAIC青少年人工智能创新发展论坛《人工智能从娃娃抓起》
|
机器学习/深度学习 人工智能 自然语言处理
人工智能对你的企业来说适合吗?
虽然目前离真正的人工智能还有一段距离,但很多企业正在利用人工智能和自动化(如机器学习)来促进业务运营,推动创新,并改善客户体验。
158 0
人工智能对你的企业来说适合吗?
|
存储 机器学习/深度学习 数据采集
云计算大数据及人工智能| 学习笔记
快速学习云计算大数据及人工智能
190 0
|
机器学习/深度学习 人工智能 供应链
人工智能如何帮助企业开展业务
随着各种业务的应用,人工智能在未来几年将成为主导技术。随着现代企业竞争意识的增强,越来越多的组织正在寻找将其实现数字化的方法,现在是他们决定整合人工智能的时候了,因为从长远来看,那些不使用人工智能的企业在竞争可能会落后于人。
173 0
|
人工智能 搜索推荐 安全
AI人工智能如何赋能教育?
随着教育改革和人工智能的普及,校园智能化建设也已从数字校园向智能校园迈进。校园管理者一直在寻求提高工作效率,方便师生、家长协同教育,而传统的校园系统建设已经不能适应现阶段学校教学,需要耗费大量人力、物力和时间成本,以人工智能技术为支撑的智能校园系统便应运而生。
955 0
AI人工智能如何赋能教育?
下一篇
无影云桌面