当前位置: 首页 > news >正文

大模型应用案例:主动提问式的 AI 面试官(接入 DeepSeek)

目录

核心逻辑

效果演示

技术选型

大模型应用开发框架:langchain-deepseek

UI 展示框架—streamlit

代码获取

后续改进想法


本文附带详细的视频讲解,欢迎小伙伴们来支持——

【代码宇宙017】大模型:主动提问式的 AI 面试官(接入 DeepSeek)_哔哩哔哩_bilibili

核心逻辑

效果演示

之后删除对话框内容,点击任意非输入框位置,即可展示新问题

技术选型

大模型应用开发框架:langchain-deepseek

LangChain 有许多聊天模型集成,允许您使用来自不同提供商的各种模型。

这些集成是以下两种类型之一:

  1. 官方模型:这些是 LangChain 和/或模型提供商官方支持的模型。你可以在 langchain-<provider> 包中找到这些模型。
  2. 社区模型:有些模型主要由社区贡献和支持。您可以在 langchain-community 包中找到这些模型。

LangChain 聊天模型的命名约定是在其类名前加上 “Chat” 前缀(例如,ChatOllamaChatAnthropicChatOpenAI 等)。

LangChain 集成的大模型厂商清单

Chat models | 🦜️🔗 LangChain

ChatDeepSeek

ChatDeepSeek | 🦜️🔗 LangChain

依赖安装

pip install langchain-deepseek

附加:LangChain 生态下的库安装

pip install langchain # 主 langchain 包pip install langchain-core # langchain-core 包包含 LangChain 生态系统其余部分使用的基本抽象,以及 LangChain 表达式语言。它由 langchain 自动安装,但也可以单独使用pip install langchain-openai # 某些集成(如 OpenAI 和 Anthropic)有自己的软件包pip install langchain-community # 任何尚未拆分到自己的包中的集成都将位于此包pip install langgraph # 是一个使用 LLM 构建有状态的多角色应用程序的库。它与 LangChain 无缝集成,但可以在没有 LangChain 的情况下使用pip install "langserve[all]" # 将 LangChain 可运行对象和链部署为 REST API,all 包含 client 和 serverpip install langchain-cli # LangChain CLI 可用于处理 LangChain 模板和其他 LangServe 项目pip install langsmith # 有助于代理评估和可观察性。调试性能不佳的 LLM 应用程序运行,评估代理轨迹,不依赖于langchain-core,如果需要,可以独立安装和使用pip install langchain-experimental # (选装)包含用于研究和实验用途的实验性 LangChain 代码

UI 展示框架—streamlit

官网:API Reference - Streamlit Docs

Streamlit 是一款面向数据科学家和机器学习工程师的开源 Python 库,其设计目的是快速搭建数据应用程序,并且不需要具备前端开发的专业知识,提供了多种组件,如按钮、滑块、下拉框、文本输入框等,这些组件可以方便地集成到应用中,实现用户与数据的交互,支持多种数据可视化库,像 Matplotlib、Plotly、Altair 等,可在应用中轻松展示各种图表和图形。

这里用 streamlit 主要是因为目前简单的演示 demo 的前端搭建用它实现起来特别迅速,上述整个 AI 面试网站的开发加上后端和 ui 展示逻辑一共 100 行代码左右,另外现在 streamlit 对于 LLM 开发的支持也特别友好:

代码获取

需要代码的小伙伴可以在文章开头的视频里评论,我会私发过去(只快速写了一个 demo,代码不够优雅,所有就不直接贴出来了)

