langchain + azure chatgpt组合配置并运行

首先默认你已经有了azure的账号。

最重要的是选择gpt-35-turbo-instruct模型、api_version:2023-05-15,就这两个参数谷歌我尝试了很久才成功。

我们打开https://portal.azure.com/#home,点击更多服务:

我们点击Azure OpenAI:

再点击创建:

azure访问有点慢,我们等一会后会跳转到下面页面:

如果没有资源组,则输入一个就行:

点击确定。

再看实例名称和定价层:

这里的名称会体现到最终调用时的接口域名地址,比如我们这里是在langchain中使用,我们就输入这个名称了,定价层就选择和我一样的就行,具体什么作用见:https://azure.microsoft.com/zh-cn/pricing/details/iot-central/

回到正文,上述必填项都填好后,点击下一页:

选择第一个:

再点下一页:
 

这一步的标记,我也没搞懂啥作用,我就跳过了,也不影响后面的使用,有知道的朋友也可以在评论区告诉我一下,我这里是直接点下一页了。

确认没问题后点击创建,之后系统会开始部署资源,部署好是这样的,我们点击转到资源:

我们先点击:单击此处查看终结点:

我们复制一下其中一个密钥和终结点的链接,因为在langchain要用到:

我们再点击模型部署:

这里要点击管理部署,跳转新页面。

在管理部署页,我们先看看模型:

这里按流程操作一下,主要是为了看哪个能用以langchain:

这里有好几个是可以完成的:

我们再回到部署页,输入:gpt-35-turbo-instruct:

最后点击创建,等待部署,这个步骤挺快的:

部署好了:

OK,到此为知,azure相关的资源配置就完成了,接下来我们去langchain中配置并调通azure chatgpt接口:

使用conda创建一个虚拟python环境:

conda create -n loogchain_study1 python=3.10

当然也可以不创建虚拟环境,看个人习惯,创建虚拟环境只是为了pip包之间隔离,每个项目使用不一样的python版本和pip包。

创建好环境后,还需要激活环境:
      conda activate loogchain_study1

再pip安装一下langchain所需的包:

pip install langchain_openai

pip install langchain

我们新建一个空目录专门用来放langchain的学习项目,我的做法是在这个空目录下建立setting.py(配置环境变量)和main.py(调用):

setting.py代码如下:

import os

# 传入刚才复制的密钥,就是有两个的密钥,复制其中一个即可

OPENAI_API_KEY = "xxxxxxxxxxxx"

# 这里的链接是终结点,直接复制过来就行

AZURE_OPENAI_ENDPOINT = "https://openai-study-yifang.openai.azure.com/"

# 其他参数不用动了

OPENAI_API_VERSION = "2023-05-15"

deployment_name = "gpt-35-turbo-instruct"

os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY

os.environ["AZURE_OPENAI_ENDPOINT"] = AZURE_OPENAI_ENDPOINT

os.environ["OPENAI_API_VERSION"] = OPENAI_API_VERSION

main.py最小可运行代码:

from langchain_openai import AzureOpenAI

import setting

llm = AzureOpenAI(deployment_name=setting.deployment_name)

# 直接发起会话

def direct_chat():

    text = "来个笑话"

    print(llm(text))

if __name__ == '__main__':

    direct_chat()

点击pycharm的运行:

就有结果了:

最后附上langchain的中文网指南:https://www.langchain.asia/getting_started/getting_started

这篇文章就到这里啦!如果你对文章内容有疑问或想要深入讨论,欢迎在评论区留言,我会尽力回答。同时,如果你觉得这篇文章对你有帮助,不妨点个赞并分享给其他同学,让更多人受益。

想要了解更多相关知识,可以查看我以往的文章,其中有许多精彩内容。记得关注我,获取及时更新,我们可以一起学习、讨论技术,共同进步。

感谢你的阅读与支持,期待在未来的文章中与你再次相遇!

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

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

相关文章

华为ensp中ospf多区域管理 原理及配置命令(详解)

作者主页:点击! ENSP专栏:点击! ————前言———— OSPF 多区域的主要作用是缩小链路状态数据库和路由表的规模,减少路由更新的频率,提高网络的可扩展性,实现路由过滤和路由汇总&#xff0…

A First Course in the Finite Element Method【Daryl L.】|PDF电子书

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…

zdpcss_transparent_animation_login:使用纯HTML+CSS+JS开发支持设置主题和带动画的科技风登录界面

废话不多说,先上图,有图有真相: 在左下角有一排颜色,点击可以设置主题色: 比如,我这里点击了橙色,登录界面就变成了如下样子: 另外,在输入账号和密码的时候&#x…

使用 ChatGPT 创建在线课程:一步一步指南与提示模板

原文:Creating Online Courses with ChatGPT 译者:飞龙 协议:CC BY-NC-SA 4.0 谢谢 作为对你支持的感谢,随意定制本书中列出的任何提示,并将其作为你自己的重新销售。是的,对你免费。 它们都结构良好且用…

蓝桥杯—DS1302

