- 博客(48)
- 收藏
- 关注
原创 【可能是全网最丝滑的LangChain教程】二十一、LangChain进阶之Memory
LangChain 提供了一系列实用工具,用于在基于大型语言模型(LLM)的应用程序中添加记忆功能。记忆系统的核心是能够读取和写入信息,这样系统就可以在对话中引用之前的交互内容,并且可以维护关于实体及其关系的信息
2024-08-19 11:12:12
625
原创 【可能是全网最丝滑的LangChain教程】二十、LangChain进阶之Chains
LangChain 的 Chains 模块是一系列调用的序列,可以涉及 LLM(大型语言模型)、工具或数据预处理步骤
2024-08-13 08:23:01
837
原创 【可能是全网最丝滑的LangChain教程】十九、LangChain进阶之Agents
LangChain 的代理(Agents)模块允许开发者使用语言模型作为推理引擎,以动态确定执行的一系列动作,而不是硬编码这些动作。
2024-07-29 09:49:38
859
3
原创 【可能是全网最丝滑的LangChain教程】十八、LangChain进阶之Tools
介绍了 LangChain 中的工具(Tools)模块,它是让代理、链或大型语言模型(LLM)与外界交互的接口。工具包括名称、描述、JSON 输入模式、调用的函数以及是否直接向用户返回结果。
2024-07-16 11:30:45
1236
2
原创 【可能是全网最丝滑的LangChain教程】十七、LangChain进阶之Retrievers
在 LangChain 文档中,检索器(Retrievers)被定义为一个接口,它可以接受一个字符串查询(query)作为输入,并输出一系列文档(Document)。
2024-07-08 11:15:33
1063
1
原创 【可能是全网最丝滑的LangChain教程】十六、LangChain进阶之Vector Stores
详细说明了向量数据库在处理非结构化数据时的作用,即通过将文本数据嵌入到向量空间并利用向量数据库进行存储和搜索,以便在查询时能够快速找到与查询最相似的嵌入向量。
2024-07-01 09:44:28
863
原创 【可能是全网最丝滑的LangChain教程】十五、LangChain进阶之Embedding Models
Embeddings 类为各种文本嵌入模型提供商提供了一个统一的接口,简化了模型的使用。 文本嵌入模型将文本转换为向量形式,便于在向量空间中进行操作,如语义搜索和相似度计算。
2024-06-17 08:56:36
2150
1
原创 【可能是全网最丝滑的LangChain教程】十四、LangChain进阶之Text Splitters
本页面主要介绍了 LangChain 中的文本分割器,包括各种分割方法、分割器的类别、分割依据以及是否添加元数据等功能。
2024-06-12 08:56:22
1231
原创 【可能是全网最丝滑的LangChain教程】十三、LangChain进阶之Document loaders
本文介绍了如何在 LangChain 中编写自定义文档加载和文件解析逻辑。加载文本、加载视频、加载图片...让LLM更智能
2024-06-03 09:41:53
1842
原创 【可能是全网最丝滑的LangChain教程】十二、LangChain进阶之Retrieval
在大模型开发中,Retrieval(检索)通常指的是从一个大型知识库或语料库中查找与当前任务相关的信息或数据的过程。这种检索过程是为了解决纯基于生成(Generative)模型在处理某些复杂任务时可能出现的知识局限性问题。生成模型,如GPT或BERT,虽然能够生成连贯的文本,但它们的记忆能力有限,可能无法记住所有训练数据中的事实信息。许多 LLM 应用程序都需要一些特定的数据,这些数据不属于模型的训练集。
2024-05-27 11:43:47
687
原创 【可能是全网最丝滑的LangChain教程】十一、LangChain进阶之Output Parsers
输出解析器是LangChain的一个关键组件,它们的作用是将模型生成的文本输出转换成结构化的数据,以便更容易地使用和分析。模型输出------>结构化数据。如果你正在从事或者你正打算从事大模型应用相关研发,我想你都能明白结构化数据输出的重要性
2024-05-22 10:12:07
378
原创 【可能是全网最丝滑的LangChain教程】十、LangChain进阶之Prompts
在大模型工程中,“Prompt”(提示)扮演着核心角色,它是与大型语言模型交互时使用的输入文本,旨在引导模型产生预期的响应或执行特定任务。Prompt 不仅是与大模型沟通的桥梁,也是发挥大模型效能的关键工具,其设计和优化是大模型工程实践中不可或缺的一环。无论 LangChain 将 Prompt 封装的多么完美多么好,我门应该知道 Prompt 的本质就是:你在问模型问题的时候,多加一些输入,而不仅仅是问题本身。至于这些输入怎么来的?是本地文件?是向量数据库?是网页数据?还是其他的数据来源?
2024-05-13 08:45:00
1293
原创 聊聊特斯拉的 FSD V12
近日,马斯克访华做汇报,字里行间表明FSD V12即将在中国落地。那么究竟什么是 FSD?V12是什么?我们一起来了解下.......
2024-05-06 08:40:28
664
原创 【可能是全网最丝滑的LangChain教程】九、LangChain进阶之Chat Model
本文是关于 LangChain 中 Chat Model 组件的详细解析,介绍了 Chat Model 组件是什么,与 LLM 组件有什么不同,以及如何使用 Chat Model。
2024-04-28 10:33:17
1469
原创 【可能是全网最丝滑的LangChain教程】八、LangChain进阶之LLM
LangChain进阶系列文章第一篇,之前的LangChain“丝滑”系列希望给位也能看看,是这个系列的基础。人工智能时代,我们都不想掉队~
2024-04-22 08:30:00
1504
原创 【可能是全网最丝滑的LangChain教程】七、LCEL表达式语言
LangChain 表达式语言(LCEL)是一种声明式的方法,可以轻松地将多个链条组合在一起。LCEL 从第一天开始设计就支持将原型投入生产,无需进行代码更改,从最简单的“提示 + LLM”链条到最复杂的链条(我们见过人们在生产中成功运行包含数百个步骤的 LCEL 链条)。一流的流式支持当您使用 LCEL 构建链条时,您将获得最佳的首个令牌时间(即输出的第一块内容出现之前的经过时间)。
2024-04-14 16:02:24
1096
原创 聊聊最近“大火”的RAG
LLM支持的最强大的应用程序之一是复杂的问答(Q&A)聊天机器人。这些应用程序(聊天机器人)可以回答有关特定来源信息的问题。其中使用的技术就是一种称为检索增强生成(RAG)的技术。本文不涉及代码输出,纯概念解释说明。文末会贴出另一篇文章的地址,里面有代码。
2024-04-09 17:21:09
487
原创 【可能是全网最丝滑的LangChain教程】五、快速入门Conversation Retrieval Chain
基于LangChain设计一个带历史对话的聊天机器人
2024-03-31 11:29:24
692
3
原创 【可能是全网最丝滑的LangChain教程】四、快速入门Retrieval Chain
LangChain中Retrieval Chain是什么,介绍Retrieval Chain的基本用法
2024-03-24 10:00:15
1129
5
原创 【可能是全网最丝滑的LangChain教程】三、快速入门LLM Chain
LangChain基本使用,LLMChain的基本用法,帮助读者快速入门LangChain,上手LangChain开发。
2024-03-17 15:12:13
1180
9
原创 【可能是全网最丝滑的LangChain教程】一、LangChain介绍
主要是对LangChain的基本介绍和LangChain的使用场景描述。
2024-03-02 11:22:14
2579
原创 ExoPlayer 2.18.2 基本使用(二)
完成了Exoplayer自带缓存的使用,下次再次播放相同视频的时候,即使是没有网络,也能轻松加载播放。
2023-01-08 19:00:00
790
原创 记一次 ImageSpan 在 API 29 以下的居中问题
描述不多解释,看下图:分析既然在 API 29 上能使用ImageSpan.ALIGN_CENTER,那我们去看看源码的实现,将必要代码拉出来,自己写一个ImageSpanUnderQ 类在 29以下使用不就完事了?源码分析:红色框框部分使我们的重点代码,简单流程就是首先拿到当前的Drawable ,其次计算 Canvas 的平移距离并平移,目的是居中绘制当前图片,最后 b.draw(canvas) 绘制上去。处理源码如下:class ImageSpanUnd...
2021-06-04 15:59:10
274
原创 记一次JNI编译出错的BUG
先上图,问题如下:这个问题一般是由什么原因导致的?很大可能是SDK目录全路径存在空格,例如我的SDK全路径就是:D:\Program Files\Android\sdk处理方式:移动sdk目录,路径不能有空格,我现在的目录是:D:\sdkGuys,Peace & Love...
2021-05-06 13:48:11
185
原创 ViewPager与ViewPager2实现堆叠效果
先上图看效果,GIF稍微有点糊,凑合着看!上面是ViewPager2实现的,下面是ViewPager实现的~出发点最近公司想要实现这样一种效果,实现并不难,本着尝试新技术的想法,打算用ViewPager2实现这种效果。中间也或多或少遇见了小麻烦,发出来与大家一起讨论下~需求实现方式一、ViewPager实现:代码如下: viewpager.offscreenPageLimit = 2 val mScaleOffset = 200f
2021-04-27 12:03:22
2477
8
原创 记一次Android智齿SDK导致BUG
Could not determine the dependencies of task ':app:preOnlineDebugBuild'.> Could not resolve all task dependencies for configuration ':app:onlineDebugRuntimeClasspath'. > Could not find :unspecified:. Searched in the following locations: .
2021-04-25 17:52:06
605
原创 Android可拖拽移动控件,不会回到初始位置
发现问题:最近项目里有拖拽控件的需求,但是发现移动后还是会回到原点,这是由于父控件的刷新导致的。解决问题:package com.example.dragview;import android.content.Context;import android.util.AttributeSet;import android.view.MotionEvent;import an...
2019-05-13 15:12:59
2120
原创 Android 基于Message的进程间通信
实例在最后,先简析原理。1、服务端重要代码解析@Nullable@Overridepublic IBinder onBind(Intent intent) { return mMessenger.getBinder();}getBinder里面是这样的public IBinder getBinder() { return mTarget.asBinder(...
2019-01-28 18:44:54
262
原创 轻松自定义拖拽控件 —— ViewDragHelper的学习笔记
简介ViewDragHelper是什么?顾名思义,就是拖拽控件的一个帮助类。通过这个帮助类,我们可以轻松实现一些拖动效果。基本使用public class MyLinearLayout extends LinearLayout { private ViewDragHelper dragHelper; public MyLinearLayout(Context c...
2018-11-29 17:27:22
635
原创 ondraw() 和 dispatchdraw() 的区别
绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法。有点注意的是背景drawable的实际大小会影响vi...
2018-11-20 16:18:05
393
原创 HashMap原理以及面试问题
什么时候开始有HashMap的?从JDK1.2开始才有HashMap什么是hash冲突static final int hash(Object key) { int h; return (key == null) ? 0 : (h = key.hashCode()) ^ (h >>> 16);}1、HashMap中主要是通过key的hashCo...
2018-10-15 09:44:30
625
1
原创 java.lang.Object笔记
目录方法总结clone()equals(Object obj)finalize()getClass()hashCode()notify()notifyAll()toString()wait()wait(long timeout)wait(long timeout, int nanos)对监视器和锁的通俗解释 方法总结clone()、e...
2018-09-26 14:09:10
186
原创 Handler知识点总结
Handler必须在主线程中实例化吗?不是必须的。如果你不带参数的实例化:Handler handler = new Handler();那么这个会默认用当前线程的Looper。1、如果你要刷新UI。要么在主线程下Handler handler = new Handler();要么在非主线程下Handler handler = new Handler(Looper.getM...
2018-09-26 11:07:19
210
原创 IntentService(转)
原文在这里IntentService,可以看做是Service和HandlerThread的结合体,在完成了使命之后会自动停止,适合需要在工作线程处理UI无关任务的场景。IntentService 是继承自 Service 并处理异步请求的一个类,在 IntentService 内有一个工作线程来处理耗时操作。 当任务执行完后,IntentService 会自动停止,不需要我们去手动...
2018-09-19 17:37:17
173
原创 关于HandlerThread
解释HandlerThread用于处理需要耗时的操作。比如,我现在有一个按钮,我点击一下,发送一个指令给子线程的handler,子线程的handler接收到指令后,执行下载图片的耗时操作。此时,用HandlerThread就比较合适。上代码代码源于网络 ...
2018-09-19 17:06:21
157
原创 关于Handler的post方法和send方法的区别解释
先看源码 /** * Causes the Runnable r to be added to the message queue. * The runnable will be run on the thread to which this handler is * attached. * * @param r The Run...
2018-09-19 16:34:49
896
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人