NLP发展历程阶段 1:古典 NLP(规则与统计时代)—— 你现在面对的xx老系统
代表技术: 正则表达式、TF-IDF、BM25(关键词匹配)、分词器(Jieba)。
商业局限: 必须字面完全命中。客户问“苹果手机怎么退货”,系统搜“iPhone 售后”是搜不到的。维护成本极高,需要像你这样的人工去一个个配置“相似问题”。
阶段 2:现代 NLP(深度学习与静态词向量)—— 技术的觉醒
...
RAG是什么RAG是(Retrieval Augmented Generation)的缩写,Retrieval:检索,特制从数据库或系统中搜索;Augmented 增强的
连起来就是通过自有垂域数据库检索相关信息,然后合并成为提示模板,给大模型润色生成回答。通俗一点,就是让大模型“先查资料,再生成回答”。
为什么要RAG
大模型知识库不一定最新,有知识截止日期,熟悉的都懂,不做介绍了,RAG...
最近发现自己的回溯算法,图论相关完全是一坨狗屎,遂记录一下
46. 全排列给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。
示例 1:
12输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]
12345678910111213141516171819...
连接二进制表示可形成的最大数值给你一个长度为 3 的整数数组 nums。
现以某种顺序 连接 数组 nums 中所有元素的 二进制表示 ,请你返回可以由这种方法形成的 最大 数值。
注意 任何数字的二进制表示 不含 前导零。
想到了一点排序,但是不知道怎么排,就暴力做了,很蠢的先把每个数转化为二进制字符串,再依次连接比较大小
1234567891011class Solution ...
基础数据结构SDSSimple Dynamic String,简单动态字符串,由于C语言内置的字符串底层是字符数组,有诸多不爽的点:二进制不安全(读取时以\0结尾,若字符串本身带有\0字符,则读到这个字符就结束了)、不能动态扩容(就像Java的String一样,不可变)、获取字符串长度需要遍历到结束字符。
所以Redis的作者做了些许改进,自定义了SDS结构,Header存储字符串长度,申请...
概述在一个Service中含有事务的方法里调用另一个Service有事务的方法时,此时BService中的事务被传播到了AService,这就是事务的传播
12345678910111213@Servicepublic class AService { @Autowired private BService bservice; @Transanct...
简介WebSocket 是一种计算机通信协议,为 Web 应用程序提供了全双工通信通道。它是为了克服 HTTP 协议的一些局限性而设计的,特别是 HTTP 是单向的——客户端请求,服务器响应。在 WebSocket 连接中,客户端和服务器之间的通信是持续的,可以相互发送消息,而不必每次都重新建立连接。
握手过程: WebSocket 连接从 HTTP 请求开始,客户端发起一个 HTTP 请求...
TCP
ACK 始终表示接收方期望收到的下一个字节序号,而 SEQ 表示发送方当前发送数据段的字节序号。
全连接队列 (Accept Queue)存储已经完成三次握手并建立的 TCP 连接,但还没有被应用程序 accept() 调用接收的连接。
当 TCP 连接建立成功后,三次握手完成,连接就被放入全连接队列中,等待服务器应用程序调用 accept() 来取出这个连接。连接一旦从全连接队列...
快速排序123456789101112131415161718192021222324252627282930public static void main(String[] args) { int[] nums = {5, 7, 3, 1, 9, 6, 4, 2, 8}; quick_sort(nums, 0, nums.length - 1); ...
前言本文是对一年前学的伯克利的CS61B课程的project2:gitlet项目的一次回顾和总结,github连接
Gitlet总体介绍Gitlet是UCB CS61b课程中的一个项目,实现了简化版的git,支持add,commit,log,checkout,merge等操作。git是一个分布式的版本控制工具,如果想要了解更多的git知识,请点击git官网查看。
Gitlet原理原理上git...