自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(134)
  • 资源 (1)
  • 收藏
  • 关注

原创 LangChain大型语言模型(LLM)应用开发(一):Models, Prompts and Output Parsers

今天我们学习了如何使用langchain来创建prompt模板,并且langchain的prompt模板会自动识别prompt中的内嵌变量,在生成message时只需在prompt模板的format_messages方法中传递所需变量即可。另外我们还学习了如何通过Langchain来解析LLM的输出结果,通过创建ResponseSchema和StructuredOutputParser,可以产生用来指导LLM如何产生格式化数据的prompt即format_instructions ,LLM会根据format

2023-06-29 23:15:28 3357

原创 使用大型语言模(LLM)构建系统(七):评估2

今天我们学习了如何使用两种评估LLM回复的方法,第一种是设计一下简单问题让LLM来回答,第二种是使用一个人类专家的答案来评估LLM的答案与专家答案存在的差异并给出一个评分(A,B,C,D,E)。

2023-06-25 15:59:44 433

原创 使用大型语言模(LLM)构建系统(七):评估1

今天我们学习了如何评估LLM的回复的正确性,通过建立测试用例来测试LLM的回复,当LLM的回复不符合要求时,我们需要修改prompt来让LLM输出正确的结果,在修改prompt时我们在system_message中增加了控制输出结果的语句,同时增加少量学习样本(few-shot prompt),这样更好的微调了LLM,确保LLM按正确格式输出结果,最后我们通过建立自动化测试用例来评估LLM的回复是否与理想答案一致,并得到了LLM的评估分数。

2023-06-20 14:23:31 2889

原创 使用大型语言模(LLM)构建系统(六):构建端到端系统

今天我们学习了如何构造一个端对端对机器人问答系统,该系统包含了大型语言模型(LLM) 处理用户信息的完整流程,总共包含7个主要的步骤:内容审核1,查询产品目录清单,查询产品信息,生产最终回复,内容审核2,检验最终回复,输出最终回复。这里面每一个步骤的主要功能和实现方法在本博客和之前的博客中都有详细介绍,最后我们开发了一个聊天机器人程序,并对有关产品的问题进行了测试,总的来说机器人的回复还算正确,但偶尔也会产生“幻觉”,并且编造一些根本不存在的产品出来(如苹果的产品)。希望今天的内容能帮助到大家。

2023-06-14 22:35:04 973

原创 使用大型语言模(LLM)构建系统(五):输出结果检查

今天我们学习了如何让LLM来检查自己的输出结果是否正确,输出结果检查一般分为两种:1.有害内容检查。2.回复的内容是否基于特定产品。这是两种非常实用的LLM开发技巧,在各种LLM的应用场景中基本都会用到。也希望你的内容能帮助到大家。

2023-06-12 15:57:12 774

原创 使用大型语言模(LLM)构建系统(四):链式提示

今天我们学习了如何通过使用多个提示语来让LLM完成一个复杂的任务,以及如何节约使用LLM的成本,为了节省LLM的使用成本,我们不能把所有的产品信息喂给LLM,而是通过2次查询来获取少量的产品信息,这样有效的减少了token数量。

2023-06-09 12:06:22 720

原创 使用大型语言模(LLM)构建系统(三):思维链推理

今天我们学习了如何指导ChatGPT像人类那样形成逻辑推理的思维逻辑,我们让ChatGPT将解决复杂问题的过程拆分成若干个步骤,每个步骤解决一个小问题,且各个步骤存在前后逻辑关系即只有完成了之前的步骤才能执行后面的步骤,当完成了所有的步骤后就可以解决这个复杂问题。最后我们还学习了如何来隐藏ChatGPT的逻辑推理过程。

2023-06-06 17:10:17 1156

原创 使用大型语言模(LLM)构建系统(二):内容审核、预防Prompt注入