目录 1.管脚 2.时序&官方提供的读写函数 3.如何使用读写函数 4.如何在数码管中显示在DS1302中读取出的数据? 1.管脚 2.时序&官方提供的读写函数 /* # DS1302代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 参赛选手可以自行…

韩顺平Java | C23 反射Reflection

需求:通过外部文件配置,在不修改源码情况下控制程序(符合设计模式ocp开闭原则:不修改源码的情况下扩容功能) ※反射机制 反射机制允许程序在执行期间借助于ReflectioAPI取得任何类的内部信息(如成员变量&…

跨境金融区块链服务平台

跨境金融服务是因企业及个人跨境经营、交易、投资、往来等活动而产生的资金使用、调拨、配置等需求,而提供的金融服务。近年来,随着我国经济的快速稳步增长和全球化经济一体化的不断深入发展,跨境金融业务增长迅速,监管也开始转化…

AcWing 731. 毕业旅行问题(每日一题)

原题链接:731. 毕业旅行问题 - AcWing题库 此题难度较大,是2019年字节跳动校招题,里面涉及位运算与状态压缩DP,不会的可以去学习,此题根据个人量力而行。 建议看一下y总的讲解:AcWing 731. 毕业旅行问题&…

初识MySQL(中篇)

使用语言 MySQL 使用工具 Navicat Premium 16 代码能力快速提升小方法,看完代码自己敲一遍,十分有用 目录 1.SQL语言 1.1 SQL语言组成部分 2.MySQL数据类型 2.1 数值类型 2.2 字符串类型 2.3 日期类型 3.创建数据表 3.1 创建数据表方法1 …

Mybitis根据Date查询,查询不到数据的一种情况

使用SimpleDateFormat创建Date对象时,调用SimpleDateFormat构造方法时格式要写为“yyyy-MM-dd”,如果写成“yyyy-mm-dd”会查询不到数据

2024-HW --->SSRF

这不是马上准备就要护网了嘛,如火如荼的报名ing!!!那么小编就来查缺补漏一下以前的web漏洞,也顺便去收录一波poc!!!! 今天讲的主人公呢就是SSRF,以前学的时候…

windows server 配置DNS

配置DNS为本机IPV4地址 安装DNS服务器(默认即可)

【C++ STL排序容器】set 集合

文章目录 【 1. 基本原理 】【 2. set 的定义 】2.1 调用默认构造函数,创建空的 set 容器2.2 在创建 set 容器的同时,对其进行初始化2.3 拷贝构造的方式创建2.4 取已有 set 容器中的部分元素,来初始化新 set 容器2.5 修改排序规则的方式创建 …

Kotlin:for循环的几种示例

一、 打印 0 到 2 1.1 方式一:0 until 3 /*** 打印 0 到 2*/ fun print0To2M1(){for (inex in 0 until 3){// 不包含3print("$inex ")} }运行结果 1.2 方式二:inex in 0 …2 /*** 打印 0 到 2*/ fun print0To2M2(){for (inex in 0 ..2){//…

HarmonyOS NEXT应用开发之ForEach:循环渲染

ForEach接口基于数组类型数据来进行循环渲染,需要与容器组件配合使用,且接口返回的组件应当是允许包含在ForEach父容器组件中的子组件。例如,ListItem组件要求ForEach的父容器组件必须为 List组件 。 说明: 从API version 9开始&a…

环形链表的约瑟夫问题

著名的 Josephus 问题: 据说著名犹太历史学家Josephus(弗拉维奥约瑟夫斯)有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到&…

【哈希表专题】(1. 两数之和 面试题 01.02. 判定是否互为字符重排 217. 存在重复元素 219. 存在重复元素 II 49. 字母异位词分组)

文章目录 哈希表1. 两数之和面试题 01.02. 判定是否互为字符重排217. 存在重复元素219. 存在重复元素 II49. 字母异位词分组 哈希表 哈希表是什么:存储数据的容器 作用:快速查找某个元素。O(1) 当我们需要频繁的查找某一个数的时候,可以使…

图像拼接——最小割准则提取拼接缝

一、最大流问题与Ford-Fulkerson算法介绍 二、最大流与最小割 显然,我们有对任意一个割,穿过该割的净流量上界就是该割的容量,即不可能超过割的容量。所以网络的最大流必然无法超过网络的最小割。最小割是指割的容量最小,最大流是指网络当中最大的净流量,简单的例子s是水龙…

【蓝桥备赛】异或和——树状数组、DFS

题目链接 异或和 思路分析 树上每个点都有一个点权,对树上的更新操作是修改指定点的点权,查询操作是查询指定点为根结点的子树点权异或和。 这里的这些操作都和树状数组的单点修改和区间查询非常相似,即我们在修改一个点时,同时…

蓝桥杯真题:递增序列

import java.util.Scanner; // 1:无需package // 2: 类名必须Main, 不可修改 public class Main {public static int is1(char ch[][],int m,int n){int ans0;for (int i0;i<m;i){for (int j0;j<n;j){int add1;while(jadd<n){if(ch[i][j]<ch[i][jadd]) ans; //横…