Langchain 使用 OpenAI 聊天模型

Langchain 使用 OpenAI 聊天模型

本笔记本介绍了如何开始使用 OpenAI 聊天模型。

示例代码,

from langchain.chat_models import ChatOpenAI
from langchain.prompts.chat import (ChatPromptTemplate,SystemMessagePromptTemplate,AIMessagePromptTemplate,HumanMessagePromptTemplate,
)
from langchain.schema import AIMessage, HumanMessage, SystemMessage
chat = ChatOpenAI(temperature=0)

上面的示例代码假设您的 OpenAI API 密钥已在环境变量中设置。如果您想手动指定 API 密钥和/或组织 ID,请使用以下代码:

chat = ChatOpenAI(temperature=0, openai_api_key="YOUR_API_KEY", openai_organization="YOUR_ORGANIZATION_ID")

如果 openai_organization 参数不适用于您,请将其删除。

messages = [SystemMessage(content="You are a helpful assistant that translates English to French."),HumanMessage(content="Translate this sentence from English to French. I love programming."),
]
chat(messages)

您可以通过使用 MessagePromptTemplate 来使用模板。

您可以从一个或多个 MessagePromptTemplates 构建 ChatPromptTemplate

您可以使用 ChatPromptTemplateformat_prompt —— 这会返回 PromptValue ,您可以将其转换为字符串或 Message 对象,具体取决于您是否想要使用格式化值作为 llm 或聊天模型的输入。

为了方便起见,模板上公开了一个 from_template 方法。如果您要使用此模板,它将如下所示:

template = ("You are a helpful assistant that translates {input_language} to {output_language}."
)
system_message_prompt = SystemMessagePromptTemplate.from_template(template)
human_template = "{text}"
human_message_prompt = HumanMessagePromptTemplate.from_template(human_template)
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt]
)# get a chat completion from the formatted messages
chat(chat_prompt.format_prompt(input_language="English", output_language="French", text="I love programming.").to_messages()
)
chat_prompt = ChatPromptTemplate.from_messages([system_message_prompt, human_message_prompt]
)# get a chat completion from the formatted messages
chat(chat_prompt.format_prompt(input_language="English", output_language="French", text="I love programming.").to_messages()
)

完结!

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

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

相关文章

Jmeter+Jenkins+Ant自动化持续集成环境搭建

