稀有猿诉

十年磨一剑,历炼出锋芒,说话千百句,不如码二行。

优雅的训服大模型:深入浅出Prompt技巧

ChatGPT以降,彻底引爆了AI,大模型进入了公众视野,每个人都可以享受AI带来的乐趣。大语言模型(Large Language Model LLM)虽然可以达到「类人」的水平,但仍需要以「大模型角度」去思考和对话才能最大限度的利用大模型的威力。这便是Prompt Engineer需要做的事情。今天就让我们学习总结一些Prompt技巧,以能优雅的训服大模型。

教你用最优雅的方式把玩大模型

人工智能(Artificial Intelligence)几乎与计算机科学一样古老,在二十世纪50年代被首次提出,在60年代就已经形成比较成熟的理论。但受制于算力和数据,直到二十一世纪第一个10年后才有了重大突破(深度学习和CNN),并在第二个10年正式爆发(大模型)。2022年秋OpenAI的ChatGPT 3横空出世,让AI第一次达到「类人」层次,大语言模型(Large Language Model, LLM)也正式进入了公众的视野。自此,大模型开始刷屏和霸榜,人们言必之大模型。如果不折腾折腾大模型,似乎就是原始人,跟别人聊天都插不上话。痛定思痛,今天就来好好研究下大模型以跟上步伐。

一文搞懂Kotlin符号处理接口KSP

Kotlin符号处理(Kotlin Symbol Processing)即KSP是可以用于开发轻量级编译器插件的一套API。是Kotlin原生的,Kotlin语法友好的编译器插件。使用简单且易于上手,可以实现一些非常强大的编译时代码处理功能,如代码生成和代码检查。今天就来学习一下KSP的基本原理,以及如何使用KSP API。

Kotlin Annotation Made Easy

注解(Annotations)允许我们在代码中添加元数据(Meta data),提供代码以外的信息,这些元数据可以在编译时被编译器或其他工具读取和处理。 Kotlin作为一种功能强大且易于使用的多范式通用编程语言,注解(Annotations)是其核心特性之一。在Kotlin中,注解的使用非常广泛,可以用于框架设计、代码生成、测试、依赖注入等多个方面。今天就来学习一下Kotlin中注解的使用方法。

Java Annotations Made Easy

在Java编程语言中,注解Annotations是一种元数据,能提供代码以外的信息,是元编程的一种体现形式。注解的引入极大的增强了Java语言的元编程能力,能在编译时生成代码,大大减少了重复代码,让Java具有了相当高的动态特性,让一些高级技术如依赖注入,AOP等成为可能。今天将从基础使用,核心概念理解和创建自定义注解三个角度来彻底学会注解,并学会使用注解来提升开发效率。

Deep Dive Into Kotlin Generics Runtime

通过前面的学习,对Kotlin的泛型已经有了比较全面的了解了,泛型的目的是让通用的代码更加的类型安全。现在我们离写出类型安全的泛型代码还差最后一块拼图,那就是泛型的类型擦除,今天就来深入地学习一下运行时的泛型,彻底的弄懂类型擦除的前因后果,并学会如何在运行时做类型检查和类型转换,以期完成拼图掌握泛型,写出类型安全的通用代码。

Kotlin Generics Revisited

在前面的文章中学习Kotlin泛型的基本知识,并且又用了一篇文章来复习了一下Java语言的泛型,有了这些基础我们就可以继续深入的学习Kotlin的泛型了。看它是如何解决Java泛型的遗留问题,再学习一下它的高级特性,最后再总结泛型的最佳实践。

深入浅出Java泛型

温故而知新,可以为师矣!

前面的一篇文章中学习了Kotlin的泛型知识,但总感觉还不够深入,因为一些深入的话题和高级的特性并未有讲清楚。但在继续深入之前还是有必要重温一下Java的泛型知识,这是因为Kotlin是基于JVM的语言,并且与Java关系暧昧,它可以与Java混合使用,可以相互调用,在某种程度上讲Kotlin可以视为Java的一种『方言』。所以,我们先回顾Java的泛型,夯实基础,并弄清楚Java泛型遗留了哪些问题,然后再看看Kotlin是如何解决这些问题的。

这回就好好聊聊Kotlin的泛型

泛型(Generics)是静态强类型编程语言中非常强大的特性,可以极大的加强代码的复用,并增强类型安全,减少运行时的类型转换错误。在这篇文章就来详细的学习一下Kotlin中对泛型的支持情况,并学会写出类型安全的可复用代码。