基于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. 通过前后端开发的技术,实现一个基本的模拟面试平台。
相关文章
|
4天前
|
人工智能
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器
要求CHATGPT高质量回答的艺术:提示工程技术的完整指南—第 27 章:如何避开和绕过所有人工智能内容检测器
20 3
|
24天前
|
人工智能 JSON 数据格式
RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
【9月更文挑战第6天】RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
RAG+Agent人工智能平台:RAGflow实现GraphRA知识库问答,打造极致多模态问答与AI编排流体验
|
20天前
|
机器学习/深度学习 人工智能 算法
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
文本分类识别系统。本系统使用Python作为主要开发语言,首先收集了10种中文文本数据集("体育类", "财经类", "房产类", "家居类", "教育类", "科技类", "时尚类", "时政类", "游戏类", "娱乐类"),然后基于TensorFlow搭建CNN卷积神经网络算法模型。通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型,并保存为本地的h5格式。然后使用Django开发Web网页端操作界面,实现用户上传一段文本识别其所属的类别。
45 1
【新闻文本分类识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
20天前
|
机器学习/深度学习 人工智能 算法
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台。果蔬识别系统,本系统使用Python作为主要开发语言,通过收集了12种常见的水果和蔬菜('土豆', '圣女果', '大白菜', '大葱', '梨', '胡萝卜', '芒果', '苹果', '西红柿', '韭菜', '香蕉', '黄瓜'),然后基于TensorFlow库搭建CNN卷积神经网络算法模型,然后对数据集进行训练,最后得到一个识别精度较高的算法模型,然后将其保存为h5格式的本地文件方便后期调用。再使用Django框架搭建Web网页平台操作界面,实现用户上传一张果蔬图片识别其名称。
38 0
【果蔬识别系统】Python+卷积神经网络算法+人工智能+深度学习+计算机毕设项目+Django网页界面平台
|
5天前
|
人工智能 算法 安全
探索人工智能在医疗诊断中的应用及挑战
本文深入探讨了人工智能在医疗诊断领域的现状、应用及其面临的伦理和技术挑战。通过分析AI技术如何辅助医生进行疾病诊断,提高诊断的准确性和效率,文章揭示了AI在医疗影像分析、基因检测、风险评估等方面的潜力。同时,指出了数据隐私、算法透明度、医患关系变化等挑战,并对未来AI与医疗健康的融合趋势进行了展望。
|
19天前
|
数据采集 人工智能 安全
软件测试中的人工智能应用与挑战
在这篇文章中,我们将深入探讨人工智能(AI)在软件测试中的应用及其所面临的挑战。通过分析当前的技术趋势和具体案例,揭示AI如何提高测试效率和准确性,并指出在实施过程中遇到的主要问题及可能的解决途径。
36 1
|
11天前
|
机器学习/深度学习 人工智能 自然语言处理
人工智能与机器学习在医疗诊断中的应用
【9月更文挑战第32天】随着科技的不断发展,人工智能和机器学习已经在许多领域得到了广泛应用。在医疗领域,它们正在改变着医生和患者的生活。通过分析大量的医疗数据,AI可以帮助医生更准确地诊断疾病,预测患者的病情发展,并提供个性化的治疗方案。本文将探讨人工智能和机器学习在医疗诊断中的具体应用,包括图像识别、自然语言处理和预测分析等方面。我们还将讨论AI技术面临的挑战和未来的发展趋势。
|
2天前
|
人工智能 搜索推荐 算法
人工智能在医疗诊断中的应用与前景
本文探讨了人工智能在医疗诊断中的最新进展、应用案例以及面临的挑战。通过分析AI在医学影像识别、电子病历分析和个性化治疗方案等领域的具体应用,揭示了其提高诊断准确性、缩短诊断时间的潜力。同时,讨论了数据隐私、算法偏见等伦理和法律问题,并提出了未来研究方向。
|
1天前
|
机器学习/深度学习 人工智能 算法框架/工具
Python在人工智能方面的应用
Python在人工智能方面的应用
10 1
|
4天前
|
机器学习/深度学习 人工智能 自然语言处理
探索人工智能在自然语言处理中的应用
本文将深入探讨人工智能在自然语言处理领域的应用,包括语音识别、文本挖掘和情感分析等方面。通过实例演示,我们将展示如何利用深度学习技术来提高自然语言处理的准确性和效率。

热门文章

最新文章