今天我们学习了如何通过openai的API来实现内容审核,以及如何识别和预防prompt注入,希望这些内容对有志从事ChatGPT应用开发的同学有所帮助。

2023-06-04 12:54:07 2108

原创 使用大型语言模(LLM)构建系统(一):分类

今天我们学习了如何让ChatGPT对用户的问题进行分类,以及英文prompt和中文prompt在输出结果上的一些差异,通过恰当的对中文prompt的修改,我们可以让中文prompt的输出结果和英文prompt的输出结果一致。

2023-06-03 12:19:32 1009

原创 Openai+Deeplearning.AI: ChatGPT Prompt Engineering(六)

今天我们学习了如果利用ChatGPT开发一个个性化的聊天机器人,让它能代替人类完成某些特定任务,这其中我们需要详细的定义机器的system角色,以避免机器人回答与任务本身无关的问题。我们还介绍了模型参数temperature的功能和作业,比如temperature越大,会使模型的输出结果更有随机性。

2023-05-31 18:33:13 1409 4

原创 大型语言模(LLM)之提示词工程(五)

今天我们学习了如果让ChatGPT来代替人类来回复客户邮件,根据客户邮件的内容做出恰当的回复,如果客户评论是正面的,则回复以表达感谢为主,如果客户评论是负面的,则回复以表达歉意为主。同时我们还学习了通过调整temperature参数来使得chatGPT的回复更具多样性(随机性)。

2023-05-29 17:55:50 1249

原创 大型语言模(LLM)之提示词工程(四)

今晚我们学习了如果让大型语言模型LLM实现多语言翻译功能、语言识别、错别字/语法检查、语调转换等功能。希望今天的内容能对大家有所帮助!

2023-05-23 18:14:54 1479

原创 大型语言模(LLM) 之 提示词工程(三)

今天我们学习了如何让ChatGPT从文本内容中推断出作者的情绪、识别愤怒情绪、抽取文本实体(如商品和公司名称)、推断主题词、识别主题词等功能,我们还学习了如何让ChatGPT来同时做多个任务。希望这些内容对大家有所帮助!

2023-05-22 22:32:31 1568 3

原创 Openai+Coursera: ChatGPT Prompt Engineering(二)

今天我们介绍了Prompt Engineering 中 让chatgpt创建总结/摘要的方法,以及遇到Rate limit的方法。希望这些介绍对大家有用。

2023-05-20 12:19:01 2939

原创 大型语言模(LLM) : 提示词工程(一)

这是吴恩达 《ChatGPT Prompt Engineering for Developers》 的课程笔记系列。本文是第二讲的内容:Guidelines课程主讲:Andrew Ng,Isa FulfordIsa Fulford也是《OpenAI Cookbook》的主要贡献者之一

2023-05-12 15:21:04 5041 2

原创 or-tools 应用案例分析:复杂作业车间调度问题

作业调度问题是常见的线性规划(整数规划)问题,其中多个作业在多台机器上处理。每个作业由一系列任务组成,这些任务必须按给定的顺序执行,并且每个任务都必须在特定的机器上处理。如何有效的利用所有的机器在最短的时间内完成所有的作业任务,是摆在我们面前的一个大问题。

2023-05-05 00:25:44 2229 5

原创 时间序列的数据分析(七):数据平稳性

在时间序列预测中,当时间序列数据具有恒定统计特性(均值、方差和协方差)并且这些统计特性与时间无关时,则被称为数据是平稳的。由于恒定的统计特性,平稳时间序列比非平稳时间序列更容易建模。因此,许多时间序列预测模型都假设数据是平稳的。平稳性可以通过视觉评估或统计方法来检查。统计方法检查数据中是否存在单根(unit root)。两个最常用的单根检验是 ADF 和 KPSS。我们可以在Python的第三方库statsmodels.tsa.stattools中调用它们。

2023-04-24 15:08:57 10731 5

原创 LangChain与大型语言模型(LLMs)应用基础教程:记忆力组件

