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

2025年AI搜索引擎开源项目全景指南:从核心框架到生态工具

2025年AI搜索引擎开源项目全景指南:从核心框架到生态工具

在人工智能技术迅猛发展的当下,开源项目已成为构建AI搜索引擎的核心驱动力。本文整理9个具有代表性的开源项目,涵盖搜索框架、扩展生态及底层支持技术,助你快速搭建或优化AI搜索引擎系统。


一、核心框架:构建搜索能力的基石
  1. FreeAskInternet
    特点:零API成本+隐私优先设计,支持Google/Bing/DuckDuckGo多引擎聚合搜索,通过RAG技术增强答案质量。
    技术亮点
    ◦ 完全本地化部署,支持Ollama本地模型(如Llama3.3)
    ◦ 企业级扩展能力,可接入Confluence/Notion等内部知识库
    ◦ 透明化流程展示搜索来源链,支持GDPR合规模式
    适用场景:企业私有化部署、医疗/金融等数据敏感行业。

  2. MindSearch
    特点:多智能体并行框架,支持动态问题拆解和知识图谱扩展。
    突破性功能
    ◦ 异步处理复杂查询,准确率超越Perplexity Pro
    ◦ 提供React/Gradio/Streamlit三套交互界面
    ◦ 测试中的图像搜索与文本生成联动功能
    优势:学术研究、需要高灵活性的开发者。

  3. SciPhi.ai
    定位:工业级RAG平台,支持PDF/音频/视频等20+文件类型的混合检索。
    核心能力
    ◦ 集成HyDE、XQ等算法提升搜索相关性
    ◦ 内置A/B测试和性能监控模块
    ◦ 一键部署至AWS/Azure/GCP云环境

  4. Perplexica
    创新点:结合相似性搜索与嵌入技术,提供六种焦点模式(学术/Reddit/YouTube等)。
    亮点:基于SearxNG实现实时数据更新,支持本地LLM调用。

  5. isou.chat
    特色:开箱即用的聚合型引擎,零代码接入GPT-4o/Claude等模型。
    适用性:快速原型验证、小型团队或个人开发者。


二、扩展生态:增强搜索场景的利器
  1. DeepSeek Integrations
    项目集:包含30+成熟应用,如:
    ◦ SwiftChat:跨平台AI对话工具,支持实时流式响应
    ◦ ChatDoc:文档溯源问答系统
    ◦ IntelliBar:Mac端邮件/网页内容增强搜索

  2. Jina AI
    技术价值
    ◦ 多模态嵌入式检索(文本/图像/音视频)
    ◦ 单集群支持PB级数据处理,延迟<200ms
    案例:已应用于沃尔玛商品搜索、华为云知识库。


三、底层技术:优化性能的关键
  1. Timescale
    突破
    ◦ 将PostgreSQL查询速度提升350倍
    ◦ 支持向量搜索与时间序列数据联合分析
    适用场景:物联网设备搜索、实时数据分析。

  2. E2B Sandbox
    功能:为AI生成代码提供隔离环境,150ms极速启动。
    典型应用:实时数据清洗、搜索日志分析。


四、行业趋势与选型建议
  1. 技术趋势
    多模态交互:MindSearch等项目的图像-文本联动搜索
    低成本化:DeepSeek的FlashMLA技术降低75%GPU成本
    合规增强:GDPR/等保2.0适配成为标配

  2. 选型指南

    需求场景推荐项目核心优势
    企业数据隐私FreeAskInternet本地化+多引擎聚合
    学术研究MindSearch知识图谱可视化
    多模态处理SciPhi.ai20+文件格式支持
    快速验证isou.chat零代码接入GPT-4o

以下为补充完善后的文章内容,新增第四部分实战演练,包含Python代码示例与详细操作流程:


