- 博客(30)
- 收藏
- 关注
原创 python-docx库的奇妙之旅
附上我的一个小demo直接开箱即用的,主要实现的功能是插入表格标题字体设置宋体段落字体设置为宋体'''@explain:'''# 创建一个新的Word文档# 设置字体为宋体run.font.name = '宋体'run._r.rPr.rFonts.set(qn('w:eastAsia'), '宋体')# 添加标题heading = doc.add_heading('故障分析报告', 0).runs[0]
2024-12-30 15:16:55
355
1
转载 提示工程(Prompt Engineering)最全综述:本质、技术、最佳实践
提示工程(prompt engineering)则是一门精心雕琢提示的艺术与科学。它不仅仅是简单地构造输入文本,更是涉及到对模型行为的深入理解,以及对各种影响因素的综合考量。通过不断地实验、优化,提示工程师能够设计出最适合特定任务和场景的提示,引导大语言模型生成精准、富有洞察力的输出。这是一个迭代的过程,需要不断地调整和改进提示,以适应不同的需求和模型特性。图片。
2024-12-30 10:25:53
885
原创 7个国内框架 & Agent应用
各大平台均设有官方 GPTs 应用商店,汇聚了丰富多样的插件与模型,能满足用户多元化的需求。这些插件和模型涵盖了从专业领域(如医疗、金融)到日常生活(如娱乐、学习)的各个方面,用户可以根据自己的需求选择合适的应用,扩展 Agent 的功能。单智能体由大语言模型(LLM)、观察(obs)、思考(thought)、行动(act)和记忆(mem)组成。例如,在一个简单的智能问答系统中,LLM 负责理解用户问题并生成回答,观察用户输入,通过思考确定回答策略,执行回答动作,并利用记忆存储和检索相关信息。
2024-12-28 10:17:47
1279
原创 开源向量数据库比较:Chroma, Milvus, Faiss,Weaviate
向量数据库是一种将数据存储为高维向量的数据库,高维向量是特征或属性的数学表示。每个向量都有一定数量的维度,根据数据的复杂性和粒度,可以从数十到数千不等。向量通常是通过对原始数据(如文本、图像、音频、视频等)应用某种转换或嵌入函数来生成的。嵌入函数可以基于各种方法,如机器学习模型、词嵌入和特征提取算法。向量数据库的主要优点是,它允许基于数据的向量距离或相似性进行快速和准确的相似性搜索和检索。
2024-12-25 10:15:00
4516
原创 使用 LangGraph 构建生产级 AI Agent
LangGraph 是一个用于构建有状态和多角色的LLM Apps 的开源库,常用于 创建单代理和多代理的工作流。与其他LLM 框架相比,LangGraph 具备以下核心优势和特性:• 循环与分支:允许实现循环和条件逻辑,适用于大多数代理架构,区别于以有向无环图(DAG)为基础的解决方案。• 持久化:内置自动状态保存功能,支持在任何时刻暂停和恢复执行,便于错 误恢复、人类参与、时光回溯等复杂工作流。• 人类参与:在执行过程中可以中断,允许人类审核或编辑下一步操作,支持。
2024-12-20 11:03:32
1208
原创 初始agent
在这段代码中,用来创建一个新的函数,该函数已经预先绑定了部分参数。这种用法简化了后续调用函数时需要传递的参数,尤其是在重复使用某些固定参数时,partial可以大大减少代码冗余。这里的创建了一个新的函数,该函数基于原始的agent_node函数,且已经为agent_node的部分参数(agent和name)预先设置了值。新的函数只需要接收剩余的参数就可以正常运行。partial的具体作用:原始函数agent_node# 函数体...agent_node是一个接受stateagent, 和name。
2024-12-12 14:55:51
968
原创 使用ElasticSearch实现全文检索
上述代码将json文件的数据封装成对象,然后调用MP的批量增加方法(deviceService.saveBatch(list);),将其添加到hanchuan数据库中。这篇博客,完成从MySQL到ES的数据同步。下面是其中的一张表的 .conf文件(几张表就对应几个conf文件)根据前端传递的id值,进行解析,找到对应的数据库表,进行详情查看。【注】Logstash、ES以及Kibana必须版本一致。最终我们ES中的数据结构就是下面这个样子。在业务逻辑代码写好之后在控制层暴露接口。
2024-12-11 10:30:11
3581
原创 fastdfs从概述到使用
FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。
2024-12-05 14:30:56
798
原创 DB_GPT 源码分析(二)
前些日子,我在博客上写了关于db_gpt中有关excel对话的内容,那是我的初次梳理,感觉还是有点生硬,在随着我的不断跟进,又有了新的体会和感受,在看之前梳理的博客,感觉对于研究源码来说还是不太友好,所以我又再次梳理了一次有关这个部分的内容,希望这次可以帮到大家。当然如果有需要看与数据库对话的宝子们可以看我之前写的博客chat_with_db因为我个人觉得这个基于excel对话的功能还是挺不错得,对于模型的要求也不算高,这里我用的是Qwen2.5的32B,特别有应用价值,所以想在这里分享给大家。dbgpt_
2024-10-04 11:53:14
1578
4
原创 DB_GPT excel研究
DB_GPT集成了很多对话方式,其中呢就有关于excel对话的模块,我搜集各大web好像都没有关于这个模块的研究,于是乎就自行研究了对于excel对话的的功能
2024-10-01 10:05:20
1123
原创 Langchain核心模块Memory
对话的一个重要组成部分是能够引用先前在对话中介绍过的信息。至少,一个对话系统应该能够直接访问一些过去消息的窗口。更复杂的系统将需要拥有一个不断更新的世界模型,使其能够保持关于实体及其关系的信息。这对于保持最近交互的滑动窗口非常有用,以避免缓冲区过大。一个记忆系统(Memory System)需要支持两个基本操作:读取(READ)和写入(WRITE)。ConversationBufferMemory 可以用来存储消息,并将消息提取到一个变量中。我们将存储过去交互信息的能力称为“记忆(Memory)”。
2024-08-25 16:10:45
741
原创 LangChain 核心模块:Model I/O
这个类的目的是为了为用户提供一个简化的接口来处理LLM(大型语言模型),而不期望用户实现完整的 _generate 方法。是 LangChain 为开发者提供的一套面向 LLM 的标准化模型接口,包括模型输入(Prompts)、模型输出(Output Parsers)和模型本身(Models)。代码实现:https://github.com/langchain-ai/langchain/tree/master/libs/langchain/langchain/llms。
2024-08-22 11:18:27
951
原创 什么是 LangChain
LangChain是一个开源框架,允许人工智能开发人员将 GPT-4 等大型语言模型(LLM)与外部数据相结合。它提供 Python 或 JavaScript(TypeScript)包
2024-08-20 22:42:31
850
原创 python类的基本使用
类(Class):用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这个过程叫方法的覆盖(override),也称为方法的重写。局部变量:定义在方法中的变量,只作用于当前实例的类。
2024-08-19 23:23:19
1275
原创 Chains, SimpleSequentialChain串行使用案例
LangChain中的SimpleSequentialChain主要用于串联一系列简单的链式操作,其中每个步骤都有单一的输入和输出,并且一个步骤的输出将作为下一个步骤的输入。这种链式结构特别适用于需要按顺序执行多个任务,且任务之间存在明确的数据传递关系的场景。其实还是可以帮我生成出来的,但是要是复杂一些的就考验模型的能力了,这里在给出一个案例,稍微复杂的要求,他的效果其实就没那么好了。但是其实这种方法提升效果不是很好,没有解决根本问题,如果在实验室没有别的资源的话可以使用第二种方法也就是开源大模型。
2024-08-18 23:44:50
624
原创 Vanna源码研究之promp提示词以及train核心函数
Vanna借助了相对简单也更易理解的RAG方法,通过检索增强来构建Prompt,以提高SQL生成的准确率。从本质上讲,Vanna 是一个 Python 包,它使用检索增强来帮助您使用 LLM 为数据库生成准确的 SQL 查询。
2024-08-16 21:07:32
1966
原创 使用langchain 和本地HuggingFace 库,实现简单RAG应用
在学习本地构建RAG的过程中,embeding是不可避免的一步。在官方的示例文档中,使用的是openAI的embeding模型,这意味着需要先获取openAI key,并且这个过程中会产生计费。对于我们学习研究来说不太友好。因此,考虑下载预训练的模型到本地,然后使用本地的模型来进行embeding,从而避免产生额外费用
2024-08-15 19:20:44
1302
转载 vue的安装与配置/vue3/vue2
我网上查到的还有一种验证方法,但是我刚开始vue没有安装成功也出现了如下结果,当时我以为安装成功,所以我更推荐用vue -v验证。我尝试了很多种安装vue的方法,直到验证vue安装成功👇(不管安装的时候是不是一直出现警告,vue -v验证成功就好)中的path增加最后三行(第一行应该是安装软件Node.js时自动添加了,所以手动添加只需要最后两行)。安装webpack需要安装两个包,webpack主包和webpack-cli。先把路径改到刚刚创建的项目,然后再运行,语句如下👇。
2023-10-29 10:16:57
172
原创 uncaught typeerror: cannot read property ‘use‘ of undefined at...终极解决方案
主要解决在Springboot和Vue集成的前后端分离项目中axios的引用
2023-10-28 21:40:14
510
1
原创 解决跨域问题报错When allowCredentials is true, allowedOrigins cannot contain the special value “*“
跨域问题,前后端分离,SpringBoot,vue
2023-10-28 21:37:01
332
1
原创 Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException
@Mapper和@Repository的区别
2023-09-26 22:38:08
6861
1
原创 Caused by: java.net.SocketTimeoutException: connect timed out解决方案
SocketTimeoutException
2023-09-20 21:14:03
3350
4
原创 2020-12-27
JDK相关概念JDK Java Development Kit Java开发工具包用于开发Java程序JRE Java Runtime Environment 即Java运行环境用于运行Java程序JVM Java Virtual Machine Java虚拟机将Java程序翻译成机器语言,交给底层操作系统执行,并保证运行效果,实现Java程序的跨平台性JVM是用来保证Java程序跨平台的,它本身不能跨平台JDK下载与安装https://www.orac
2020-12-27 16:57:39
128
原创 2020-12-27
计算机的基本概念硬件:指的是计算机中由电子、机械和光电子元件组成的各种物理装置的总称软件:按照顺序组织的计算机数据和指令的集合,可分为系统软件(DOS,Windows,Linux,Mac等)和应用软件(office,QQ等)计算机语言:机器语言(由0和1组成,阅读编写很麻烦)汇编语言:有特殊符号组成,计算机不能直接识别,编码量很大高级语言:使用普通英语进行编写,大大降低了开发难度比如(java,C语言等)软件开发:借助开发工具与计算机语言制作软件的过程...
2020-12-27 16:27:19
114
原创 蓝桥杯第十届软件类省赛试题 H: 人物相关性分析
这里写自定义目录标题public static void fh() { Scanner sc = new Scanner(System.in); int count = 0; int k = sc.nextInt(); sc.nextLine(); //吃掉nextInt()后面的换行符,不然会发生输入错误 String str = sc.nextLine(); String name1 = "Alice"; String name2 = "Bob"; String te
2020-08-13 22:12:52
468
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人