#LLM入门|Prompt#3.1 第三部分 使用 LangChain 开发应用程序_简介

news2024/11/16 5:30:54

概述

如何能够基于 ChatGPT 搭建一个完整、全面的问答系统,
要搭建基于 ChatGPT 的完整问答系统,除去上一部分所讲述的如何构建 Prompt Engineering 外,还需要完成多个额外的步骤。 例如,处理用户输入提升系统处理能力,使用思维链、提示链来提升问答效果,检查输入保证系统反馈稳定,对系统效果进行评估以实现进一步优化等。 当 ChatGPT API 提供了足够的智能性,系统的重要性就更充分地展现在保证全面、稳定的效果之上。
关键步骤

  1. 处理用户输入:
    ○ 提升系统处理能力,确保能够理解各种用户输入。
  2. 使用思维链与提示链:
    ○ 提升问答效果,通过构建思维链和提示链来引导ChatGPT生成更准确的回答。
  3. 检查输入:
    ○ 确保输入的有效性和合理性,以提高系统稳定性和用户体验。
  4. 系统输出评估:
    ○ 对ChatGPT生成的回答进行评估,确保输出的全面性和准确性。

课程来源

基于吴恩达老师发布的《Building Systems with the ChatGPT API》课程,第二部分在第一部分的基础上,指导开发者如何基于ChatGPT API开发一个完整、全面的智能问答系统。通过实际代码实践,全面掌握基于ChatGPT开发问答系统的全流程,了解大模型开发的新范式。

实践建议

学习本部分内容时,建议充分演练所提供的代码,自我复现并结合个人兴趣、特长对代码进行增添、更改,以实现更个性化、定制化的问答系统。这一部分是开发者从理论到实践的最有力的实践基础。

  1. 简介 Introduction @Sarai
  2. 模型,范式和 token Language Models, the Chat Format and Tokens @仲泰
  3. 检查输入-分类 Classification @诸世纪
  4. 检查输入-监督 Moderation @诸世纪
  5. 思维链推理 Chain of Thought Reasoning @万礼行
  6. 提示链 Chaining Prompts @万礼行
  7. 检查输出 Check Outputs @仲泰
  8. 评估(端到端系统)Evaluation @邹雨衡
  9. 评估(简单问答)Evaluation-part1 @陈志宏
  10. 评估(复杂问答)Evaluation-part2 @邹雨衡
  11. 总结 Conclusion @Sarai

简介

LangChain的诞生和发展

通过对LLM或大型语言模型给出提示(prompt),现在可以比以往更快地开发AI应用程序,但是一个应用程序可能需要进行多轮提示以及解析输出。
在此过程有很多重复代码需要编写,基于此需求,哈里森·蔡斯 (Harrison Chase) 创建了LangChain,使开发过程变得更加丝滑。
LangChain开源社区快速发展,贡献者已达数百人,正以惊人的速度更新代码和功能。

本章基本内容

LangChain 是用于构建大模型应用程序的开源框架,有Python和JavaScript两个不同版本的包。LangChain 也是一个开源项目,社区活跃,新增功能快速迭代。LangChain基于模块化组合,有许多单独的组件,可以一起使用或单独使用。
本模块将重点介绍 LangChain 的常用组件:
● 模型(Models):集成各种语言模型与向量模型。
● 提示(Prompts):向模型提供指令的途径。
● 索引(Indexes):提供数据检索功能。
● 链(Chains):将组件组合实现端到端应用。
● 代理(Agents):扩展模型的推理能力。
通过学习使用这些组件构建链式应用,你将可以快速上手 LangChain,开发出功能强大的语言模型程序。让我们开始探索LangChain的魅力吧!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1507348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker 容器化技术:构建高效、可移植的开发环境和部署流程|Docker 概述

容器技术是云原生的核心技术之一,利用容器化技术,可以将微服务以及它所需要的配置、依赖关系、环境变了等都可以便捷地部署到新的服务器节点上,而不用再次重新配置,这就使得微服务具备了强大的可移植性。 一、Docker 概述 Docke…

【前端系列】CSS 常见的选择器

CSS 常见的选择器 CSS(层叠样式表)是一种用于描述网页样式的标记语言,它定义了网页中各个元素的外观和布局。在 CSS 中,选择器是一种用于选择要应用样式的 HTML 元素的模式。选择器允许开发人员根据元素的类型、属性、关系等来选…

Android平台实现无纸化同屏并推送RTMP或轻量级RTSP服务(毫秒级延迟)

技术背景 在写这篇文章之前,实际上几年之前,我们就有非常稳定的无纸化同屏的模块,本文借demo更新,算是做个新的总结,废话不多说,先看图,本文以Android平台屏幕实时采集推送,Windows…

javaEE6(网站第3章-jsp练习中三个例题动手做一遍;课后题2(1),(2))

两个数求和 用javascript实现。 输入、处理、输出用同一个页面(自己处理自己)。 输入1.jsp,处理和输出2.jsp。 (4)输入1.jsp,处理2.jsp,处理完转回1.jsp显示结果。 (5)输入1.jsp,处…

【Prometheus】k8s集群部署node-exporter