四、实战演练:Python代码示例与操作流程
示例1:FreeAskInternet本地知识库查询
# 安装依赖
!pip install freeaskinternet ollama# 启动本地Ollama服务(需提前下载Llama3模型)
import ollama
ollama.pull('llama3:8b')  # 下载8B参数版本
ollama.serve(port=11434)  # 启动本地推理服务# 配置FreeAskInternet
from freeaskinternet import SearchAgentagent = SearchAgent(search_engines=["google", "bing"],  # 启用双引擎llm_endpoint="http://localhost:11434",  # 本地模型rag_threshold=0.65  # RAG相关性阈值
)# 执行医疗领域查询(GDPR合规模式)
response = agent.query("急性心肌梗塞的黄金抢救时间是多少?",focus_domains=["medical"],gdpr_mode=True  # 启用匿名化处理
)print(f"答案:{response.answer}")
print("来源文献:")
for source in response.sources[:3]:  # 显示Top3来源print(f"- {source.title} ({source.url})")

操作流程

  1. 在Linux服务器部署Docker环境
  2. 执行docker run -d -p 11434:11434 ollama/ollama启动容器
  3. 通过ollama pull llama3:8b下载模型
  4. 配置Nginx反向代理实现HTTPS加密
  5. 运行Python脚本触发搜索任务
示例2:Jina AI多模态搜索
from docarray import Document, DocumentArray
from jina import Client# 创建多模态数据集
docs = DocumentArray([Document(text="自动驾驶技术原理", uri="https://example.com/ai-car.mp4",tags={"category": "tech"}),Document(text="2025年量子计算机进展",uri="https://example.com/quantum.pdf")
])# 连接到Jina云服务
client = Client(host="grpc://api.jina.ai:54321") # 执行跨模态检索
results = client.search(docs[0],  # 以视频文档为查询主体limit=3,filter={"tags": {"category": {"$eq": "tech"}}},  # 过滤条件show_progress=True
)# 输出相似结果
for match in results.matches:print(f"相似度:{match.scores['cosine'].value:.2f} - {match.text}")

关键参数说明

  • filter:支持MongoDB语法过滤
  • show_progress:实时显示处理进度条
  • limit:返回结果数量上限
示例3:TimescaleDB时序向量搜索
import psycopg2
import numpy as np# 连接数据库
conn = psycopg2.connect(dbname="timescale",user="postgres",password="your_password",host="localhost"
)# 创建混合索引
with conn.cursor() as cur:cur.execute("""CREATE TABLE sensor_data (time TIMESTAMPTZ NOT NULL,embedding vector(768),location INT);SELECT create_hypertable('sensor_data', 'time');CREATE INDEX ON sensor_data USING ivfflat (embedding vector_cosine_ops);""")
conn.commit()# 插入测试数据
embedding = np.random.rand(768).tolist()
with conn.cursor() as cur:cur.execute("INSERT INTO sensor_data VALUES (%s, %s, %s)",(datetime.now(), embedding, 102))# 执行联合查询
with conn.cursor() as cur:cur.execute("""SELECT time, location FROM sensor_dataWHERE embedding <=> %s < 0.2  # 余弦相似度阈值AND time > now() - interval '1 day'ORDER BY time DESCLIMIT 10;""", (embedding,))print(cur.fetchall())

性能优化建议

  1. 使用timescaledb-parallel-copy工具批量导入数据
  2. 调整chunk_time_interval参数优化分区大小
  3. vector字段启用并行索引构建

五、行业趋势与选型建议(更新)

新增开发复杂度评估

项目名称部署难度代码定制需求社区活跃度
FreeAskInternet★★☆☆☆需修改配置GitHub 2k+ star
MindSearch★★★★☆需二次开发内部团队维护
SciPhi.ai★★★☆☆低代码配置企业级支持
Timescale★★☆☆☆SQL级调整商业+开源混合

:运行代码前需确保:

  1. Python 3.8+环境
  2. 至少16GB内存
  3. NVIDIA GPU(推荐RTX 3090以上)
结语

从隐私优先的FreeAskInternet到多模态王者Jina AI,开源社区为AI搜索提供了丰富选择。开发者可根据场景需求组合技术栈——例如使用Timescale优化数据存储,搭配MindSearch构建智能体框架。建议访问GitHub专题页探索更多项目,或通过[DevFace转ai]存,https://dev源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fdevface.ai%2Fqr%2Fai-search-demo&pos_id=img-Eface.ai)跟踪最新技术动态。

