在服务器的git配置
在多人共享的科研服务器上,且每个人有独立的用户账号,最安全、最方便的认证方式是配置 SSH 密钥。 因为你有自己的独立用户,你生成的密钥会保存在你自己的 ~/.ssh 目录下,其他用户无法访问,这样既保证了安全,又可以免密码进行 git pull 和 git push。 以下是完整的步骤指南: 第一步:在服务器上生成 SSH 密钥 使用你的账号通过 SSH 登录到服务器。 在终端中输入以下命令生成新的 SSH 密钥(推荐使用更安全的 ed25519 算法)。请将双引号内的邮箱替换为你注册 GitHub 使用的邮箱:1ssh-keygen -t ed25519 -C "your_email@example.com" 系统会提示你保存密钥的文件位置:1Enter file in which to save the key (/home/your_username/.ssh/id_ed25519): 直接按回车(Enter),使用默认路径即可。 系统会提示你输入 passphrase(密码短语):1Enter passphrase (empty for no pas...
adk-go-memory
adk-go Memory详解Memory 负责是“跨对话线程以后还能想起什么”。 在 adk-go 里,Memory 不是自动替你保存所有历史的魔法盒。它更像一个长期记忆服务接口:你把某个 Session 里的事件喂进去,后面再按用户问题把相关记忆查出来,交给 Agent 使用。 所以先把边界说清楚: Session 解决短期上下文,也就是同一个 sessionID 内的历史、状态和事件。 Memory 解决长期检索,也就是同一个用户跨多个 Session 的历史知识。 Runner 不会默认把每个 Session 自动写进 Memory,你需要在合适时机调用 AddSessionToMemory。 adk-go v1.0.0 内置的 memory.InMemoryService() 只是内存版关键词检索,不是生产级向量数据库。 如果你只是想让 Agent 接着上一轮聊,优先用 Session。只有当你希望“新开一个 Session 之后,Agent 还能检索过去的有用信息”,才需要 Memory。 Memory的核心接口adk-go 的长期记忆接口在 google.gol...
前端八股文
H5一、 html1. 行内元素。块级元素。空元素? 行内元素一行可以放很多个,(设置不了宽高) span、img、input、.. 块级元素一行只能放一个 h1、h2、div、ul、li、footer、header、p.. 空元素 br、hr、 2. 元素之间转换? 使用CSS的display属性 123display:inline // 转为行内display:inline-block // 行内块display:block // 块级元素 3. link 与 @import的区别 先有的link,后有@import link是标签,@import是一个Css文件中的语法,代表着引入另一个css @import只能写在css文件最上面 先加载link,后加载import 4. title与h1、b与strong、i与em的区别- title是:网站的标题,可以告诉搜索引擎这个网站有什么内容,对Seo而言title比h1更加重要 h1是显示在网页内容上的 b:单纯的给字加粗,实体标签 strong:可以加粗文字,并且强调字符。利于SEO。 i...
adk-go-session
adk-go Session详解如果说 Agent 决定了“怎么思考”,那么 Session 决定的就是“这次对话记住了什么”。在 adk-go 里,Session 不只是一个聊天 ID,它同时承担了会话历史、短期状态、运行上下文入口这三层职责。 很多人第一次看 ADK 时,会把 Session 和 Memory 混在一起。其实两者边界很清楚: Session 负责单次会话线程内的上下文、事件历史和状态。 Memory 负责跨 Session 的长期知识检索。 所以如果你要解释“为什么这个 Agent 能接着上一轮继续聊”,第一责任人通常不是 Memory,而是 Session。 Session 的内部成员先说一个 Go 里的关键点:adk-go 并没有暴露一个 Session struct 给你直接 new,而是暴露了一个 session.Session 接口。也就是说,框架更在意的是“Session 要提供什么能力”,而不是“你必须用哪一个具体结构体”。 官方暴露出来的核心接口如下: 123456789type Session interface { ID() ...
adk-go-agent
adk-go Agent 类详解ADK for Go 在 2026 年 3 月底发布 1.0 后,重心已经不只是“怎么写一个 Agent”,而是“怎么把 Agent 放进生产环境运行”。这篇文章按 1.0/1.1.x 的能力把几个关键点补齐:结构化工作流 Agent、Plugin/OTel 可观测性、Retry and Reflect 自愈、Human-in-the-Loop 工具确认流、YAML 配置化,以及多模态内容审核场景里的 SafetySettings。 基础接口在 ADK 框架中,agent.Agent 是所有 Agent 的基础接口。它定义了 Agent 的基本属性和运行逻辑: 123456type Agent interface { Name() string Description() string Run(InvocationContext) iter.Seq2[*session.Event, error] SubAgents() []Agent} 核心方法可以这样理解: Name() str...
Pyinstaller使用以及配置文件编写
PyInstaller 使用以及配置文件编写目录 PyInstaller 使用以及配置文件编写 目录 1. 什么是 PyInstaller 1.1 PyInstaller 简介 1.2 PyInstaller 的常用指令 2. PyInstaller 配置文件(spec 文件) 2.1 什么是 spec 文件 2.2 Spec 文件结构 2.3 Analysis 分析阶段 2.3.1 入口脚本 (scripts) 2.3.2 数据文件 (datas) 与二进制文件 (binaries) 2.3.3 隐藏导入 (hiddenimports) 2.3.4 钩子路径 (hookspath) 2.3.5 排除模块 (excludes) 2.3.6 collect_all() 自动收集 2.4 PYZ 阶段 2.4.1 基本用法 2.4.2 参数说明 2.5 EXE 阶段 2.5.1 基础参数 2.5.2 参数详细介绍 2.6 COLLECT 阶段 2.6.1 基本用法 2.6.2 参数说明 2.6.3 upx_exclude - 排除某些文件的压缩 3. 总结 ...
pt模型转为tfjs的一种参考方法
.pt模型转为tfjs的一种参考方法前排提醒仅方法仅实践于windows系统下的yolo8与yolo12的情况,其余情况可行性有待验证。 情景个人需要将模型嵌进expo go中需要使用tfjs格式的模型,根据网络教程打算采用.pb转onnx转savemodel转tfjs的方法,但转出来的模型总会报错。猜测是windows不能使用tensorflowjs 的 Python 转换器会 import tensorflow_decision_forests(TF-DF),而 TF-DF 在 Windows 没有 pip 版本(没有那个 inference.so),所以就直接炸了inference.so not found。官方文档也写明了 Windows 上没有 TF-DF 的 Pip 包 解决方案既然windows行不通,那就用linux。使用docker中的linux容器进行模型转换。 编写Dockerfile文件创建对应容器12345678910111213141516171819202122232425262728293031dockerfileFROM python:3.10-...
查无此人
査此无人 ——查无此人小姐异闻录 “查无.此人女士,我们现在确定了——您失忆了。”这位白大街的医生拿着一张X光片看了看,如实说道。 “那医生,我该怎么办呢?”医生面前这位留着长发的女士便是梦想成为世界顶流小说家的查无.此人.不过十分戏剧性的是,正当她要着手写出她惊世骇俗的第一部小说时,她失忆了,连同构思好的故事一起丢失了。 “不必着急,女士。您只需要好好地活着,记忆自己便会来找你。”白大街打发走了此人女士。 回想着医生说的话,此人小姐半信半疑地走出了医院,开始向家的方向赶去。今天是星期日,纵然失去了记忆,但查无.此人小姐并不想因此而错付了美好的周日。她从昨天下了班就开始归划今日份的计划了:从医院回来,如果回家收拾好东西后,离中午还早便先去离家不远的小花园逛一逛,春天到了,那里五颜六色的花朵是都已然开了的。然后中午再从小花园出发向东边的小咖啡馆,在那里度过一下悠闲的下午后,就可以回家写小说了。 “不过,已经失忆了,就写不了小说了呢。那就看一看电视好了。”此人小姐暗暗想着,改变了计划。不一会儿,此人小姐到了家。她将医院带回来的东西收拾好,看一看钟表——10:15。查无此人小姐换上了她...
gin的使用
gin的使用简介Gin 是一个用 Go 语言编写的高性能 HTTP Web 框架,特别适合需要高并发和快速响应的 Web 应用程序 1go get -u github.com/gin-gonic/gin gin框架中的路由创建gin 路由器12r := gin.Default()// 创建一个默认的 Gin 路由器r.Run(":8080")// 启动服务器,监听 8080 端口 不同的请求方式GETGET请求用于从服务器获取资源,一般为查询语句使用 1r.GET("url",Middleware,Callback)//参数为url,中间件(匹配路由前后的操作),回调函数(请求处理) POSTPOST请求用于新建资源,一般是创建、注册语句使用 1r.POST("url",Middleware,Callback) PUTPUT请求用于更新资源,一般是更新语句使用 1r.PUT("url",Middleware,Callback) DELETEDELETE请求用于删除资源,一般是删除语句使用 1...
gorm使用
gorm使用数据库链接以及配置dns设置与数据库链接12345678910111213dns := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=%s&parseTime=true", username,//用户名 password,//用户密码 host,//ip port,//端口 database,//数据库名称 charset//字符集 ) //使用tcp链接的dns(用于数据库链接)db, err := gorm.Open(mysql.Open(dns), &gorm.Config{})/*Open的第一个参数是确定链接的数据库类型并提供相应的dns,除了mysql还有postgres、sqlite、sqlserver第二个参数用来配置GORM的行为,比如设置数据库连接池的大小、日志级别、命名策略等*/ 连接池的配置1234567func (db *DB) SetConnMaxIdleTime(d time.Duration) //...
