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.rhkb.cn/news/304576.html

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

相关文章

竞品数据的监测范围

常规的数据监测一般指的是价格监测,品牌对线上产品链接中的页面价、到手价进行监测,同时也可监测标题变化、销量变化、库存变化、优惠信息变化等,对于对够执行数据监测的系统来说,不管哪个品牌的数据都可做到以上维度的监测&#…

【算法基础】选择排序与冒泡排序的思想与实现

文章目录 1. 选择排序1.1 思想1.2 实现 2. 冒泡排序2.1 思想2.2 实现 1. 选择排序 1.1 思想 选择排序的思想很简单,如上图所示。在每一次遍历子数组的过程中,选择最小的和子数组的第一位交换。子数组的选择从一开始的整个数组,到后面范围逐渐…

全局锁和表锁 :给表加个字段怎么有这么多阻碍?

全局锁和表锁 :给表加个字段怎么有这么多阻碍? 今天我要跟你聊聊 MySQL 的锁。数据库锁设计的初衷是处理并发问题。作为多用户共享的资源,当出现并发访问的时候,数据库需要合理地控制资源的访问规则。而锁就是用来实现这些访问规则…

互联网大厂ssp面经之路:计算机网络part1

1. 计算机网络的组成部分有哪些? a. 硬件设备:计算机网络由各种硬件设备组成,包括计算机、服务器、路由器、交换机、网卡等。这些设备通过物理连接(如网线、光纤)相互连接。 b. 协议:计算机网络中的通信需…

ROS2 采集虚拟仿真环境图像并发布

简介:ROS2功能的学习我们还是在基于OpenAI的gym虚拟仿真环境中来完成,gym虚拟仿真环境安装请参考另一篇教程,这里不再重复说明,接下来我们开始创建一个ROS2的功能节点,并发布虚拟仿真环境小车摄像头的图像,…

图像分割-RSPrompter

文章目录 前言1. 自动化提示器1.1 多尺度特征增强器1.2 RSPrompterAnchor-based PrompterQuery-based Prompter 2. SAM的扩展3. 结果WHU数据集NWPU数据集SSDD数据集 前言 《RSPrompter: Learning to prompt for remote sensing instance segmentation based on visual foundati…

即插即用篇 | YOLOv5/v7引入Haar小波下采样 | 一种简单而有效的语义分割下采样模块

本改进已集成到 YOLOv5-Magic 框架。 下采样操作如最大池化或步幅卷积在卷积神经网络(CNNs)中被广泛应用,用于聚合局部特征、扩大感受野并减少计算负担。然而,对于语义分割任务,对局部邻域的特征进行池化可能导致重要的空间信息丢失,这有助于逐像素预测。为了解决这个问题…

前端window.open的简单使用

JavaScript 中的 Window.open() 用法详解-CSDN博客 window.open("https://www.baidu.com/?tn49055317_12_hao_pg", _blank);

如何在mac毒轻松获取佣金收益

目前 mac毒(macdo.cn) 网站开启了获取佣金的渠道,你可以通过分享专属推广链接的方式来获取佣金。 下面介绍一下具体如何操作: 如何获取专属推广链接 1.首先你需要在mac毒网站注册一个自己的账号,然后在前台进入「会员中心」 2. 接着进入「推…

[leetcode]remove-duplicates-from-sorted-list

. - 力扣(LeetCode) 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 示例 1: 输入:head [1,1,2] 输出:[1,2]示例 2: 输入&…

【全套源码教程】基于SpringBoot+MyBatis+Vue的流浪动物救助网站的设计与实现

目录 前言 需求分析 可行性分析 技术实现 后端框架:Spring Boot 持久层框架:MyBatis 前端框架:Vue.js 数据库:MySQL 功能介绍 前台界面功能介绍 动物领养及捐赠 宠物论坛 公告信息 商品页面 寻宠服务 个人中心 购…

(React生命周期)前端八股文修炼Day8

一 React的生命周期有哪些 React组件的生命周期可以分为三个主要阶段:挂载(Mounting)、更新(Updating)和卸载(Unmounting)。React类组件的生命周期方法允许你在组件的不同阶段执行代码。 挂载…

golang的引用和非引用总结

目录 概述 一、基本概念 指针类型(Pointer type) 非引用类型(值类型) 引用类型(Reference Types) 解引用(dereference) 二、引用类型和非引用类型的区别 三、golang数据类型…

7-20 打印九九口诀表

题目链接&#xff1a;7-20 打印九九口诀表 一. 题目 1. 题目 2. 输入输出格式 3. 输入输出样例 4. 限制 二、代码 1. 代码实现 #include <stdio.h>int main(void) {unsigned int n;if (scanf("%d", &n) ! 1) {return -1;}for (int i 1; i < n; i) …

线程池详解

线程池 什么是线程池&#xff1a;线程池就是管理一系列线程的资源池。 当有任务要处理时&#xff0c;直接从线程池中获取线程来处理&#xff0c;处理完之后线程并不会立即被销毁&#xff0c;而是等待下一个任务。 为什么要用线程池 / 线程池的好处&#xff1a; **降低资源消…

FPGA开源项目分享——基于 DE1-SOC 的 String Art 实现

导语 今天继续康奈尔大学FPGA课程ECE 5760的典型案例分享——基于DE1-SOC的String Art实现。 &#xff08;更多其他案例请参考网站&#xff1a; Final Projects ECE 5760&#xff09; 1. 项目概述 项目网址 ECE 5760 Final Project 项目说明 String Art起源于19世纪的数学…

Taro打包生成不同目录

使用taro init创建taro项目时&#xff0c;taro默认打包目录是&#xff1a; /config/index.js outputRoot:dist默认的目录&#xff0c;编译不同平台代码时就会覆盖掉&#xff0c;为了达到多端同步调试的目的&#xff0c;这时需要修改默认生成目录了&#xff0c;通过查看官方文…

【MySQL数据库 | 第二十六篇】InnoDB基本数据存储单元以及存在问题

前言&#xff1a; InnoDB作为MySQL中最常用的存储引擎之一&#xff0c;承载着许多数据库系统的关键任务&#xff0c;如事务管理、并发控制和数据完整性保障。 然而&#xff0c;就像任何技术一样&#xff0c;InnoDB也并非完美无缺。在深入了解其工作原理和特性的同时&#xff…

ExoPlayer停止更新,建议升级到AndroidX Media3

1. 大家常用的ExoPlayer地址&#xff1a;GitHub - google/ExoPlayer: An extensible media player for Android ExoPlayer是谷歌官方提供的媒体播放库&#xff0c;大家在开发项目中经常使用ExoPlayer播放音视频&#xff0c;谷歌官方已经明确表示该库在2024-04-03停止更新&…

鸿蒙Native输出so动态库,并提供给第三方导入使用

前言&#xff1a; DevEco Studio版本&#xff1a;4.0.0.600 API:9 最近在学习鸿蒙的Native输出so动态库&#xff0c;下面就给大家分享下我的学习心得及在实现过程中遇到的问题。 实现需求&#xff1a;通过so库输出文本内容 “你好&#xff0c;鸿蒙&#xff01;” 参考资料…