吴恩达<用于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响应,就可以得到符合我们指定格式的内容。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用Google reCAPTCHA防止机器注册

本文作者:陈进坚 博客地址:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu.com/u/8ba9ac5706b6 联系方式:jian1098qq.com 环境要求 能翻墙的电脑域名 验证原理 在谷歌…

python3--lxml pytoml.core.TomlError expected_equals报错解决

文章目录 一、问题二. 解决方法:三. 参考:四. 总结 一、问题 在ubuntu的armbian上的python3中安装lxml时报错了 安装命令是 pip3 install lxml报错简略信息如下图 File "/usr/share/python-wheels/pytoml-0.1.2-py2.py3-none-any.whl/pytoml/par…

k8s 控制器StatefulSet原理解析

🐇明明跟你说过:个人主页 🏅个人专栏:《Kubernetes航线图:从船长到K8s掌舵者》 🏅 🔖行路有良友,便是天堂🔖 目录 一、前言 1、k8s概述 2、有状态服务和无状态服务…

intelli J中添加maven依赖显示unable to import Maven project?如何解决??

🏆本文收录于「Bug调优」专栏,主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&…

计算机网络练习-计算机网络体系结构与参考模型

计算机网络分层结构 ----------------------------------------------------------------------------------------------------------------------------- 1.在ISO/OSI参考模型中,实现两个相邻结点间流量控制功能的是( )。 A.物理层 B. 数据链路层 C.网络层 D.传…

图像分割:Pytorch实现UNet++进行医学细胞分割

图像分割:Pytorch实现UNet进行医学细胞分割 前言相关介绍项目结构具体步骤准备数据集读取数据集设置并解析相关参数定义网络模型定义损失函数定义优化器训练验证 参考 前言 由于本人水平有限,难免出现错漏,敬请批评改正。更多精彩内容&#x…

50-RGMIISGMIIQGMII电路设计

视频链接 RGMII&SGMII&QGMII电路设计01_哔哩哔哩_bilibili RGMII & SGMII & QSGMII电路设计 1、以太网简介(参考第2课:千兆以太网电路设计) 1.1、以太网的概述 以太网是一种计算机局域网技术。 从硬件的角度来说&#x…

祝贺十九岁的美创,一天拿了5个奖!

今天,和19岁的美创一起数奖🥇🥇🥇 刚刚,北京、杭州两地接连传来好消息—— 北京 被誉为中国IT业界延续时间最长的年度盛会——由赛迪顾问主办的2024年IT市场年会于今日隆重召开,备受瞩目的“首届IT创新大赛…

一份超详细的鸿蒙开发面经分享!上百道鸿蒙经典面试题整理~

鸿蒙(HarmonyOS)作为华为公司自主研发的全场景分布式操作系统,受到了广泛关注。 在面试中,面试官往往会关注申请人的技术能力、项目经验以及解决问题的能力。 下面是一些关于鸿蒙开发具有3年工作经验的面试题及其相关问答&#…

SpringBoot框架——8.MybatisPlus常见用法(常用注解+内置方法+分页查询)

1.MybatisPlus常用注解: 1.1 当数据库、表名和字段名和实体类完全一致时无需加注解,不一致时: TableName指定库名 TableId指定表名 TableField指定字段名 1.2 自增主键: TableId(typeIdType.AUTO) private Long id; 1.3 实体类中属…

python环境引用《解读》----- 环境隔离

首先我先讲一下Anaconda,因为我用的是Anaconda进行包管理。方便后面好理解一点。 大家在python中引用环境的时候都会经历下面这一步: 那么好多人就会出现以下问题(我就是遇到了这个问题): 我明明下载了包&#xff0c…

编程填空题:麻烦的位运算

闲着没事干可以做做 可以看到,那个函数直接return了,也就是说,得找到一个表达式,直接求出结果 简单分析一下: 其第i位为1当且仅当n的右边i位均为1 也就是说,前i-1位有0,第i位就是0 也就是说…

针对springcloud gateway 跨域问题解决方案

springcloud gateway版本 <spring-boot.version>2.3.3.RELEASE</spring-boot.version> <spring-cloud.version>Hoxton.SR8</spring-cloud.version>跨域问题说明 application:1 Access to XMLHttpRequest at https://xxxxxxxxxx from origin http://l…

创新入门|用户体验设计策略:数字化成功的蓝图

今天,我们来深入探讨如何打造令人兴奋的用户体验设计策略。将数字产品和服务从“普通”提升到“太棒了”的高度,这将是我们的主题。为什么这一策略那么重要呢?在当今被各种数字产品“轰炸”的世界,一个可靠的体验策略可能决定用户是否长期使用,还是一弹而走。我们都曾深受那种…

【Canvas技法】六种环状花纹荟萃

【图例】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>使用HTML5/Canvas绘制六种环状花纹</title><style type&quo…

万兆以太网10G Ethernet简介

2002年6月IEEE标准协会批准了万兆&#xff08;10G&#xff09;以太网的正式标准。此标准的全名是“10Gbit/s工作的媒体接入控制参数、物理层和管理参数”。 另一个组织是10G以太网联盟(10GEA)。10GEA由网络界的著名企业创建&#xff0c;现已有一百多家企业参加&#xff0c;中国…

林草资源管理系统:构筑绿色长城,守护自然之美

在全球气候变化和生态环境恶化的背景下&#xff0c;森林和草原资源的保护、恢复和合理利用显得尤为重要。林草资源管理系统的建立&#xff0c;旨在通过现代信息技术手段&#xff0c;提升林草资源管理的效率和质量&#xff0c;确保自然资源的可持续发展。 项目背景 森林和草原…

初学python记录:力扣705. 设计哈希集合

题目&#xff1a; 不使用任何内建的哈希表库设计一个哈希集合&#xff08;HashSet&#xff09;。 实现 MyHashSet 类&#xff1a; void add(key) 向哈希集合中插入值 key 。bool contains(key) 返回哈希集合中是否存在这个值 key 。void remove(key) 将给定值 key 从哈希集合…

基于Java+SpringBoot+Vue前后端分离精简博客系统设计和实现

基于JavaSpringBootVue前后端分离精简博客系统设计和实现 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系…

线程互斥,线程安全和线程同步

多线程的基本代码编写步骤 1.创建线程pthread_create() 2.终止线程的三种方法。线程取消pthread_cancel(一般在主线程取消)&#xff0c; 线程终止pthread_exit(在其他线程执行)&#xff0c; 或者使用线程返回return 3.线程等待pthread_join 需要等待的原因是 1.已经退出的线程…