今天我们会学习Langchain提供的6种记忆力组件它们分别是:ConversationBufferMemoryConversationBufferWindowMemoryConversationSummaryMemoryConversationSummaryBufferMemoryConversationKGMemoryEntityMemory它们有着各自不能的功能和特点,根据不同的应用场景我们可以选择不同的记忆力组件,当我们开发一个与AI交互的应用程序时选择正确的记忆力组件能够成倍的提

2023-04-23 00:22:47 4201 1

原创 LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent

今天我们学习了LangChain的agent功能,它可以通过语言指令的方式执行各种数据分析、汇总、统计以及预测等功能,如果你是一个不会编程的小白,那可以尝试一下agent。

2023-04-05 10:06:54 6081 5

原创 LangChain与大型语言模型(LLMs)应用基础教程:角色定义

在和让大型语言模型(LLM)如ChatGPT等对话时,为了要让LLM能准确回答我们的问题,我们应该在对话之前给LLM设定一个角色,这样当LLM知道自己的角色定位以后,它的回答将会符合自己的角色,而不会天马行空,自由发挥。

2023-04-02 21:47:36 9508

原创 LangChain与大型语言模型(LLMs)应用基础教程:信息抽取

今天我们学习了如何利用langchain的chain结合LLM来提取文本信息中的关键内容,然后通过另外一个chain根据这些关键信息给出治疗疾病的建议,最后我们把这两个chain整合为一个更为强大的Chain,它可以自动完成这两份工作。另外我们还介绍了langchain的API Chain,通过让api chain调用第三方提供的API, 我们可以让ChatGPT回答一些以前无法回答的问题。

2023-03-31 21:49:13 12049

原创 LangChain与大型语言模型(LLMs)应用基础教程:Prompt模板

今天我们学习了LangChain和大型语言模型(LLM)如opeanai的 "text-davinci-003"模型以及谷歌的“flan-t5-xl”模型进行集成的方法,我们还学习了如何使用LangChain中prompt模板,和短语模板。通过使用prompt模板可以让用户大大提高和LLM交互的效率。

2023-03-26 19:22:48 13352 4

原创 使用langchain打造自己的大型语言模型(LLMs)

今天我们用LangChain对接了大型语言模型(LLMs), 并让LMMs可以针对性的学习用户给定的特定数据,这些数据可以是文本文件,数据库,知识库等结构化或者非结构化的数据。当用户询问的问题超出范围时,机器人不会给出任何答案,只会给出相关的提示信息显示用户的问题超出了范围,这样可以有效限制机器人自由发挥,使机器人不能让它随便乱说。

2023-03-13 17:33:43 37415 25

原创 基于Python的时间序列异常值检测

今天我们介绍几种常用的异常值检测方法,其中3sigma,z-score,箱体法(box)都是从数据值本身的单一维度去分析和判断异常值,从而有一定的局限性, 而多维度异常值判断法更注重从数据特征的各个维度去分析和判断异常值,显然多维度异常值判断法更为科学和精准。

2023-02-28 23:20:18 5868 2

原创 如何增强大型语言模型LLM的学习能力?

由于当前ChatGPT模型所学习到的知识是截止到2021年,那么当用户向ChatGPT询问2021年以后发生的事情时,ChatGPT往往会给出千奇百怪的错误答案,为了避免这样的问题,我们可以可以利用百度搜索的结果来让ChatGPT学习,从而可以在很大程度上降低ChatGPT给出错误答案的概率。

2023-02-21 23:27:05 358

原创 我让API版的ChatGPT长了记性!

OpenAI的API接口是基于请求/响应模式的,每次请求的上下文是独立的,不会被记录和保存。因此,ChatGPT机器人无法记录和理解上一次请求的内容,所以API版本的ChatGPT的用户体验要比平台版的ChatGPT要差一些,不过经过我的一番尝试,终于让API版本的ChatGPT达到平台版的ChatGPT一样的用户体验。