扩展阅读

  • AI搜索引擎技术白皮书
  • 2025年Gartner搜索技术成熟度报告(需企业邮箱申请)

相关文章:

2025年AI搜索引擎开源项目全景指南:从核心框架到生态工具

2025年AI搜索引擎开源项目全景指南&#xff1a;从核心框架到生态工具 在人工智能技术迅猛发展的当下&#xff0c;开源项目已成为构建AI搜索引擎的核心驱动力。本文整理9个具有代表性的开源项目&#xff0c;涵盖搜索框架、扩展生态及底层支持技术&#xff0c;助你快速搭建或优化…...

数字孪生像魔镜,映照出无限可能的未来

在当今科技飞速发展的时代&#xff0c;数字孪生作为一项极具潜力的前沿技术&#xff0c;正逐渐崭露头角&#xff0c;成为众多领域关注的焦点。它犹如一面神奇的魔镜&#xff0c;以数字化的方式精准映照出现实世界中的各种实体与系统&#xff0c;为我们开启了一扇通往无限可能未…...

PDF Reader

Acrobat Reader...

C++友元

1.什么是友元&#xff1f; 当我们需要在类的外部访问该类的私有成员和保护成员时&#xff0c;就可以利用友元来实现这一操作 在类中用 friend 关键字对函数或类进行声明 2.非成员函数友元 友元函数不是当前类的成员函数&#xff0c;而是当前类的外部函数&#xff0c;但是他可以…...

吴恩达机器学习笔记复盘(五)均方误差函数

只讲了线性回归的代价函数。 均方误差&#xff08;Mean Squared Error, MSE&#xff09; 均方误差&#xff08;MSE&#xff09;基于最小二乘法&#xff0c;通过计算预测值与真实值之间差值的平方的平均值来衡量模型的误差。 原理 假设我们有一组数据集&#xff0c;其中是第…...

使用 Docker 部署前端项目全攻略

文章目录 1. Docker 基础概念1.1 核心组件1.2 Docker 工作流程 2. 环境准备2.1 安装 Docker2.2 验证安装 3. 项目配置3.1 项目结构3.2 创建 Dockerfile 4. 构建与运行4.1 构建镜像4.2 运行容器4.3 访问应用 5. 使用 Docker Compose5.1 创建 docker-compose.yml5.2 启动服务5.3 …...

珠算与珠心算发展简介

珠算是中华传统优秀文化的科学遗产&#xff0c;它是我国劳动人民的伟大创造&#xff0c;被誉为中国的第五大发明&#xff0c;至今已有 1800 余年的历史。 珠算&#xff0c;是以算盘为工具&#xff0c;用手指拨动算珠进行数值计算的一门计算技术。同时&#xff0c;珠算又是一门科…...

基于SSM + JSP 的水果蔬菜商城

基于ssm的水果蔬菜商城系统前台和后台&#xff08;源码安装视频数据库环境&#xff09;计算机项目程序设计管理系统java小程序网站商城 一.相关技术 Java、Spring、Springboot、MVC、Mybatis、MySQL、SSM框架、Web、HTML、maven、JavaScript、css、vue 二.部署配置 1.IntelliJ …...

基于深度学习的蛀牙智能检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】

《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...

Linux与深入HTTP序列化和反序列化

深入HTTP序列化和反序列化 本篇介绍 在上一节已经完成了客户端和服务端基本的HTTP通信&#xff0c;但是前面的传递并没有完全体现出HTTP的序列化和反序列化&#xff0c;为了更好得理解其工作流程&#xff0c;在本节会以更加具体的方式分析到HTTP序列化和反序列化 本节会在介绍…...

音视频入门基础:RTP专题(20)——通过FFprobe显示RTP流每个packet的信息

