吴恩达<用于LLM应用程序开发的LangChain> L1-Model_prompt_parser

问题预览/关键词

  1. 课程地址
  2. 如何获取openAI的API Key
  3. 如何根据日期设置不同模型?
  4. 如何调用OpenAI的API?
  5. 如何使用OpenAI的API?
  6. langchain如何抽象OpenAI的API接口?
  7. langchain如何创建提示词模板并查看模板内容?
  8. langchain如何使用提示词模板生成提示词?如何查看生成的提示?
  9. langchain如何向LLM输入提示?
  10. 如何更改提示词模板的用户输入?
  11. LLM输出的内容原本格式是什么?
  12. langchain如何指定LLM响应内容的格式?
  13. langchain如何生成指定格式的提示词?
  14. 如何解析LLM输出字符串成Python字典

笔记

1.课程地址

线上地址:https://learn.deeplearning.ai/courses/langchain/lesson/2/models%2C-prompts-and-parsers

2.获取OpenAI API KEY

在线可以免费使用KEY,本地需要给自己的API充值。
在这里插入图片描述

3.根据日期调整模型

2024年6月12日之后使用gpt-3.5-turbo模型。此前则一直用gpt-3.5-turbo-0301模型。
在这里插入图片描述

4.调用OpenAI API的函数

自定义函数get_completion,参数1设置提示词,参数2设置模型,向LLM请求响应并返回响应结果。在这里插入图片描述

5.使用openAI的API

  • 向大模型提问,1+1等于几。
    在这里插入图片描述

  • 提示设置两个输入:具体内容和内容风格。
    在这里插入图片描述

6.langchain抽象化OpenAI API

ChatOpenAI(),参数1设置值越大,输出内容越随机。参数2,指定模型。抽象成对象chat。
在这里插入图片描述

7.langchain创建提示词模板

  • from_template(),可以重复使用提示词,只需设置不同的用户输入。在这里插入图片描述
  • 查看提示词模板和用户输入
    在这里插入图片描述

8.langchain使用提示词模板生成提示词,查看提示

from_template()返回值调用format_messages(),参数为用户输入。
在这里插入图片描述

  • 查看提示词和提示词类型
    对format_messages()返回值使用type(),返回值索引[0]查看提示词。
    在这里插入图片描述

9.langchain向LLM写提示

调用ChatOpenAI实例化对象,传入format_messages()生成的提示词,获取大模型响应并打印。
在这里插入图片描述

10.修改提示词模板的用户输入

重新设置字符串,传入format_message()。在这里插入图片描述
在这里插入图片描述

11.LLM输出内容解析为Python字典

表现形式虽然为json,实际内容是字符串,最后的错误表示无法用字典操作,证明了这一点。
在这里插入图片描述
在这里插入图片描述

12.LLM的响应模式

指定LLM的响应格式,我们想让LLM输出的内容是什么格式。在这里插入图片描述

13.指定格式的提示词

  • 创建解析器from_response_schemas,解析器调用get_format_instructions()生成提示词。
    在这里插入图片描述
  • 生成完整提示词在这里插入图片描述
  • 请求大模型响应
    在这里插入图片描述

14.解析器解析LLM的输出

通过解析器解析响应,获得我们指定的格式在这里插入图片描述

总结

直接使用openAI的API接口比较复杂,使用langchain框架比较简单。可以通过langchain生成提示词模板,然后用模板生成提示。如果想让LLM输出的格式不是字符串而是我们指定的格式,我们需要先设置好格式,然后用解析器生成可以让LLM响应的内容是此格式的提示,最终构建完整的提示词,然后用解析器解析LLM响应,就可以得到符合我们指定格式的内容。

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

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

相关文章

Redis中的BigKey

Redis中的BigKey 文章目录 Redis中的BigKey什么是BigKey?BigKey的危害找到Bigkey删除BigKey优化BigKeyBigKey对持久化的影响对AOF日志的影响对AOF重写和RDB的影响 什么是BigKey? 大 key 并不是指 key 的值很大,而是 key 对应的 value 很大。…

2024华中杯A题完整1-3问py代码+完整思路16页+后续参考论文

A题太阳能路灯光伏板朝向问题 (完整版资料文末获取) 第1小问:计算每月15日的太阳直射强度和总能量 1. 理解太阳直射辐射和光伏板的关系**:光伏板接收太阳辐射并转化为电能,直射辐射对光伏板的效率影响最大。 2. 收集…

[Vision Board创客营]学习片上Flash移植FAL

文章目录 [Vision Board创客营]学习片上Flash移植FAL介绍环境搭建使用组件测试porbeerasewriteread 结语 [Vision Board创客营]学习片上Flash移植FAL 水平较菜,大佬轻喷。😰😰😰 介绍 🚀🚀Vision-Board 开…

Leetcode算法训练日记 | day29

一、递增子序列 1.题目 Leetcode:第 491 题 给你一个整数数组 nums ,找出并返回所有该数组中不同的递增子序列,递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素,如出现两个整数相等&…

