基于ChatGPT开发人工智能服务平台

简介: ### 简介ChatGPT 初期作为问答机器人,现已拓展出多种功能,如模拟面试及智能客服等。模拟面试功能涵盖个性化问题生成、实时反馈等;智能客服则提供全天候支持、多渠道服务等功能。借助人工智能技术,这些应用能显著提升面试准备效果及客户服务效率。### 智能平台的使用价值通过自动化流程,帮助用户提升面试准备效果及提高客户服务效率。### 实现思路1. **需求功能设计**:提问与接收回复。2. **技术架构设计**:搭建整体框架。3. **技术选型**:示例采用 `Flask + Template + HTML/CSS`。4. **技术实现**:前端界面与后端服务实现。

简介

ChatGPT 在刚问世的时候,其产品形态就是一个问答机器人。而基于ChatGPT的能力还可以对其做一些二次开发和拓展。比如模拟面试功能、或者智能机器人功能。

模拟面试功能包括个性化问题生成、实时反馈、多轮面试模拟、面试报告。

智能机器人功能提供24/7客服支持、自然语言处理、任务自动化、多渠道支持和数据分析与报告。

智能平台的使用价值

而通过人工智能,可以将以上的流程自动化的实现。可以帮助用户:

  1. 提升面试准备效果
  2. 提高客户服务效率

实现思路

如果要实现一个初步的模拟面试平台,那么会分为以下几个步骤完成:

  1. 需求功能设计。
  2. 技术架构设计
  3. 技术选型。
  4. 技术实现。

需求功能设计

模拟面试平台的功能可复杂可简单,当然最基本的功能需求需要具备:

  1. 提问,模拟面试官的角色向用户提出下一个问题。
  2. 接受回复,需要有一个输入,能够接收用户的输入的回复信息。

所以基于以上需求,我们的界面设计应该是:

image.png

技术架构设计

image.png

技术选型

  • 因为功能比较简单,所以技术架构可选择任意的前后端技术。
  • 示例使用 Flask + Template + HTML/CSS 技术

技术实现

环境准备
前端界面实现
<!DOCTYPE html>
<head>
    <title>霍格沃兹测试开发学社模拟面试系统</title>
    <link rel="stylesheet" href="{
    { url_for('static', filename='main.css') }}"/>
</head>

<body>
<img src="{
    { 'https://ceshiren.com/uploads/default/original/1X/809c63f904a37bc0c6f029bbaf4903c27f03ea8a.png' }}"
     class="icon"/>
<h3>霍格沃兹测试开发学社模拟面试系统</h3>
{% if result %}
<div class="result">{
  { result }}</div>
{% endif %}
<form action="/" method="post">
    <input type="text" name="msg" placeholder="请先说你好,打个招呼" required/>
    <input type="submit" value="开始面试"/>
</form>
</body>
后端服务实现

获取 token 相关的基本配置信息。


import os
from pathlib import Path
import openai
import yaml
from flask import Flask, redirect, render_template, request, url_for

# 通过 yaml 配置文件获取 openai 配置
conf_path = Path(__file__).parent.joinpath('conf/dev.yaml')
with open(conf_path) as f:
    conf: dict = yaml.safe_load(f)
# 通过环境变量设置 openai 的 token 和代理地址
os.environ["OPENAI_API_KEY"] = conf.get("OPENAI_API_KEY")
os.environ["OPENAI_BASE_URL"] = conf.get("OPENAI_BASE_URL")

通过变量message记录和大模型的历史交互信息。
# 发送的历史消息
messages = []

从前端获取到用户的输入信息,并将从大模型获取到的响应展示到界面上。- 如果是第一次,则使用预制的prompt。- 不是第一次,则接受响应信息。
# 创建 flask 实例
app = Flask(__name__)


# 定义路由
@app.route("/", methods=("GET", "POST"))
def index():
    if request.method == "POST":
        # 获取前端的用户输入信息
        user_msg = request.form["msg"]
        # 定义要发送给 openai 接口的信息
        if messages:
            # 有上下文历史
            messages.append({
   
                'role': 'user',
                # 把用户输入的信息直接发给 openai
                'content': user_msg
            })
        else:
            # 第一次初始化
            messages.append({
   
                'role': 'user',
                # 把最初的提示词发送给 openai
                'content': generate_prompt(user_msg)
            })
        # 打印创建好的信息
        print(f"messages: {messages}")
        # 调用 openai 自带的方法,向 openai 服务器发出请求,并获取响应
        response = openai.chat.completions.create(
            model='gpt-3.5-turbo',
            messages=messages,
            temperature=0
        )
        # 从响应内容中提取 openai 回复的内容
        answer = response.choices[0].message.content
        # 打印回复内容
        print(f"answer: {answer}")
        # 刷新首页,返回答案信息
        # result 参数会拼接在 index 视图函数对应路由的后方
        # http://xx/?result=xxx
        return redirect(url_for("index", result=answer))
    # 获取拼接在 url 中的 result 参数的值,如果没有携带 result,则 result 值为空
    result = request.args.get("result")
    print(f"result = {result}")
    # 第一次进入首页,result 为空,输入框上方不显示内容
    return render_template("index.html", result=result)