通过FFprobe命令&#xff1a; ffprobe -protocol_whitelist "file,rtp,udp" -of json -show_packets XXX.sdp 可以显示SDP描述的RTP流每个packet&#xff08;数据包&#xff09;的信息&#xff1a; 对于RTP流&#xff0c;上述的“packet”&#xff08;数据包&#…...

Java Web 大文件上传优化:从困境到高效

文章目录 Java Web 大文件上传优化&#xff1a;从困境到高效一、优化前的困境&#xff08;一&#xff09;内存占用问题&#xff08;二&#xff09;上传速度缓慢&#xff08;三&#xff09;稳定性欠佳 二、优化后的实现方案&#xff08;一&#xff09;客户端&#xff08;Vue&…...

C++——STL 常用的查找算法

算法简介&#xff1a; find //查找元素find_if //按条件查找元素adjacent_find //查找相邻重复元素binary_search //二分查找法count //统计元素个数count_if //按条件统计元素个数 1. find 功能描述&#xff1a; 查找指定元素&#xff0c;找到返回指定元素的迭…...

【一次成功】Win10本地化单机部署k8s v1.31.2版本及可视化看板

【一次成功】Win10本地化单机部署k8s v1.31.2版本及可视化看板 零、安装清单一、安装Docker Desktop软件1.1 安装前<启用或关闭Windows功能> 中的描红的三项1.2 查看软件版本1.3 配置Docker镜像 二、更新装Docker Desktop三、安装 k8s3.1 点击启动安装3.2 查看状态3.3 查…...

Vulkan视频解码decode显示display之同步

在ReleaseDisplayedPicture函数中消耗图片资源并且显示display完成&#xff0c;设置两个标志m_hasConsummerSignalFence true 和m_hasConsummerSignalSemaphore true virtual int32_t ReleaseDisplayedPicture(DecodedFrameRelease** pDecodedFramesRelease, uint32_t nu…...

专题|Python梯度提升实例合集:GBM、XGBoost、SMOTE重采样、贝叶斯、逻辑回归、随机森林分析信贷、破产数据...

全文链接&#xff1a;https://tecdat.cn/?p41051 分析师&#xff1a;Jiajie Shi&#xff0c;Yimeng Li 在当今数据驱动的时代&#xff0c;数据分析师和数据建模师面临着各式各样复杂且极具挑战性的任务。本专题合集便是围绕这些挑战展开的宝贵知识盛宴&#xff08;点击文末“阅…...

4.0 相机引导XY轴控制螺丝枪打螺丝

假如一个产品的同一水平上要打6个螺钉&#xff0c;是通过伺服XY轴移动带动相机以及螺丝枪&#xff0c;由相机拍照&#xff0c;根据拍照后螺丝孔位置来引导伺服进行移动以对准螺丝孔位置的。步骤如下&#xff1a; 一、9点标定&#xff0c;即把相机与伺服的实际位置关联起来。步骤…...

【ElasticSearch】学习笔记

一、lucene的组成 segment是一个具备完整搜索功能的最小单元。 多个segment组成了一个单机文本检索库lucene。 inverted index:倒排索引&#xff0c;用于快速根据关键词找到对应的文章term index: 构建出关键词的目录树&#xff0c;解决了term dictionary数据量过大&#xff…...

Spring Boot整合RabbitMQ极简教程

一、消息队列能解决什么问题&#xff1f; 异步处理&#xff1a;解耦耗时操作&#xff08;如发短信、日志记录&#xff09;流量削峰&#xff1a;应对突发请求&#xff0c;避免系统过载应用解耦&#xff1a;服务间通过消息通信&#xff0c;降低依赖 二、快速整合RabbitMQ 1. 环…...

代码随想录-04-字符串-03.替换数字

替换数字 题目 给定一个字符串 s&#xff0c;它包含小写字母和数字字符&#xff0c;请编写一个函数&#xff0c;将字符串中的字母字符保持不变&#xff0c;而将每个数字字符替换为number。 例如&#xff0c;对于输入字符串 “a1b2c3”&#xff0c;函数应该将其转换为 “anum…...

Tailwindcss开启黑夜模式