“低价竞争”仍在继续,分期免息成商家新武器

近日,在京东618商家生态伙伴大会上,京东推出各项政策,尽全力让所有合作伙伴赢在京东618、赢在京东。京东金融也将在618大促期间,为各位商家带来极具竞争力的金融产品和大促政策。 举例来说,大促期间,“京东…

基于SSM+Jsp+Mysql的文物管理系统

开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…

js高级 笔记02

目录 01 object提供的一些静态方法 02 词法作用域 03 作用域链 04 arguments的使用 05 开启严格模式 06 高阶函数 07 闭包 01 object提供的一些静态方法 Object.create() 对象继承 Object.assign(对象1,对象2) 对象合并 可以将对象2 里面的可枚举属性和自身的属性合并到…

Matlab r2023b Simulink 给子系统添加封面

写这篇记录的原因是,r2023b版本里改动了自定义封面的界面,而我是一个新手小白,零基础,探索一天之后发现实现方法。最终效果如图: 步骤1:打开软件,点击Simulink,再打开含有子系统的工…

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7

【题目】【信息安全管理与评估】2022年国赛高职组“信息安全管理与评估”赛项样题7 信息安全管理与评估 网络系统管理 网络搭建与应用 云计算 软件测试 移动应用开发 任务书,赛题,解析等资料,知识点培训服务 添加博主wx:liuliu548…

SpringSecurity源码4

SecurityContext.class 当前线程关联的最小安全信息,提供Authentication的get/set方法 SecurityContextHolder.class SecurityContext的持有器 // 全部委托给策略类public static void setContext(SecurityContext context) {strategy.setContext(context);}public …

FFmpeg: 自实现ijkplayer播放器--03UI界面设计

文章目录 UI设计流程图UI设计界面点击播放功能实现 UI设计流程图 UI设计界面 主界面 控制条 播放列表 画面显示 标题栏 设置界面 提示框 点击播放功能实现 槽函数实现: connect(ui->ctrlBarWind, &CtrlBar::SigPlayOrPause, this, &Main…

[渗透测试学习] TwoMillion-HackTheBox

TwoMillion-HackTheBox 信息搜集 nmap扫描一下 nmap -sV -v 10.10.11.221扫描结果 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.9p1 Ubuntu 3ubuntu0.1 (Ubuntu Linux; protocol 2.0) 80/tcp open http nginx 3851/tcp f…

4.18作业

顺序栈: #include "seq_stack.h" seq_p creat_stack() //从堆区申请顺序栈的空间 {seq_p S(seq_p)malloc(sizeof(seq_stack));if(SNULL){printf("空间申请失败\n");return NULL;}bzero(S->data,sizeof(S->data));S->top-1;return S; …

多任务学习,在共享层,究竟在共享什么?

在多任务学习中,共享层所共享的主要是网络结构和参数。具体来说,当多个任务在共享层进行参数硬共享时,它们使用的是相同的网络结构(例如三层全连接神经网络),并且这些网络层的权重(weights&…

深入解析Nacos配置中心的动态配置更新技术

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在微服务架构中,配置管理变得尤为关键。Nacos,作为一个开源的、易于使用的、功能丰富的平台,为…

【MATLAB源码-第28期】基于matlab的16QAM定时同步仿真,采用gardner算法,Costa锁相环。

操作环境: MATLAB 2022a 1、算法描述 正交幅度调制(QAM,Quadrature Amplitude Modulation)是一种在两个正交载波上进行幅度调制的调制方式。这两个载波通常是相位差为90度(π/2)的正弦波,因此…

02 - Git 之命令 + 删除 + 版本控制 + 分支 + 标签 + 忽略文件 + 版本号

1 Git相关概念 1.1 以下所谈三个区,文件并不只是简单地在三个区转移,而是以复制副本的方式转移 使用 Git 管理的项目,拥有三个区域,分别是 Working area工作区(亦称为 工作树Working Tree)、stage area …

[渗透测试学习] Monitored-HackTheBox

Monitored-HackTheBox 信息搜集 nmap扫描一下端口 nmap -sV -sC -v --min-rate 1000 10.10.11.248扫描结果如下 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.4p1 Debian 5+deb11u3 (protocol 2.0) 80/tcp open http Apache httpd …

视觉位置识别与多模态导航规划

前言 机器人感知决策是机器人移动的前提,机器人需要对周围环境实现理解,而周围环境通常由静态环境与动态环境构成。机器人在初始状态或者重启时需要确定当前所处的位置,然后根据用户的指令或意图,开展相应移动或抓取操作。通过视觉…

【分治】Leetcode 排序数组

题目讲解 912. 排序数组 算法讲解 我们这里使用三指针&#xff0c;将数组分成三块&#xff1a;<key 和 key 和 >key,如果当前指针指向的数字<key&#xff0c;我们就swap(nums[left]), nums[i] 。如果当前的数字key &#xff0c;就让i。如果当前的数字>key&…