langchain:Prompt在手,天下我有

[toc] # 简介 prompts是大语言模型的输入,他是基于大语言模型应用的利器。没有差的大语言模型,只有差的prompts。 写好prompts才能发挥大语言模型300%的功力。 理论上,要写好prompts其实不是那么容易的,但是langchain把这个理论变成了现实,一起来看看吧。 # 好

java中有哪些并发的List?只知道一种的就太逊了

java中有很多list,但是原生支持并发的并不多,我们在多线程的环境中如果想同时操作同一个list的时候,就涉及到了一个并发的过程,这时候我们就需要选择自带有并发属性的list,那么java中的并发list到底有哪些呢?今天要给大家介绍的是ArrayList、CopyOnWriteArrayLis

详细讲解23种设计模式

工厂方法模式(Factory Method Pattern) 工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法把对象的实例化推迟到子类。 代码示例: csharpCopy codepublic interface IProduct { vo

简易的工厂设计模式

工厂设计模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而无需暴露对象的创建逻辑。在工厂模式中,我们定义一个接口或抽象类,该接口或抽象类用于创建对象,但让子类决定要实例化的类。工厂方法模式使类的实例化延迟到其子类。 下面是一个完整的C#实现案例: 首先,我们定义一个接口,用于创建对象: p

.NET 创建无边框的跨平台应用

# .NET 创建无边框的跨平台应用 在创建了`Photino`应用程序以后我们发现它自带了一个标题栏,并且非常丑,我们现在要做的就是去掉这个很丑的自带标题栏,并且自定义一个更好看的,下面我们将用`Masa Blazor`提供的模板去进行实战。 ## 安装模板 安装`Masa Blazor`提供的`

我面试失败了,因为我不知道这个

我因为不知道这个而失败了一次面试。所以我写这篇文章,确保这种情况不会再发生在你身上。 锁定允许我们控制有多少线程可以访问代码中的某个部分。 为什么要这样做呢? 因为你想保护对昂贵资源的访问。而且你需要锁定提供的并发控制。由于我很少使用低级代码,所以我尝试使用lock语句来实现这一点。结果一切都变得一

写完这款工作流组件,我的发际线又高了...

前段时间因业务需要完成了一个工作流组件的编码工作。借着这个机会跟大家分享一下整个创作过程,希望大家喜欢,组件暂且命名为"easyFlowable"。 接下来的文章我将从什么是工作流、为什么要自研这个工作流组件、架构设计三个维度跟大家来做个整体介绍。

.NET生成MongoDB中的主键ObjectId

前言 因为很多场景下我们需要在创建MongoDB数据的时候提前生成好主键为了返回或者通过主键查询创建的业务,像EF中我们可以生成Guid来,本来想着要不要实现一套MongoDB中ObjectId的,结果发现网上各种各样的实现都有,不过好在阅读C#MongoDB驱动mongo-csharp-drive

C#异步有多少种实现方式?

前言 微信群里的一个提问引发的这个问题,有同学问:C#异步有多少种实现方式?想要知道C#异步有多少种实现方式,首先我们要知道.NET提供的执行异步操作的三种模式,然后再去了解C#异步实现的方式。 .NET异步编程模式 .NET 提供了执行异步操作的三种模式: 基于任务的异步模式 (TAP) ,该模式

全面的ASP.NET Core Blazor简介和快速入门

前言 因为咱们的MongoDB入门到实战教程Web端准备使用Blazor来作为前端展示UI,本篇文章主要是介绍Blazor是一个怎样的Web UI框架,其优势和特点在哪?并带你快速入门上手ASP.NET Core Blazor(当然这个前提是你要有一定的C#编程基础的情况,假如你完全没有接触过C#的

Visual Studio Code调试和发布ASP.NET Core Web应用

前言 上一篇文章主要讲了Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用有兴趣的同学可以去看看,今天咱们主要是要讲讲如何在VS Code中调试和发布ASP.NET Core Web应用。 Visual Studio Code安装C#开发工具包并编写AS

开发小技巧 - 合理使用Visual Studio 2022内置任务列表(TODO)

前言 在开发编码过程中经常会因为各种问题而打断自己的思绪和开发计划,可能会导致本来准备开发或者需要测试的功能到要上线的时候才想起来没有做完。这种情况相信很多同学都遇到过,咱们强大的Visual Studio内置了一个任务列表(TODO)能让我们当做待办清单功能使用,接下来我们快速了解一下。欢迎在评论

使用编码工具

本文主要介绍了对句子编码的过程,以及如何使用PyTorch中自带的编码工具,包括基本编码encode()、增强编码encode_plus()和批量编码batch_encode_plus()。 一.对一个句子编码例子 假设想在要对句子'the quick brown fox jumps over a

CUDA C编程权威指南:1.1-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA 解析:2007年,NVIDIA推出CUDA(Compute Unified Device Architecture,统一计算设

CUDA C编程权威指南:1.2-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.闭扫描和开扫描 对于一个二元运算符和一个元输入数组。如果返回输出数组为,那么是闭扫描;如果返回输出数组为,那么是开扫描。串行闭扫描算法,

CUDA C编程权威指南:1.3-CUDA基础知识点梳理

主要整理了N多年前(2013年)学习CUDA的时候开始总结的知识点,好长时间不写CUDA代码了,现在LLM推理需要重新学习CUDA编程,看来出来混迟早要还的。 1.CUDA数组 解析:CUDA数组是使用cudaMallocArray()、cudaMalloc3DArray()分配的,使用cudaFr

Boost程序库完全开发指南:1.1-C++基础知识点梳理

主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的。 1.shared_ptr 解析:shared_ptr是一种计数指针,当引用计数变为0时,shared_ptr所指向的对象将会被删除。如下所示

Boost程序库完全开发指南:1.2-C++基础知识点梳理

主要整理了N多年前(2010年)学习C++的时候开始总结的知识点,好长时间不写C++代码了,现在LLM量化和推理需要重新学习C++编程,看来出来混迟早要还的。 1.const_cast (expression)[1] 解析:const_cast转换符用来移除变量的const或v

Langchain-Chatchat项目:3-Langchain计算器工具Agent思路和实现

本文主要讨论Langchain-Chatchat项目中自定义Agent问答的思路和实现。以"计算器工具"为例,简单理解就是通过LLM识别应该使用的工具类型,然后交给相应的工具(也是LLM模型)来解决问题。一个LLM模型可以充当不同的角色,要把结构化的Prompt模板写好,充分利用LLM的Zero/O

以开发之名|线上家装新美学——梦想之家,由你来定

何谓家装?过去,人们辗转于各大家装城,购买时下流行的家具装饰,参考各类“过来人”和设计师的意见,糅杂一些样板间风格,依靠想象拼凑一个设计方案。而今天,在年轻一代的消费群体心中,家装的意义正发生深刻改变:要自由定义,坚决悦己,实用与美观兼得;要猫与鱼,花与叶,喜欢的音乐,收藏的手办都有自己的天地;要一