一、安装准备 1.JDK:jdk-8u121-windows-x64 2.jmeter工具:apache-jmeter-2.13 3.ANT工具:apache-ant-1.9.7-bin 4.jenkins工具:jenkins-2.32.2 二、软件安装 1.JDK的安装 >双击JDK安装包,选择安装路径(本人是…

详细总结Webpack5的配置和使用

打包工具 使用框架(React、Vue),ES6 模块化语法,Less/Sass 等 CSS预处理器等语法进行开发的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、CSS 等语法,才能运行。 所以需要打包工具帮我们做完这些事。除此之…

3、C# 方法构成

上一节,我们讲述了程序的基本构成。由大到小分别为”解决方案-->项目-->类-->方法“。 这一节,我们讲讲方法。 方法可以说是程序的基本构成单位。假如把方法抽象成点的话,我们可以认为程序是一个树状的结构。树根,就是我们的起点方法,也叫主方法。这一点,基本…

决策树(Decision Tree)

决策树的原理 决策树算法是一种基于树结构的分类和回归算法。它通过对数据集进行递归地分割,构建一个树形模型,用于预测目标变量的值。 决策树的构建过程基于以下原理: 1. 特征选择:选择最佳的特征来进行数据集的分割。常用的…

堆排序与直接选择排序

目录 一、直接选择排序 1.基本思想 2.直接选择排序的特性总结 3.代码实现: 二、堆排序 1. 概念: 2.图像实现: 3.代码实现: 一、直接选择排序 1.基本思想 每一次从待排序的数据元素中选出最小(或最大&#xff09…

MySQL多表连接查询练习

准备工作 创建student表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) );创建score表 CREATE TABLE score ( id INT(10) NOT …

NetSuite ERP顾问的进阶之路

目录 1.修养篇 1.1“道”是什么?“器”是什么? 1.2 读书这件事儿 1.3 十年计划的力量 1.3.1 一日三省 1.3.2 顾问损益表 1.3.3 阶段课题 2.行为篇 2.1协作 2.2交流 2.3文档管理 2.4时间管理 3.成长篇 3.1概念能力 3.1.1顾问的知识结构 …

大数据学习05-Kafka分布式集群部署

系统环境:centos7 软件版本:jdk1.8、zookeeper3.4.8、hadoop2.8.5 本次实验使用版本 kafka_2.12-3.0.0 一、安装 Kafka官网 将安装包上传至linux服务器上 解压 tar -zxvf kafka_2.12-3.0.0.tgz -C /home/local/移动目录至kafka mv kafka_2.12-3.0…

护城河理论

护城河理论 护城河理论|来自股神巴菲特,是指投资的企业在某一方面的核心竞争力。 模型介绍 在2000年的伯克希尔哈撒韦的年会上,巴菲特说:让我们来把护城河作为一个伟大企业的首要标准,保持它的宽度,保持它不被跨越。我…

听GPT 讲K8s源代码--pkg(五)

在 Kubernetes 中,kubelet 是运行在每个节点上的主要组件之一,它负责管理节点上的容器,并与 Kubernetes 控制平面交互以确保容器在集群中按照期望的方式运行。kubelet 的代码位于 Kubernetes 代码库的 pkg/kubelet 目录下。 pkg/kubelet 目录…

算法-快速排序-java

下面是使用Java实现快速排序的一种方法&#xff1a; public class QuickSort {public static void quickSort(int[] arr, int low, int high) {if (low < high) {// 将数组划分为两个子数组&#xff0c;并获取划分点的索引int pivotIndex partition(arr, low, high);// 递…

数学建模-分类模型 Fisher线性判别分析

论文中1. 判别分析系数 2. 分类结果 多分类问题 勾选内容和上面一样

【C++】入门 --- 命名空间

文章目录 &#x1f36a;一、前言&#x1f369;1、C简介&#x1f369;2、C关键字 &#x1f36a;二、命名冲突&#x1f36a;三、命名空间&#x1f369;1、命名空间定义&#x1f369;2、命名空间的使用 &#x1f36a;四、C输入&输出 &#x1f36a;一、前言 本篇文章是《C 初阶…

机器人中常见的定位技术

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言机器人中常见的定位方案惯性导航卫星导航组合导航UWB定位2D激光SLAM3D激光SLAM二维码定位视觉SLAM前言 认知有限,望大家多多包涵,有什么问题也希…

var、let和const的区别

先简单了解一下 var声明的变量会挂载在window上&#xff0c;而let和const声明的变量不会&#xff1a; var a 100; console.log(a,window.a); // 100 100let b 10; console.log(b,window.b); // 10 undefinedconst c 1; console.log(c,window.c); // 1 undefined v…

Linux笔记——管道相关命令以及shell编程

文章目录 管道相关命令 目标 准备工作 1 cut 1.1 目标 1.2 路径 1.3 实现 2 sort 2.1 目标 2.2 路径 2.3 实现 第一步: 对字符串排序 第二步&#xff1a;去重排序 第三步: 对数值排序 默认按照字符串排序 升序 -n 倒序 -r 第四步: 对成绩排序【按照列排序】 …

ffmpeg中filter_query_formats函数解析

ffmpeg中filter_query_formats主要起一个pix fmt引用指定的功能。 下下结论&#xff1a; 先看几个结构体定义&#xff1a; //删除了一些与本次分析不必要的成员 struct AVFilterLink {AVFilterContext *src; ///< source filterAVFilterPad *srcpad; ///<…

ES6-day03

ES6-类-Symbol 1.类 在javascript语言中&#xff0c;生成实例对象使用构造函数&#xff1b;ES6提供了类Class这个概念&#xff0c;作为对象的模板。定义一个类通过class关键字&#xff0c;ES6的类可以看成是构造函数的另一种写法。 ES5 如何继承 实例使用属性和方法1.从实例对象…

PhpStudy靶场首页管理

PhpStudy靶场首页管理 一、源码一二、源码二三、源码三四、源码四 一、源码一 index.html <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>靶场访问首页</title><style>body {background-color: #f2f2f2;colo…

《数据结构》栈,队列,双向链表

目录 栈 栈概念 顺序栈 链式栈&#xff08;链表实现&#xff09; 顺序栈和链式栈的区别是什么&#xff1f; 队列 队列概念 顺序队列 链式队列 双向链表 栈 栈概念 什么是栈&#xff1f; 只能在一端进行插入和删除数据的线性表(称为栈)&#xff0c;把能进行插入和删…