本篇讲述如何使用tailwindcss切换白天黑夜主题 tailwindcss自带的暗夜切换会比css自带的theme主体切换来得方便很多&#xff0c;学习成本也很低&#xff0c;只要求会用tailiwndcss 1&#xff0c;tailwindcss.config有两种暗夜模式切换&#xff0c;媒体查询和手动类切换。手动控…...

AI与人的智能,改变一生的思维模型【7】易得性偏差

目录 **易得性偏差思维模型&#xff1a;大脑的「热搜算法」与反操纵指南****病毒式定义&#xff1a;你的大脑正在被「热搜」劫持****四大核心攻击路径与史诗级案例****1. 信息过载时代的「认知短路」****2. 媒体放大器的「恐怖滤镜」****3. 个人经验的「数据暴政」****4. 社交茧…...

有序表--跳表

实现一种结构&#xff0c;支持如下操作&#xff0c;要求单次调用的时间复杂度O(log n) 1&#xff0c;增加x&#xff0c;重复加入算多个词频 2&#xff0c;删除x&#xff0c;如果有多个&#xff0c;只删掉一个 3&#xff0c;查询x的排名&#xff0c;x的排名为&#xff0c;比x小的…...

双指针---字符串替换数字(数字替换为“number“)

题目链接&#xff1a;替换数字 要求&#xff1a;时间复杂度为O(n) 思路&#xff1a; 1、先将字符串扩容到要输出串的长度。 2、从后向前替换数字字符&#xff0c;也就是双指针法&#xff0c;newIndex指向新长度的末尾&#xff0c;i指向旧长度的末尾。 #include<iostream&g…...

外星人入侵-Python-三

武装飞船 开发一个名为《外星人入侵》的游戏吧&#xff01;为此将使用 Pygame&#xff0c;这是一组功能强大而有趣的模块&#xff0c;可用于管理图形、动画乃至声音&#xff0c; 让你能够更轻松地开发复杂的游戏。通过使用Pygame来处理在屏幕上绘制图像 等任务&#xff0c;可将…...

JavaScript相关面试题

以下是150道JavaScript相关面试题及详细答案&#xff1a; JavaScript基础 1.JavaScript是什么&#xff1f; JavaScript是一种直译式脚本语言&#xff0c;主要用于网页开发&#xff0c;也可用于服务器端开发&#xff08;如Node.js&#xff09;。它是一种动态类型、弱类型、基于原…...

常见的数学模型

数学模型的基本原理 简单来说&#xff0c;数学模型就是用数学语言来描述现实世界中的现象或规律。它就像一个“翻译器”&#xff0c;把复杂的现实问题转化成我们可以用数学方法解决的问题。 核心思想&#xff1a; 简化现实&#xff1a;现实世界太复杂&#xff0c;模型会抓住最…...

计算机四级 - 数据库原理 - 第3章 「关系数据库系统概述」

3.1 关系数据库系统概述 关系数据模型的三大要素&#xff1a;关系数据结构、关系操作集合&#xff08;一次一个集合&#xff09;和关系完整性约束 1. 关系语言的特点是高度非过程化的, DBMS会自动帮用户选择存取路径&#xff0c;用户不需要依靠循环和递归完成数据的重复操作。…...

使用PHP进行自动化测试:工具与策略的全面分析

使用PHP进行自动化测试&#xff1a;工具与策略的全面分析 引言 随着软件开发的复杂性不断增加&#xff0c;自动化测试已成为确保软件质量的关键环节。PHP作为一种广泛使用的服务器端脚本语言&#xff0c;拥有丰富的生态系统和工具支持&#xff0c;使其成为自动化测试的理想选…...

discuz门户文章允许游客评论

discuz开启游客评论 1、进入后台&#xff0c;用户--用户组--系统用户组--游客--编辑 2、论坛相关 设置未允许发表回复 3、门户相关--文章评论字数(设置此用户组发表文章评论字数限制&#xff0c;设置为0将禁止此用户组发表评论) 4、验证游客回复 测试站 http://jinzhu.zhaowo.…...

