后端技术进阶知识总结

前端开发、后端开发、AI算法与应用等技术进阶知识总结

前言

本文不记录基础性问题和详细解决方案。只记录key idea。

1.前端开发

2.后端开发

  1. 依赖注入(Dependency Injection,简称DI)是一种设计模式,用于实现控制反转(Inversion of Control,简称IoC)。在依赖注入中,对象的依赖关系不是在代码中直接创建的,而是通过外部容器(如Spring、ASP.NET Core等)来管理的。
    在传统的编程中,对象的依赖关系通常在代码中直接创建。例如,在一个类中,你可能直接创建另一个类的实例,或者使用构造函数或方法参数来获取另一个类的实例。这种方式可能会导致代码的耦合度增加,使得代码难以测试和维护。
    依赖注入通过将对象的依赖关系从代码中分离出来,由外部容器来管理,从而降低了代码的耦合度。在依赖注入中,对象的依赖关系是通过构造函数参数、方法参数或属性来注入的。
    举个例子:C++需要自己释放对象管理内存,Java有JVM帮你管理对象释放内存,如果没有mybatis这些框架,那么你需要自己写连接与释放mysql连接,如果有,他会自动管理数据库连接的生命周期,包括创建连接、使用连接和关闭连接,在MyBatis中,连接池是通过SqlSessionFactory类来管理的。如果我们要用该方法,可以通过依赖注入的方式引入,即依赖注入通过将对象的依赖关系从代码中分离出来,由外部容器来管理,从而降低了代码的耦合度。(这段话其实解决了两个问题,1谁来管理数据库连接资源,2如何用到代码中即注入到代码框架中)

3.AI算法

3.1 Studio级别的AI工具使用

LLM: Large Language Model(Transformer)

1.Geogle Generative AI studio,Vertex AI,该AI内部连接了多模态、code等多个大模型,并开放了很多定制化设置,供用户使用。相比于纯ChatGPT这种工具,Vertex AI更像基于AI的工作平台

  • Vertex AI Studio:Multimodal、Language(text/tasks/code...)、Vision(video/image...)、Speech(audio...)

  • LLM prompt: Zero-shot prompting / One-shot prompting / Few-shot prompting

  • Prompt design:

    1.freedom:大模型直接问答

    2.structured(Context给出背景,Example给出想要的input和output,以规训重点,最后Test):大模型根据你的偏好,save一个特定大模型,回答你的问题

  • How to design Prompt(Prompt工程师):

    Be concise

    Specific and clearly-defined

    ask one task at once

    ask to classify instead of generate(要选择题最好不要发散式)

    include examples

  • temperature(概率分布): 对回答的随机程度进行调优, 0-1, 0是确定, 1是随机, 即越靠近0概率越大

    top K: 对回答的概率最高的一部分答案进行随机

    top P: 对回答的概率最高的答案进行累加,直到累加值达到top P,即对回答的概率最高的答案进行随机

  • 模型调优(Model tuning):

    How to customize and tune a gen AI model:

    越来越偏技术:

    1.Prompt design: Input(required) Context(optional) Example(optional)

    2.Adapter tuning(Parameters-efficient tuning): Fine-tuning a model on a specific task or dataset.监督,给出一小部分样本调优参数

    3.Reinforcement tuning(Parameters-efficient tuning): Fine-tuning a model on a specific task or dataset.非监督调优

    4.Distilling(Student model weight updates): 在Geogle cloud可以做, 可以更加生成特定模型。我理解就是迁移学习。

  • Difference between AI and Machine Learning:

    输出确定的、"旧的"东西,用学术的话,输出的是Number、Discrete、Class、Probability的,叫ML。

    能输出"新的"东西,用学术的话,输出的是Natural language、Image、Audio(即所谓的非结构化数据),叫GEN AI。

    举个例子,如果输入猫狗图片,且每张图片label是文字"猫"、文字"狗"。训练后模型最后能预测猫狗,这叫ML。

    如果输入大量的猫狗图片,且按照你想要的方式进行训练(这里涉及到模型了,具体需不需要lable或者怎么lable有疑惑)。训练后模型最后能生成新的猫狗图片,这叫Gen AI。

  • AI Develop

    Data Security,开源的模型,私有化部署local AI(teacher student...)

相关推荐
老A的AI实验室26 分钟前
通俗理解Test time Scaling Law、RL Scaling Law和预训练Scaling Law
人工智能·深度学习·算法·chatgpt·llm·agi·rl
不能只会打代码36 分钟前
六十天前端强化训练之第一天HTML5语义化标签深度解析与博客搭建实战
前端·html·html5
OpenTiny社区1 小时前
Node.js技术原理分析系列——Node.js的perf_hooks模块作用和用法
前端·node.js
菲力蒲LY1 小时前
输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路
java·前端·mybatis
过客猫20221 小时前
使用 deepseek实现 go语言,读取文本文件的功能,要求支持 ascii,utf-8 等多种格式自适应
开发语言·后端·golang
刘立军2 小时前
本地大模型编程实战(20)用langgraph和智能体实现RAG(Retrieval Augmented Generation,检索增强生成)(4)
人工智能·后端·llm
不会吉他的肌肉男不是好的挨踢男2 小时前
保姆级! 本地部署DeepSeek-R1大模型 安装Ollama Api 后,Postman本地调用 deepseek
ai·大模型·api·ollama·deepseek·chatbox
翻滚的小@强2 小时前
LLM2CLIP论文学习笔记:强大的语言模型解锁更丰富的视觉表征
llm·clip·多模态大模型
MickeyCV2 小时前
Nginx学习笔记:常用命令&端口占用报错解决&Nginx核心配置文件解读
前端·nginx
jingwang-cs2 小时前
内外网文件传输 安全、可控、便捷的跨网数据传输方案
人工智能·后端·安全