2023-02-13 15:34:40 12025 11

原创 我用Streamlit+LLM(大型语言模型)轻松实现Web聊天

Streamlit是时下比较火的一个基于Python的Web应用程序框架,它可以在几分钟内将数据转化为可共享的Web应用程序,无需前端开发经验,使用纯Python代码实现,简单且高效。ChatGPT是目前非常火的OpenAI公司开发的聊天机器人模型,它无所不知就像一本大百科全书,它可以帮你做很多繁杂的日常工作琐事,比如可以代你写文章,代你做excel表格,甚至代你写代码。今天我们要将两者结合起来开发一个基于web的应用聊天小程序。

2023-02-07 14:31:49 6510 4

原创 大型语言模型LLM的基础应用

ChatGPT是由人工智能研究实验室在2022年11月30日发布的全新聊天机器人模型,一款技术驱动的自然语言处理工具。它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码等任务。用户只需注册一个OpenAI账号和申请一个api_key就可供开发人员使用,并且可以与各种编程语言(如 JavaScript、Python 等)集成。

2023-02-02 23:20:09 7213 1

翻译 超详细的图解 Numpy,不收藏后悔!

一个 Numpy是关于机器学习,数据处理的Python基础库,了解 NumPy 的工作原理可以提高你的编码效率,可以让你的代码看上去更加简洁和优雅。NumPy 也可以GPU上运行代码而无需更改原始代码(或只做少量更改)。NumPy 的核心概念是 多维数组。它的美妙之处在于,无论数组有多少维,大多数操作看起来都是一样的。但是 1D 和 2D 的情况有点特殊。Numpy 数组与 Python 列表(list)粗看上去,NumPy 数组类似于 Python 列表。

2023-01-30 18:19:37 3689

原创 时间序列的数据分析(七):数据变换

在对时间序列数据进行预测时,有时候我们需要对原始数据进行变换(transformations),常用的数据变换方法称为:Box-cox变换,它即包含了对数变换也包含了幂变换,本文详细介绍了box-cox方法的原理已经在python中使用box-cox变换的方法。

2022-10-23 21:17:00 3109

原创 数学之美:Python实现

python绘制的由9830个圆圈构成的美丽图案

2022-09-12 09:57:08 618

原创 时间序列的数据分析(六):指数平滑预测法

本文主要介绍了指数平滑预测法的一些基本方法如简单指数平滑,趋势法、阻尼趋势法,季节性法。需要说明的是本文主要参考了并将书中原来用R语言实现的算法用Python实现了一下,在python代码中调用的指数平滑算法包主要来自于statsmodels包。通过对的学习并结合对statsmodels包的练习可以更加深刻的解指数平滑的原理。...

2022-09-01 10:20:59 10284 9

原创 时间序列的数据分析(五):简单预测法

今天我们解释4种最简单的朴素预测法:均值法,最后值法,季节性最后值法,漂移法,朴素预测法虽然很简单但有时候也会有较好的预测效果,如季节性周期变化很明显的时候我们可以使用季节性最后值法,当遇到类似随机游走型的时间序列如股票数据时使用漂移法有时候也会有较好的预测效果。有兴趣的读者可以自己尝试一下使用yfinance 包来下载美国的股票数据如:特斯拉,苹果,谷歌的股票代码:tsla、aapl、goog来进行研究。...

2022-08-09 14:28:40 2763 1

原创 时间序列的数据分析(四):STL分解

今天我们主要介绍了STL的分解的主要参数,和分解的过程,并观察了分解以后残差的分布和均值并确认了残差服从以0为均值的近似正太分布,这说明STL分解是正确的。其次我们还介绍了趋势程度、季节性程度以及季节性波峰的计算方法,这有助于确定数据是否具有良好的可预测性。...

2022-07-30 13:20:13 24085 53

原创 时间序列的数据分析(三):经典时间序列分解