AtCoder Beginner Contest 003(A - 社の給料、B -トランプ、C -プログラミング講座、D - 社の冬 )题目讲解

前言 又更新AtCoder Beginner Contes 的题目讲解啦!! 希望能给诸位带来帮助。 话不多说,开始讲解: A - 社の給料←题目翻译 为了解决这个问题,我们需要计算青木每月完成正好N个任务时的平均工资。通过分析,我们可以发现这个问题可以通过数学公式直接求解,而不需要复…...

代码随想录二刷|图论11

图论 一、基础知识 1 无向图 &#xff08;1&#xff09;度&#xff1a;一个顶点连n条边就度为n &#xff08;2&#xff09;权 加权无向图&#xff1a;有边长的无向图 &#xff08;3&#xff09;通道&#xff1a;两个顶点之间有一些边和点&#xff0c;并且没有重复的边 路…...

农资出入库登记本,农药化肥库存出入库软件,佳易王农资管理庄稼医院开单管理系统操作教程

一、概述 本实例以佳易王农资管理庄稼医院开单管理系统为例说明&#xff0c;其他版本可参考本实例。试用版软件资源可到文章最后了解&#xff0c;下载的文件为压缩包文件&#xff0c;请使用免费版的解压工具解压即可试用。 软件特点&#xff1a; 1、功能实用&#xff0c;操作简…...

串的KMP算法详解

KMP算法深度解析 一、从暴力匹配到智能跳转&#xff1a; 在文本编辑器的搜索功能中&#xff0c;当我们在百万字的文档中查找特定关键词时&#xff0c;传统暴力匹配算法的时间复杂度高达O(mn)。KMP算法通过独创的部分匹配表&#xff08;Partial Match Table&#xff09;&#x…...

软件测试之测试分类

1. 为什么要对软件测试进行分类 软件测试是软件⽣命周期中的⼀个重要环节&#xff0c;具有较⾼的复杂性&#xff0c;对于软件测试&#xff0c;可以从不同的⻆度 加以分类&#xff0c;使开发者在软件开发过程中的不同层次、不同阶段对测试⼯作进⾏更好的执⾏和管理测试 的分类⽅…...

机器学习 : 训练过程

文章目录 概要流程1 . 前向传播2 . 计算损失3 . 后向传播4 . 梯度下降 技术名词解释小结 【全文大纲】 : https://blog.csdn.net/Engineer_LU/article/details/135149485 概要 主要思想拟合数据 流程 1 . 前向传播 y func * (wxb) 2 . 计算损失 y - Y 3 . 后向传播 根据链式法…...

六十天前端强化训练之第二十天React Router 基础详解

欢迎来到编程星辰海的博客讲解 看完可以给一个免费的三连吗&#xff0c;谢谢大佬&#xff01; 目录 一、核心概念 1.1 核心组件 1.2 路由模式对比 二、核心代码示例 2.1 基础路由配置 2.2 动态路由示例 2.3 嵌套路由实现 2.4 完整示例代码 三、关键功能实现效果 四、…...

如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 旋转篇

文章目录 AVL树种旋转的规则右单旋右单旋代码左单旋左单旋代码左右双旋左右单旋的代码右左单旋右左单旋的代码 AVL树种旋转的规则 在AVL树中&#xff0c;旋转是为了保持树的平衡性。AVL树是一种自平衡的二叉搜索树&#xff0c;它要求每个节点的左右子树的高度差不能超过1。当插…...

C++Primer学习(7.1 定义抽象数据类型)

类的基本思想是数据抽象(data abstraction)和封装(encapsulation)。数据抽象是种依赖于接口(interface)和实现(implementation)分离的编程(以及设计)技术。类的接口包括用户所能执行的操作:类的实现则包括类的数据成员、负责接口实现的函数体以及定义类所需的各种私有函数。 封…...

Vue 3 Diff 算法深度解析:与 Vue 2 双端比对对比

