基于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. 通过前后端开发的技术,实现一个基本的模拟面试平台。
相关文章
|
13天前
|
安全 网络安全 API
无需公网也可访问的ChatGPT WebUI服务
通过阿里云计算巢实现无需开启公网访问即可使用的ChatGPTWebUI服务。借助WEB安全代理功能保障安全,无公网费用,适合个人与团队内部使用。
|
7天前
|
人工智能 API Python
ChatGPT 插件开发
本教程旨在帮助您掌握ChatGPT API的基本使用方法,包括应用开发、代码分析、插件开发及专属领域模型应用等。通过学习,您将为未来的人工智能应用开发打下坚实基础。教程包含官方文档介绍、环境搭建步骤及Python示例代码,助您快速上手。请注意,API调用需收费,初始提供5美元免费额度。
20 3
|
17天前
|
存储 Linux 开发工具
如何进行Linux内核开发【ChatGPT】
如何进行Linux内核开发【ChatGPT】
|
1月前
|
人工智能 自然语言处理 算法
【人工智能】探索GPT-4o mini:解锁成本效益新纪元,赋能开发创新与效率
在人工智能领域的浩瀚星空中,OpenAI再次以其创新之光照亮了前行的道路,推出了备受瞩目的GPT-4o mini模型。这款被誉为“迄今为止最具成本效益的小模型”不仅继承了GPT系列强大的自然语言处理能力,更在成本控制上实现了重大突破,为开发者们开启了一扇通往高效与创新的大门。
43 1
|
18天前
|
机器人 C# 人工智能
智能升级:WPF与人工智能的跨界合作——手把手教你集成聊天机器人,打造互动新体验与个性化服务
【8月更文挑战第31天】聊天机器人已成为现代应用的重要组成部分,提供即时响应、个性化服务及全天候支持。随着AI技术的发展,聊天机器人的功能日益强大,不仅能进行简单问答,还能实现复杂对话管理和情感分析。本文通过具体案例分析,展示了如何在WPF应用中集成聊天机器人,并通过示例代码详细说明其实现过程。使用Microsoft的Bot Framework可以轻松创建并配置聊天机器人,增强应用互动性和用户体验。首先,需在Bot Framework门户中创建机器人项目并编写逻辑。然后,在WPF应用中添加聊天界面,实现与机器人的交互。
33 0
|
20天前
|
机器学习/深度学习 人工智能 算法
为什么ChatGPT等AI大模型都是基于Python开发?
为什么ChatGPT等AI大模型都是基于Python开发?
|
20天前
|
数据采集 iOS开发 Python
Chatgpt教你开发iPhone风格计算器,Python代码实现
Chatgpt教你开发iPhone风格计算器,Python代码实现
|
1月前
|
人工智能 网络协议 Java
23.12月中旬 上海寻序人工智能科技-上海嘉定-Java开发实习生-薪资150-230/d 面经
关于上海寻序人工智能科技有限公司Java开发实习生岗位的面试经验分享,涵盖了技术问题如对象存储MinIO、ArrayList扩容、Object类方法、hashCode和equals方法、处理哈希冲突、JVM垃圾回收器、GC算法、网络协议、邮件协议、HTTP请求方法、Linux和Docker命令、Dockerfile制作等。
|
1月前
|
自然语言处理 iOS开发 开发者
ChatGPT 等相关大模型问题之大模型提升开发效率如何解决
ChatGPT 等相关大模型问题之大模型提升开发效率如何解决
|
1月前
|
人工智能 自然语言处理 搜索推荐
chatgpt这么火,现在AI搜索引擎有哪些呢?
国外AI搜索引擎包括ChatGPT,擅长自然语言处理与内容生成;Google Bard,提供智能个性化搜索体验;Microsoft Bing集成GPT模型增强智能检索;Perplexity AI以简洁答案及文献引用著称;Neeva强调隐私保护与无广告服务。国内方面,天工AI支持多种功能如知识问答与代码编程;腾讯元宝基于混元模型助力内容创造与学习;360AI搜索以精准全面的信息搜索见长;秘塔AI专注提升写作质量和效率;开搜AI搜索提供个性化智能搜索服务。以上引擎均利用先进AI技术提升用户体验。更多详情参阅[AI搜索合集](zhangfeidezhu.com/?page_id=651)。
76 8
chatgpt这么火,现在AI搜索引擎有哪些呢?