后续改进想法

  1. 目前还不支持简历的导入功能,后续可以加上
  2. 另外还有 RAG 能力之后也可以支持一下
  3. 目前还没有对大模型的提问进行去重统计和检测,可能会出现几次提问后又会问之前问过的问题,目前先增大大模型的创造力系数
  4. 目前用 streamlit 只能做一个简单的 demo 页面,做一个完整的定制化网站还得用前端技术栈
  5. 目前还不支持最终对答完展示整个 Q-A 历史清单,导出 MarkDown 或 pdf 能力,之后也可以加上让提问人能够保存每次的知识
  6. 目前还没法做到循序渐进提问问题,除非把这次提问的所有 Q-A 内容都加进去,但是那样次数多了之后会出现超出大模型上下文的情况,所有还需要考虑怎么实现
  7. 现在提问的内容有些简单,也可以增加进阶型的 Agent 来更适合有经验的面试者

相关文章:

大模型应用案例:主动提问式的 AI 面试官(接入 DeepSeek)

目录 核心逻辑 效果演示 技术选型 大模型应用开发框架&#xff1a;langchain-deepseek UI 展示框架—streamlit 代码获取 后续改进想法 本文附带详细的视频讲解&#xff0c;欢迎小伙伴们来支持—— 【代码宇宙017】大模型&#xff1a;主动提问式的 AI 面试官&#xff0…...

算法笔记—动态规划