​ 目录 一、概述 1.1 prometheus简介 1.2 prometheus架构图 1.3 Exporter介绍 1.4 监控指标 1.5 参数定义 1.6 默认启用的参数 1.7 prometheus如何收集k8s/服务的–三种方式收集 二、安装node-exporter组件 【Prometheus】概念和工作原理介绍-CSDN博客 【云原生】ku…

堆宝塔(Python)

作者 陈越 单位 浙江大学 堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小,按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。聪明宝宝采取的策略如下: 首先准备两根柱子,一根 A 柱串宝塔,一根 B 柱用于…

计算表达式x*(2^i)的值math.ldexp(x, i)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算表达式x*(2^i)的值 math.ldexp(x, i) [太阳]选择题 关于以下代码输出的结果说法正确的是? import math print("【执行】math.ldexp(3,2)") print(math.ldexp(3,2)) …

PromptBreeder---针对特定领域演化和发展提示词的方法

原文地址:promptbreeder-evolves-adapts-prompts-for-a-given-domain 论文地址:https://arxiv.org/pdf/2309.16797.pdf 2023 年 10 月 6 日 提示方法分为两大类 硬提示是由人工精心设计的文本提示,包含离散的输入令牌;其缺点…

报名开启丨掘金海外,探寻泛娱乐社交APP出海新风口

随着国内泛娱乐行业用户规模趋于见顶,泛娱乐社交APP转向出海是必然趋势。 根据行业数据显示,有超过35%的国内实时社交企业已启动或者正在规划出海,而其中出海商户的音视频流量增长均超过了100%。尤其是在东南亚、中东、拉美等新兴…

简介:CMMI软件能力成熟度集成模型

前言 CMMI是英文Capability Maturity Model Integration的缩写。 CMMI认证简称软件能力成熟度集成模型,是鉴定企业在开发流程化和质量管理上的国际通行标准,全球软件生产标准大都以此为基点,并都努力争取成为CMMI认证队伍中的一分子。 对一个…

Java算法之动态规划

Java算法之动态规划 前言 ​ 最近这一段时间一直在刷算法题,基本上一有时间就会做一两道,这两天做了几道动态规划的问题,动态规划之前一直是我比较头疼的一个问题,感觉好复杂,一遇到这样的问题就想跳过,昨…

科技引领品质:飞利浦智能锁“12年免费换新机”重塑行业新标杆

随着智能锁行业的竞争愈发火热,各大品牌在技术创新和服务升级方面不断推陈出新。售后服务的形态正发生深刻变化,从传统的保修维修到如今的技术支持、24小时在线客服等,各大品牌都在不断地提升售后服务水平,以创新的服务理念和先进…

【C++】十大排序算法之 桶排序 基数排序

本次介绍内容参考自:十大经典排序算法(C实现) - fengMisaka - 博客园 (cnblogs.com) 排序算法是《数据结构与算法》中最基本的算法之一。 十种常见排序算法可以分为两大类: 比较类排序:通过比较来决定元素间的相对次序…

5G网络助力智慧文旅发展:实现旅游资源的优化配置与高效利用

目录 一、5G网络在智慧文旅中的关键作用 1、高速率传输提升数据处理能力 2、低时延助力实时决策与调度 3、大连接实现全面覆盖与精细化管理 二、5G网络助力实现旅游资源的优化配置 1、精准匹配游客需求与旅游资源 2、促进旅游资源的跨区域合作与共享 三、5G网络助力实现…

JavaSE-集合

● 在开发实践中,我们需要一些能够动态增长长度的容器来保存我们的数据,java中为了解决数据存储单一的情况,java中就提供了不同结构的集合类,可以让我们根据不同的场景进行数据存储的选择,如Java中提供了 数组实现的集…

【DimPlot】【FeaturePlot】使用小tips

目录 DimPlot函数参数解析 栅格化点图 放大 ggplot2 图例的点,修改图例的标题 FeaturePlot函数参数解析 调整FeaturePlot颜色 分组绘制featureplot 随手笔记,持续更新中。。。 Reference DimPlot函数参数解析 object: 一个Seurat对象,…

基于spring boot技术的签到管理系统的设计与实现

目 录 摘 要 I Abstract II 引 言 1 1 相关技术 3 1.1 SpringBoot框架 3 1.2 Vue框架 3 1.3 ECharts 3 1.4 JQuery技术 4 1.5 本章小结 4 2 系统分析 5 2.1 需求分析 5 2.2 非功能需求 8 2.3 本章小结 8 3 系统设计 9 3.1 系统总体设计 9 3.1.1 系统体系结构 9 3.1.2 系统目录…

【深入理解LRU Cache】:缓存算法的经典之作

目录 一、什么是LRU Cache? 二、LRU Cache的实现 1.JDK中类似LRUCahe的数据结构LinkedHashMap 2.自己实现双向链表 三、LRU Cache的OJ 一、什么是LRU Cache? LRU Cache(Least Recently Used的缩写,即最近最少使用&#xff0…

python INI文件操作与configparser内置库

目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 …

JAVA实战开源项目:超市自助付款系统(Vue+SpringBoot)

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、研究内容2.1 商品类型模块2.2 商品模块2.3 超市账单模块 三、界面展示3.1 登录注册模块3.2 超市商品类型模块3.3 超市商品模块3.4 商品购买模块3.5 超市账单模块 四、部分源码展示4.1 实体类定义4.2 控制器接口 五、配套文档展示六、…