def generate_prompt(msg):
    # 定义提示词
    prompt_msg = f"""你是一名软件测试工程师,你了解软件测试的技术与经验,你需要面试应聘者。
    我是应聘者,你会问我这个职位的面试问题。
    我希望你只以面试官的身份回答,一次只问一个问题,问我问题并等待我的回答。
    当我说结束面试的时候给出我的面试表现的评价和我的改进方向。
    我的输入是 {msg}
    """
    # 返回提示词
    return prompt_msg

启动服务
if __name__ == '__main__':
    app.run(debug=True)

总结

  1. 了解一个人工智能平台的基本设计思路。
  2. 通过前后端开发的技术,实现一个基本的模拟面试平台。
相关文章
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能在虚拟客服中的关键作用:提升交互体验与服务效率
人工智能在虚拟客服中的关键作用:提升交互体验与服务效率
228 90
|
4月前
|
人工智能
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器
46 3
|
30天前
|
机器学习/深度学习 人工智能 算法
阿里云人工智能平台图像视频特征提取
本文介绍了图像与视频特征提取技术在人工智能和计算机视觉中的应用,涵盖图像质量评分、人脸属性分析、年龄分析、图像多标签打标、图文视频动态分类打标、视频质量评分及视频分类打标。通过深度学习模型如CNN和RNN,这些技术能从海量数据中挖掘有价值信息,为图像分类、目标检测、视频推荐等场景提供支持,提升分析精度与效率。
106 9
|
2月前
|
数据采集 人工智能 智能设计
首个!阿里云人工智能平台率先通过国际标准认证
首个!阿里云人工智能平台率先通过国际标准认证
102 7
|
2月前
|
机器学习/深度学习 人工智能 算法
人工智能平台年度技术趋势
阿里云智能集团研究员林伟在年度技术趋势演讲中,分享了AI平台的五大方面进展。首先,他介绍了大规模语言模型(LLM)训练中的挑战与解决方案,包括高效故障诊断和快速恢复机制。其次,探讨了AI应用和服务的普及化,强调通过优化调度降低成本,使AI真正惠及大众。第三,提出了GreenAI理念,旨在提高AI工程效率,减少能源消耗。第四,讨论了企业级能力,确保数据和模型的安全性,并推出硬件到软件的全面安全方案。最后,介绍了整合多项核心技术的Pai Prime框架,展示了阿里云在自主可控AI核心框架下的整体布局和发展方向。
|
3月前
|
人工智能 自然语言处理 自动驾驶
深入理解ChatGPT:下一代人工智能助手的开发与应用
【10月更文挑战第27天】本文深入探讨了ChatGPT的技术原理、开发技巧和应用场景,展示了其在语言理解和生成方面的强大能力。文章介绍了基于Transformer的架构、预训练与微调技术,以及如何定制化开发、确保安全性和支持多语言。通过实用工具如GPT-3 API和Fine-tuning as a Service,开发者可以轻松集成ChatGPT。未来,ChatGPT有望在智能家居、自动驾驶等领域发挥更大作用,推动人工智能技术的发展。
|
5月前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
148 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
5月前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
92 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
4月前
|
机器学习/深度学习 移动开发 自然语言处理
基于人工智能技术的智能导诊系统源码,SpringBoot作为后端服务的框架,提供快速开发,自动配置和生产级特性
当身体不适却不知该挂哪个科室时,智能导诊系统应运而生。患者只需选择不适部位和症状,系统即可迅速推荐正确科室,避免排错队浪费时间。该系统基于SpringBoot、Redis、MyBatis Plus等技术架构,支持多渠道接入,具备自然语言理解和多输入方式,确保高效精准的导诊体验。无论是线上医疗平台还是大型医院,智能导诊系统均能有效优化就诊流程。
102 0
|
1月前
|
机器学习/深度学习 人工智能 搜索推荐
哈佛推出全新类ChatGPT癌症诊断AI,登上Nature!准确率高达96%
哈佛大学研究团队开发的新型AI模型CHIEF,在《自然》期刊发表,癌症诊断准确率达96%。CHIEF基于深度学习,能自动识别、分类癌症并预测生存期,具高准确性、多任务能力和泛化性。它结合病理图像与基因组学等数据,显著提升诊断效率和个性化治疗水平,有望改善医疗资源不平等。但数据隐私和临床效果验证仍是挑战。论文见:https://www.nature.com/articles/s41586-024-07894-z
164 101