1137. 第 N 个泰波那契数 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int tribonacci(int n) {if(n0) return 0;if(n1||n2) return 1;vector<int> dp(4);//初始化dp[0]0; dp[1]1; dp[2]1;for(int i3;i<n1;i){//滚动数组优化需要循环dp[i%4]dp[…...

Vue3集成Element Plus完整指南:从安装到主题定制上

一、Element Plus简介 Element Plus是一套基于Vue 3.0的桌面端组件库&#xff0c;由饿了么前端团队开源维护。它提供了丰富的UI组件&#xff0c;能够帮助开发者快速构建企业级中后台产品。 1. 安装与卸载 bash 复制 下载 # 安装最新版本 npm install element-plus -S# 卸…...

初识javascript

1. JavaScript 基础语法 (1) 变量声明 JavaScript支持三种声明变量的方式&#xff1a; var&#xff1a;传统的变量声明方式&#xff0c;存在作用域问题&#xff08;函数作用域&#xff09;。 let&#xff1a;块级作用域变量声明方式&#xff0c;避免了var的作用域问题。 co…...

C++项目 —— 基于多设计模式下的同步异步日志系统(5)(单例模式)

C项目 —— 基于多设计模式下的同步&异步日志系统&#xff08;5&#xff09;&#xff08;单例模式&#xff09; 一个问题单例模式实现1. 单例模式&#xff1a;全局唯一实例功能&#xff1a;实现细节&#xff1a;作用&#xff1a; 2. 日志器的注册与查找功能&#xff1a;实现…...

rag搭建,是如何进行向量匹配检索的?

RAG 里为什么要“向量检索”? 在 Retrieval-Augmented Generation (RAG) 中,我们的目标是让 LLM 能够“回答它本身不知道的内容”。做法是: 将知识(文本)进行向量化,存入向量数据库;用户提问后,也将问题向量化;去数据库里 找出与这个问题最相似的一批知识,返回喂给 …...

k8s 基础入门篇之开启 firewalld

前面在部署k8s时&#xff0c;都是直接关闭的防火墙。由于生产环境需要开启防火墙&#xff0c;只能放行一些特定的端口&#xff0c; 简单记录一下过程。 1. firewall 与 iptables 的关系 1.1 防火墙&#xff08;Firewall&#xff09; 定义&#xff1a; 防火墙是网络安全系统&…...

C++在VR/AR图形处理开发中的实战应用

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…...

Matlab 基于模型参考自适应法和SVPWM的异步电机控制

1、内容简介 Matlab 212-基于模型参考自适应法和SVPWM的异步电机控制 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

深入浅出讲解UDP检验中如何计算检验和

一、计算机中的进制&#xff1a;二进制与十六进制 1. 十进制&#xff08;Decimal&#xff09; 特点&#xff1a;用0-9表示&#xff0c;逢10进1。 例子&#xff1a;数字 123 表示 110221013100110221013100。 2. 二进制&#xff08;Binary&#xff09; 特点&#xff1a;用0和…...

Python类和对象一(十)

封装&#xff1a; 在创建对象之前&#xff0c;通过类将相关的属性和方法打包到一起&#xff0c;然后通过类来生成响应的对象 定义类&#xff1a; 创建对象&#xff1a; 方法里面有个参数self&#xff1a;new的对象 当我们调用类里面方法的时候&#xff0c;py是怎么知道是哪…...

jupyter切换存储路径

一、问题描述 当我采用官网提供的安装方式pip install jupyterlab&#xff0c;在Windows下的powershell里安装jupyterlab成功&#xff0c;并启动&#xff1a;jupyter lab 打开网页&#xff1a;http://localhost:8888/lab 显示如下&#xff1a;成功了&#xff0c;可是我发现这…...

PH热榜 | 2025-04-20

1. Checklist GG 标语&#xff1a;基于人工智能的清单管理工具 介绍&#xff1a;checklist.gg 是一款基于人工智能的检查清单管理工具&#xff0c;旨在帮助组织确保每次都能准确完成任务。 产品网站&#xff1a; 立即访问 Product Hunt&#xff1a; View on Product Hunt 关…...

YOLOv11改进——基于注意力机制和密集小目标增强型EVA模块的设计与实现

随着计算机视觉技术的快速发展&#xff0c;目标检测算法在实时性与检测精度间的平衡成为研究重点。YOLO&#xff08;You Only Look Once&#xff09;系列算法以其高效性和准确性&#xff0c;长期占据实时目标检测领域的前沿位置。然而&#xff0c;尽管最新版本在通用场景表现优…...

n8n 中文系列教程_04.半开放节点深度解析:Code与HTTP Request高阶用法指南

在低代码开发领域&#xff0c;n8n凭借其独特的半开放架构打破了传统自动化工具的边界。本文深度剖析两大核心节点——Code与HTTP Request&#xff0c;从底层原理到企业级实战&#xff0c;揭秘如何通过代码自由扩展与API无缝集成&#xff0c;突破平台限制。无论是对接国产生态&a…...

Linux学习——了解和熟悉Linux系统的远程终端登录

Linux学习——了解和熟悉Linux系统的远程终端登录 一.配置Ubuntu系统的网络和用户 1、设置虚拟机网络为桥接模式 打开VMWare&#xff0c;选择编辑虚拟机设置&#xff0c;在网络适配器设置中&#xff0c;选择“桥接模式”&#xff0c;保存设置并启动Ubuntu。 2、配置Ubuntu的…...

PFLM: Privacy-preserving federated learning with membership proof证明阅读

系列文章目录 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 例如&#xff1a;第一章 Python 机器学习入门之pandas的使用 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目…...

十倍开发效率 - IDEA插件之 Maven Helper

0X00 先看效果 第一个选项表示存在冲突的依赖&#xff0c;可以看到图片中 mysql 的连接依赖发生了冲突&#xff0c;在低版本的上面直接右键选择 Exclude&#xff0c;冲突的依赖就被解决掉了。 0X01 安装 在 Plugins 中直接搜索 Maven Helper&#xff0c;选择第一个进行安装&am…...

线程安全总结

1.线程安全 1.1什么是线程安全 线程安全问题指的是当多个线程同时访问和操作共享资源&#xff08;如变量、数据结构等&#xff09;时&#xff0c;由于缺乏有效的同步控制&#xff0c;导致程序出现不可预期的错误或数据不一致的现象。其核心在于并发操作破坏了程序的正确性。 …...

计算机视觉cv入门之答题卡自动批阅

前边我们已经讲解了使用cv2进行图像预处理与边缘检测等方面的知识&#xff0c;这里我们以答题卡自动批阅这一案例来实操一下。 大致思路 答题卡自动批阅的大致流程可以分为这五步&#xff1a;图像预处理-寻找考试信息区域与涂卡区域-考生信息区域OCR识别-涂卡区域填涂答案判断…...

10.QT-显示类控件|LCD Number|ProgressBar|Calendar Widget(C++)

LCD Number QLCDNumer 是⼀个专⻔⽤来显⽰数字的控件.类似于"⽼式计算器"的效果 属性说明intValueQLCDNumber 显⽰的数字值(int).valueQLCDNumber 显⽰的数字值(double).和intValue是联动的.例如给value设为1.5,intValue的值就是2.另外,设置value和intValue的⽅法名…...

深入探索 Unix 与 Linux:历史、内核及发行版

引言 在当今的计算世界中&#xff0c;Unix 和 Linux 操作系统的影响力无处不在。从驱动互联网的服务器到我们口袋里的智能手机&#xff0c;再到无数嵌入式设备&#xff0c;它们的身影随处可见 1。这两个操作系统家族共享着丰富的历史和相似的设计哲学&#xff0c;但又各自走过…...

HCIP第三次作业

一、实验要求 1&#xff0c;R5为ISP&#xff0c;其上只能配置IP地址;R4作为企业边界路由器&#xff0c; 出口公网地址需要通过PPP协议获取&#xff0c;并进行chap认证 2整个0SPF环境IP基于172.16.0.0/16划分; 3所有设备均可访问R5的环回; 4减少LSA的更新量&#xff0c;加快收敛…...

Linux 入门:基础开发工具(下)git,cgdb操作指南

目录 一.进度条 一&#xff09;.补充&#xff1a;回车与换行 二&#xff09;.行缓冲区 三&#xff09;.进度条代码 二.版本控制器Git 一&#xff09;.Git 安装与配置 二&#xff09;.创建仓库 三&#xff09;.开始操作 1.简单流程 2.配置公钥 1&#xff09;.身份…...

【上位机——MFC】消息映射机制

消息映射机制 Window消息分类消息映射机制的使用代码示例 MFC框架利用消息映射机制把消息、命令与它们的处理函数映射起来。具体实现方法是在每个能接收和处理消息的类中&#xff0c;定义一个消息和消息函数指针对照表&#xff0c;即消息映射表。 在不重写WindowProc虚函数的大…...

提交bug单时,应该说明哪些信息?

在提交 Bug 单时&#xff0c;为了让开发人员能够快速定位和解决问题&#xff0c;需要详细说明以下几方面信息&#xff1a; Bug 的基本信息 标题&#xff1a;简洁明了地概括 Bug 的主要问题&#xff0c;例如 “登录页面输入错误密码后提示信息不准确”。Bug 类型&#xff1a;明确…...

max31865典型电路

PT100读取有很多种方案&#xff0c;常用的惠斯通电桥&#xff0c;和专用IC max31865 。 电阻温度检测器(RTD)是一种阻值随温度变化的电阻。铂是最常见、精度最高的测温金属丝材料。铂RTD称为PT-RTD&#xff0c;镍、铜和其它金属亦可用来制造RTD。RTD具有较宽的测温范围&#x…...

【网工第6版】第4章 无线通信网

目录 ■ 移动通信与4G 5G技术 ▲ 移动通信发展 ▲ 移动通信制式 ▲ 移动通信技术标准 ▲ 4G标准 ▲ 4G关键技术 ◎ OFDMA ◎ 4G关键技术-MIMO ◎ 4G关键技术-SDR ◎ 4G关键技术-VolP ▲ 5G应用场景 ▲ 5G两种组网模式 ▲ 5G关键技术 ■ CDMA计算 ■ WLAN通信技术…...

辅助函数构造题目(缓慢更新,遇到更道)

题1...

图论基础:图存+记忆化搜索

图的储存 储存图有很多种方式&#xff0c;在此介绍两种&#xff1a;邻接数组&#xff0c;邻接表 第一种虽然简单&#xff0c;但访问的时间和空间花销过大&#xff0c;因此第二种最为常见。 让我们分别看看它们是什么 在介绍之前&#xff0c;我们先解释一下此处说的“图”是什…...

使用docker任意系统编译opengauss

使用docker任意系统编译opengauss 本人使用开发机器为ubuntu系统&#xff0c;不在官方推荐的编译系统内。但是不想为了开发opengauss重装系统。所以采用docker进行编译。 代码拉取 本人是在/home/yuyang/Documents/opengauss目录下进行操作。 先获取源代码:git clone https:/…...

JavaScript 一维数组转二维数组

题目描述&#xff1a; <script>const num [1,2,3,4]const out (function(num,m,n){if(num.length ! m*n){return []}const newarr []for(let i 0;i<m;i){newarr.push(num.slice(i*n,(i1)*n))}return newarr})(num,2,2)console.log(out)</script>不使用Stri…...

C#进阶学习(八)常见的泛型数据结构类(3)SortedDictionary<TKey, TValue>与SortedList<TKey, TValue>

目录 关于默认的排序可以看这篇文章的第二点中关于排序的部分&#xff1a; 一、SortedDictionary 1. 核心特性 2. 常用方法和属性 二、SortedList 1. 核心特性 2. 常用方法和属性 三、关于TryGetValue(TKey key, out TValue value) 方法的详细说明 &#xff08;一&…...

运维侠职场日记9:用DeepSeek三天通关详解自动化操作pdf批量提取PDF文字将PDF转Word文档(附上脚本代码)

一. 痛点 运维侠小白想将pdf文档转换成word文档,但是,wps等等这些软件的转换功能都是要付费,开通会员,这该怎么办?听说python也有这个功能于是迫不及待想学… 学会基础,学习的乐趣一点点积累 基础学习成本低,掌握所需的技能要求也少,学会一两行代码,看着输出,心理慢…...

热门算法面试题第19天|Leetcode39. 组合总和40.组合总和II131.分割回文串

39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明&#xff1a; 所有数字&#xff08;包括 ta…...

IDEA连接达梦数据库

1. 参考在IDEA中连接达梦数据库&#xff1a;详细配置指南_idea连接达梦数据库-CSDN博客 . jdbc:dm://127.0.0.1:5236?schemaSALES...

React Router V7使用详解

1,安装 React Router是React生态系统中最流行的路由解决方案,它允许开发者在单页应用的不同页面之间进行切换,而不需要重新加载整个页面,React Router与React框架深度集成,使得开发者在单页面应用中进行页面切换时变得轻而易举。 作为官方推荐的路由解决方案,React Rou…...

国际数据加密算法(IDEA)详解

以下是修正后的准确版本,已解决原文中的术语、符号及技术细节问题: ​国际数据加密算法(IDEA)​ IDEA是一种分组加密算法,由Xuejia Lai(来学嘉)和James Massey于1990年设计。IDEA使用128位密钥对64位明文分组进行加密,经过8轮迭代运算后生成64位密文分组。其安全性基于…...

2025年4月19日-米哈游春招笔试题-第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 魔法网格变换术 问题描述 在魔法学院,卢小姐正在研究一种特殊的魔法网格变换术。这种魔法作用于一个 n n n...

基于STM32串口通信

基于STM32串口通信 一、串口简介 串口&#xff0c;也称为串行接口或串行通信接口&#xff08;通常指COM接口&#xff09;&#xff0c;是一种采用串行通信方式的扩展接口。它实现了数据一位一位地顺序传送&#xff0c;具有通信线路简单、成本低但传送速度慢的特点。 只要一对传…...

即梦AI与可灵AI视频生成功能对比分分析

一、核心功能与特点对比 维度可灵AI&#xff08;快手旗下&#xff09;即梦AI&#xff08;字节跳动旗下&#xff09;视频生成能力✅ 支持最长3分钟视频生成&#xff08;通过续写功能&#xff09;✅ 1080p分辨率、30fps帧率✅ 物理模拟&#xff08;流体运动、重力效果&#xff0…...

【任务调度】Quartz入门

Quartz 入门 代码仓库地址&#xff1a; GitHub&#xff1a;chenmeng-test-demos/demo8-task at master cmty256/chenmeng-test-demosGitee&#xff1a;demo8-task chenmeng/chenmeng-test-demos - 码云 - 开源中国 基本介绍 Quartz 是一个开源的作业调度框架&#xff0c;它完…...

【网络编程】从零开始彻底了解网络编程(二)

本篇博客给大家带来的是网络编程的知识点,. &#x1f40e;文章专栏: JavaEE初阶 &#x1f680;若有问题 评论区见 ❤ 欢迎大家点赞 评论 收藏 分享 如果你不知道分享给谁,那就分享给薯条. 你们的支持是我不断创作的动力 . 王子,公主请阅&#x1f680; 要开心要快乐顺便进步 1. …...

常见浏览器 WebDriver 驱动下载

以下是常见浏览器 WebDriver 驱动的下载地址及注意事项&#xff0c;综合多个可靠来源整理而成&#xff1a; 一、Chrome 浏览器&#xff08;ChromeDriver&#xff09; 官方下载地址 http://chromedriver.storage.googleapis.com/index.html • • 版本匹配&#xff1a;需与 Chro…...

【每日八股】复习计算机网络 Day3:TCP 协议的其他相关问题

文章目录 昨日内容复习TCP 的四次挥手&#xff1f;TCP 为什么要四次挥手&#xff1f;在客户端处于 FIN_WAIT_2 状态时&#xff0c;如果此时收到了乱序的来自服务端的 FIN 报文&#xff0c;客户端会如何处理&#xff1f;何时进入 TIME_WAIT 状态&#xff1f;TCP 四次挥手丢了怎么…...

大模型在胆管结石(无胆管炎或胆囊炎)预测及治疗方案制定中的应用研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的 1.3 国内外研究现状 二、胆管结石相关理论基础 2.1 胆管结石概述 2.2 临床表现与诊断方法 2.3 传统治疗方法 三、大模型技术原理与应用优势 3.1 大模型基本原理 3.2 在医疗领域的应用潜力 3.3 用于胆管结石预测的可…...

LeetCode第159题_至多包含两个不同字符的最长子串

LeetCode 第159题&#xff1a;至多包含两个不同字符的最长子串 题目描述 给定一个字符串 s&#xff0c;找出 至多 包含两个不同字符的最长子串 t&#xff0c;并返回该子串的长度。 难度 中等 题目链接 点击在LeetCode中查看题目 示例 示例 1&#xff1a; 输入: s &qu…...

PG CTE 递归 SQL 翻译为 达梦版本

文章目录 PG SQLDM SQL总结 PG SQL with recursive result as (select res_id,phy_res_code,res_name from tbl_res where parent_res_id (select res_id from tbl_res where phy_res_code org96000#20211203155858) and res_type_id 1 union all select t1.res_id, t1.p…...

JavaScript 位掩码常量教程

JavaScript 位掩码常量教程 位掩码&#xff08;Bitmask&#xff09;是一种高效使用内存的技术&#xff0c;在JavaScript中可以用来存储和操作多个布尔值标志。下面我将为您介绍位掩码的基本概念、应用场景以及实践示例。 什么是位掩码常量&#xff1f; 位掩码利用二进制位&a…...

Linux守护进程

一、相关概念 QQ邮箱关于三种协议的解释&#xff1a;SMTP/IMAP服务 1.SMTP协议 SMTP&#xff08;​​Simple Mail Transfer Protocol​​&#xff0c;简单邮件传输协议&#xff09;是一种用于发送电子邮件的互联网标准。它在TCP/IP协议族中&#xff0c;通常使用25端口进行通…...