在本章中我们学习了时间序列数据的加法分解和乘法分解的基本步骤,我们一步步通过手动的方法计算了趋势、去趋势项、季节项、残差项等特征项,手动分解的目的是让读者能进一步了解各个特征项的计算逻辑,最后我们使用了statsmodels的seasonal_decompose方法来自动分解,并对比了手动分解与自动分解的结果,并确认他们是一致的。.........

2022-07-22 11:57:13 11871 5

原创 时间序列的数据分析(二):数据趋势的计算

在这一章里我们了解了时间序列分解方法有加法分解和乘法分解,可以通过移动平均来计算数据的趋势,移动平均又可以分为简单移动平均(奇数阶)和偶数阶移动平均,简单移动平均的结果是对称的,偶数阶移动平均的结果是不对称的,为此还要再进行一次偶数阶移动平均才能让数据对称,同样偶数阶移动平均2×m-MA可以转换成奇数阶移动平均(m+1)-MA,并且权重为[1/(2m),1/m……1/m,1/(2m)],其中收尾权重值较小是为了克服连续年份内数据波动对趋势带来影响,并使趋势曲线更加平滑。.........

2022-07-20 16:18:16 11599 5

原创 时间序列的数据分析(一):主要成分

为了对时间序列数据进行准确预测必须了解时间序列数据的主要成分,如何找到数据中的主要成分,如何快速分解时间序列,本文会帮助读者了解时间序列数据预测的相关内容。

2022-07-19 16:25:18 8803 2

原创 使用pycaret来进行数据挖掘:关联规则挖掘

关联规则用于发现大型数据库中变量之间的有趣关系。它旨在使用一些有趣的方法来识别在数据库中发现的强规则。通过对关联规则的挖掘我们可以发现超市或者电商的大规模交易数据中商品之间的规律性,最著名的案例是“啤酒与尿布”的故事,20世纪90年代的美国超市中,超市管理人员分析销售数据时发现了一个令人难于理解的现象:在某些特定的情况下,“啤酒”与“尿布”两件看上去毫无关系的商品会经常出现在同一个购物篮中。还比如人们在超市的销售数据中发现,如果顾客同时购买面包和牛奶,他们很可能也会购买黄油。这样的信息可以为企业营销活动的决

2022-05-01 00:35:19 2428

原创 利用pycaret:低代码,自动化机器学习框架解决分类问题

之前我介绍了利用pycaret来解决回归问题的博客,有兴趣的朋友可以查看我之前的博客,今天我再来介绍一下关于使用pycaret来解决分类问题,首先我们还是来简单介绍一下pycaret框架的基础知识:PyCaret 是 Python 中的一个开源、低代码机器学习库,它可以自动执行机器学习工作流。它是一种端到端的机器学习和模型管理工具,它可成倍的提高您的工作效率。与其他开源机器学习库相比,PyCaret 是一个低代码的机器学习框架,可用于仅用几行代码替换您之前写的几百行代码。这使得开发过程以指数方式快速和高效。

2022-04-13 22:03:26 1976 2

原创 利用pycaret:低代码,自动化机器学习框架解决回归问题

PyCaret 是 Python 中的一个开源、低代码机器学习库,可自动执行机器学习工作流。它是一种端到端的机器学习和模型管理工具,可成倍的提高您的工作效率。与其他开源机器学习库相比,PyCaret 是一个低代码的机器学习框架,可用于仅用几行代码替换数百行代码。这使得开发过程以指数方式快速和高效。PyCaret 本质上是几个机器学习库和框架的 Python 包装器,例如 scikit-learn、XGBoost、LightGBM、CatBoost、spaCy、Optuna、Hyperopt、Ray 等...

2022-03-31 01:11:13 3198 7

概率导论笔记1.概率模型和公理.pdf

概率导论笔记1.概率模型和公理,除了介绍概率论基本知识外,还介绍了距母函数,最小二乘估计,泊松过程等等

2020-06-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除