小小万事屋

一个似乎什么都想做的网站

前言

首先声明,这是个整活。

想起来一个常见的题目:在一个数组中找到三个和为$x$的组合,并且去重。相信在座的各位大佬都已经不屑一顾了。最经典的三指针做法,核心就是先排序,然后暂时固定一个数字,剩下的两个数字用双指针从两边往中间缩,整体就是一个$O(n^2)$。

很多面试官当然也就摒弃那种暴力搜索方案,因为三个确实就是$O(n^3)$,时间消耗非常让人绝望。但是,暴力的代价真的很大嘛?

所谓力大砖飞,自然也就是矩阵运算了。

阅读全文 »

前言

在神经网络中,我们往往会根据数据集构建训练集、测试集,有时会有验证集。但是,在构建完成后,如果直接将这些数据直接扔进模型训练,输入输出上可能会对不上。

例如,如果我的数据集是 维数组作为 维数组作为 ,测试集也是等长度的 维数组,这个时候完全不需要在意输入输出问题。但如果数据集是 维数组,每条数组长度为 为整数),而且 均不相等,最终结果却需要为每个 生成一个 ,这就明显对不上。

因此,在这种情况下, 的长度需要额外的修整。该怎么做呢?

阅读全文 »

前言

上一篇文章中,我们探讨了如何自定义LLM类。但是看到最新的LangGraph版本中,主要利用的是OpenAI或者ChatOpenAI,并使用了ChatOpenAI独有的bind_tool方法,使得图结构有了更为丰富的动作与功能,这让我非常眼红。于是本文就探讨了OpenAI或者ChatOpenAI包装自定义LLM的方法。

阅读全文 »

前言

现在有一个新的需求,要把MindIE部署的大模型封装成 LLM。于是我就摸索了一下。

本文从MindIE的简介开始逐步介绍如何自定义封装。有关MindIE的详细介绍就在后续单开一章,因为东西太多了。

另:本章代码已开源到代码库,对应库中的llms/custom/cmdi.py

阅读全文 »

前言

在实际开发中,根据业务拼接SQL所需要考虑的内容太多了。于是,有没有一种办法,可以像MyBatisPlus一样通过配置注解实现SQL注入呢?

就像是:

1
2
@mybatis.select("select * from user where id = #{id}")
def get_user(id): ...

那可就降低了好多工作量。

P.S.:本文并不希望完全复现MyBatisPlus的所有功能,能够基本配置SQL注解就基本能够完成大部分工作了。

阅读全文 »

前言

在工作中遇到了一个相当奇怪的要求。一开始,每个人自由组队完成任务,有些人超额完成,有些人未能完成,因此分数有多有少。为了能够尽可能多地减少工作量,需要重新分配队伍,实际上就是相互挂名,最后结算的时候抬过分数线。而有一个更奇怪的要求,就是组里面挂了名字之后,分数会被新来的平均分摊,多的人会变少,少的人会变多。

这下强度一下就上来了。

阅读全文 »

前言

AlmaLinux安装VSCode之后始终没有找到如何用右键菜单打开VSCode,比Windows麻烦多了。每次都需要先找到文件夹,然后用系统自带的Open In Terminal打开终端,再输入code .,才能够在当前文件夹中快速打开VSCode。那么,有没有稍微快一点的办法?

前排感谢Xfce社区的各位大佬,给出了相当丰富的解决方案。

阅读全文 »