文章目录 1. 核心算法概述1.1 Vue 2 双端比对算法1.2 Vue 3 快速 Diff 算法 2. 算法复杂度分析2.1 时间复杂度对比2.2 空间复杂度对比 3. 核心实现解析3.1 Vue 2 双端比对代码3.2 Vue 3 快速 Diff 代码 4. 性能优化分析4.1 性能测试数据4.2 内存使用对比 5. 使用场景分析5.1 Vu…...

启动桌面Docker提示虚拟服务未启动

在启动 Docker Desktop 时&#xff0c;可能会遇到以下提示&#xff1a; Docker Desktop - Virtual Machine Platform not enabled Virtual Machine Platform not enabled该错误通常是由于 Windows 未启用 “Virtual Machine Platform” 功能导致的&#xff0c;这是运行 Docker…...

【SpringBoot】实现登录功能

在上一篇博客中&#xff0c;我们讲解了注册页面的实现。在此基础上会跳转到登录页面&#xff0c;今天给大家带来的是使用 SpringBoot&#xff0c;MyBatis&#xff0c;Html&#xff0c;CSS&#xff0c;JavaScript&#xff0c;前后端交互实现一个登录功能。 目录 一、效果 二、…...

DataWhale 速通AI编程开发:(进阶篇)第3章 提示词(Prompts)配置项

学习网址&#xff1a;Datawhale-学用 AI,从此开始 3.1 Roo Code提示词配置了什么 众所周知&#xff0c;提示词&#xff08;Prompt&#xff09;是用户向大语言模型输入的一段文本&#xff0c;用于指导大语言模型生成符合用户要求的输出。在ai编程领域更是如此&#xff0c;提示…...

VUE中VNode(虚拟节点)是个啥?

用 JavaScript 生成 Virtual DOM&#xff08;VNode&#xff09; 在 Vue 中&#xff0c;Virtual DOM&#xff08;虚拟 DOM&#xff09;是一个用 JavaScript 对象表示真实 DOM 结构的抽象层。通过这种方式&#xff0c;Vue 可以通过比较 Virtual DOM 与真实 DOM 的差异来最小化更…...

力扣:3. 无重复字符的最长子串(滑动窗口)

3. 无重复字符的最长子串 - 力扣&#xff08;LeetCode&#xff09;3. 无重复字符的最长子串 - 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的 最长 子串 的长度。 示例 1:输入: s "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc"…...

注解+AOP实现权限控制

注解与AOP实战&#xff1a;实现权限控制 在现代Java开发中&#xff0c;注解&#xff08;Annotation&#xff09;和面向切面编程&#xff08;AOP&#xff09;是两种强大的技术&#xff0c;它们能够帮助我们实现代码的解耦&#xff0c;提高代码的可读性和可维护性。本文将通过一…...

2.5 python接口编程

在现代软件开发的复杂生态系统中&#xff0c;不同系统、模块之间的交互协作至关重要。接口编程作为一种关键机制&#xff0c;定义了组件之间的通信规范与交互方式。Python 凭借其卓越的灵活性、丰富的库资源以及简洁易读的语法&#xff0c;在接口编程领域占据了重要地位&#x…...

睡不着运动锻炼贴士

在快节奏的现代生活中&#xff0c;失眠似乎已成为许多人的“夜间伴侣”。夜晚辗转反侧&#xff0c;白天精神不振&#xff0c;这样的恶性循环让许多人苦不堪言。其实&#xff0c;除了调整作息和饮食习惯&#xff0c;适当的运动也是改善睡眠的一剂良药。今天&#xff0c;就让我们…...

【Python入门】一篇掌握Python中的字典(创建、访问、修改、字典方法)【详细版】

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;《Python/PyTorch极简课》_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目…...

深入理解 HTML 表单与输入

在网页开发的广袤领域中&#xff0c;HTML 表单如同搭建用户与服务器沟通桥梁的基石。它是收集用户输入信息的关键渠道&#xff0c;承载着交互的重任。今天&#xff0c;就让我们一同深入探索 HTML 表单与输入的奥秘。​ HTML 表单在文档中划定出一片独特的区域&#xff0c;这片…...