AIGC|实践探索Langflow集成AzureOpenAI

news2025/1/23 7:13:54

目录

一、背景

二、AzureOpenAI介绍

三、langflow集成支持AzureOpenAI

langflow集成AzureOpenAI联通改造流程:

四、效果演示


一、背景

langflow是一个LangChain UI,它提供了一种交互界面来使用LangChain,通过简单的拖拽即可搭建自己的实验、大数据模型flow。

由于目前langflow的流程中不支持AzureOpenAI,因此本文将介绍如何在langflow中引入AzureopenAI。

二、AzureOpenAI介绍

Azure OpenAI是一种云服务,帮助企业和开发人员快速构建、训练和部署AI应用程序。该服务运行在Microsoft Azure上,因此用户无需购买专门的硬件或软件。它利用OpenAI强大的语言模型(如GPT-3、Codex、Embeddings等),通过REST API进行调用,并能够轻松调整以适应特定任务。

最重要的是,Azure OpenAI允许用户申请API_KEY,以便在国内直接使用大模型进行训练。相比之下,使用openAI可能需要魔法环境,而Azure OpenAI更加稳定。

三、langflow集成支持AzureOpenAI

首先在配置文件中增加AzureOpenAI的配置,让其可以在前端页面组件中展示出来,如下图所示:

重新启动后可以页面的LLms中看到AzureOpenAI组件,接下来分析页面节点组件初始化过程,页面节点组件初始化接口如下所示:

langflow集成AzureOpenAI联通改造流程:

1:分析langflow引入langchain的python库实现openAI的连接

openAI实现方式与AzureOpenAI的区别

# openAI初始化大模型llm
importos

os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
fromlangchain.llms importOpenAI
fromlangchain importPromptTemplate, LLMChain
template = """Question: {question}

Answer: Let's think step by step."""

prompt = PromptTemplate(template=template, input_variables=["question"])
llm = OpenAI()

langflow初始化openAI只需要OPENAI_API_KEY即可,AzureOpenAI需要参数OPENAI_API_TYPE 现有的组件配置不支持此参数,会导致AzureOpenAI初始化失败,因此langflow暂未开放集成AzureopenAI。

langflow改造instantiate_based_on_type 通用初始化llm组件的地方需要根据AzureOpenAI特殊处理,添加AzureOpenAI的instantiate方法即可。

# 核心初始化AzureOpenAI方法
def instantiate_azureOpenAI(class_object, params):
return class_object(deployment_name=params.get('model_name'), model_name=params.get('model_name')
,openai_api_key=params.get('openai_api_key'),openai_api_base=params.get('openai_api_base')
,openai_api_type="azure",openai_api_version=params.get('openai_api_version'))

四、效果演示

启动langflow前后端服务,访问前端服务界面 导入Basic Chat 模板flow 替换open的llms 如下所示:

按照要求输入OpenAI API key、OpenAI API Base、OpenAI API Type、OpenAI API version ,并填入相关内容。

接下来可以进行问题提问,输入问题即可使用AzureOpenAI,无需使用VPN代理稍等片刻出现如下结果。

至此,全部操作已完成,有兴趣的小伙伴可以自己试一试。

作者:付天愿| 高级后端开发工程师

版权声明:本文由神州数码云基地团队整理撰写,若转载请注明出处。

公众号搜索神州数码云基地,了解更多AI相关技术干货。

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

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

相关文章

【文件读取/包含】任意文件读取漏洞 afr_1

1.1漏洞描述 漏洞名称任意文件读取漏洞 afr_1漏洞类型文件读取漏洞等级⭐漏洞环境docker攻击方式 1.2漏洞等级 高危 1.3影响版本 暂无 1.4漏洞复现 1.4.1.基础环境 靶场docker工具BurpSuite 1.4.2.靶场搭建 1.创建docker-compose.yml文件 version: 3.2 services: web: …

图片转excel表格怎么弄?有何密笈?

一般的软件要将图片转excel表格,都需要待识别的图片要有明显清晰的表格线,但金鸣识别则不需要这些条件的限制,即便是无表格线或缺少横线或竖线的图片,也能很好地识别成excel,另外,别的软件一般会限制文件大…

足跟痛筋膜炎最佳的治疗

足跟疼痛最常见的原因是跟腱炎。跟腱是从小腿肌肉到足跟骨的伸展部分。其他原因包括设备不当,走路加重脚跟的冲击力,鞋里面没有足弓的支撑,因为肥胖或怀孕脚弓变平,这可能会增加足跟疼痛的风险。除了跟腱炎外,足底筋膜…

python对数据的处理合集——字典、列表...

1.两个列表的数据对比 ①list2包含了list1,求出list2多余的值 #codingutf-8list1[1,3,5] list2[1,3,5,7,9,11] list[] for i in list2:if i not in list1:list.append(i) print(list)②求出两个列共同的值 ③两个列表合并 #第一种: list1 [1, 2, 3] list2 [4, …

ElasticSearch集群内存占用高?如何降低内存占用看这篇文章就够啦!(冻结索引)

ElasticSearch集群内存占用高?如果降低内存占用看这篇文章就够啦 一、冻结索引的介绍 经常搜索的索引被保留在内存中,因为重建索引和帮助高效搜索需要花费时间。另一方面,可能存在我们很少访问的索引。这些索引不需要占用内存,可…

MAC地址_MAC地址格式_以太网的MAC帧_基础知识

MAC地址 全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址 一.网络适配器(网卡) 要将计算机连接到以太网,需要使用相应的网络适配器(Adapter),网络适配器一般简称为“网卡”。在计算机内部,网卡与CPU之间的通信&…

聚观早报 |英伟达发布H200;夸克发布自研大模型

【聚观365】11月15日消息 英伟达发布H200 夸克发布自研大模型 iQOO 12系列开启销售 红魔9 Pro配置细节 禾赛科技第三季度营收4.5亿元 英伟达发布H200 全球市值最高的芯片制造商英伟达公司,正在升级其H100人工智能处理器,为这款产品增加更多功能&am…

天马行空的超级炫酷旋转图片-前端

一、实现代码&#xff08;html部分&#xff09; <!DOCTYPE html> <html> <head lang"en"><meta charset"UTF-8"><title>3D旋转</title><style type"text/css">*{padding: 0;margin: 0;}body,html{he…

笔记本电脑没有声音?几招恢复声音流畅!

笔记本电脑已经成为我们日常生活和工作的重要工具&#xff0c;而其中的声音是其功能之一。然而&#xff0c;有时您可能会遇到笔记本电脑没有声音的问题&#xff0c;这可能是由多种原因引起的。在本文中&#xff0c;我们将深入探讨笔记本电脑没有声音的常见原因&#xff0c;并提…

通过阿里云宕机这件事,来看国内程序员的畸形职场文化

1、阿里云宕机始末 阿里在变更这块有三板斧&#xff0c;可监控、可灰度&#xff0c;可回滚。另外他们内部非常喜欢用这类简短的语句传递意图。 听起来非常简单&#xff0c;就目前大多数互联网公司基础设施都会支持这3项&#xff0c;只是支持的程度不太一样&#xff0c;普通的监…

Freeswitch中CHANNEL_UNHOLD取回事件

1. CHANNEL_UNHOLD取回事件 2023-11-15T09:18:45.3740800 INFO c.e.c.v.s.c.i.FsServerEventHandler - eventReceived:CHANNEL_UNHOLD 2023-11-15T09:18:45.3740800 INFO c.e.c.v.s.c.i.FsServerEventHandler - EventBody********:{variable_effective_caller_id_number1000,…

【博客系统】 一

该博客系统基于servlet和mysql数据库 , 并且通过xshell终端工具部署至云服务器. 实现的功能包括: 1.博客列表页 2.博客详情页 3.登陆页面 4.强制登陆检查 5.获取用户信息 6.退出登陆 7.发布博客 一.系统展示 登陆页面 博客列表页 博客详情页 博客编辑页 下面就开始编写代码了.…

【Proteus仿真】【STM32单片机】锂电池管理系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真STM32单片机控制器&#xff0c;使用LCD1602显示模块、DS18B20温度传感器、PCF8691 ADC模块、按键、LED蜂鸣器模块等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示温…

Java方法中不使用的对象应该手动赋值为NULL吗?

在java方法中&#xff0c;不使用的对象是否应该手动赋值为null&#xff1f;我们先来通过一个示例看一下。 垃圾回收示例一 public class GuoGuoTest {public static void main(String[] args) {byte[] placeholder new byte[64 * 1024 * 1024];System.gc();} } 上面代码向内…

第五章 路由技术及应用

目录 5.1 直连路由概述 5.1.1 直连路由工作原理 5.1.2 直连路由配置 5.2 直连路由仿真 5.3 静态路由技术 5.3.1 静态路由定义 5.3.2 静态路由工作原理 5.3.3 静态路由配置 5.3.4 默认路由 (1) 默认路由概述 (2) 配置默认路由 (3) 默认路由应用场合&#xff1a;上网…

QGIS之二十四安装插件

1、从菜单栏中找到插件 2、搜索插件 从搜索框中搜索插件&#xff0c;如“cesium" 3、安装插件 4、查看插件 安装好的插件从这边可以看到&#xff0c;当然&#xff0c;其它插件可能在其它位置 5、已安装插件 可以查看已安装的插件

050-第三代软件开发-软件部署脚本(二)

第三代软件开发-软件部署脚本(二) 文章目录 第三代软件开发-软件部署脚本(二)项目介绍软件部署脚本(二) 关键字&#xff1a; Qt、 Qml、 bash、 shell、 脚本 项目介绍 欢迎来到我们的 QML & C 项目&#xff01;这个项目结合了 QML&#xff08;Qt Meta-Object Languag…

界面组件DevExpress Reporting v23.1亮点 - 全新升级报表查看器

DevExpress Reporting是.NET Framework下功能完善的报表平台&#xff0c;它附带了易于使用的Visual Studio报表设计器和丰富的报表控件集&#xff0c;包括数据透视表、图表&#xff0c;因此您可以构建无与伦比、信息清晰的报表 界面组件DevExpress Reporting v23.1已经发布一段…

pyclipper和ClipperLib操作多边型

目录 1. 等距离缩放多边形 1.1 python 1.2 c 1. 等距离缩放多边形 1.1 python 环境配置pip install opencv-python opencv-contrib-python pip install pyclipper pip install numpy import cv2 import numpy as np import pyclipperdef equidistant_zoom_contour(contour…

k8s pod常用运维命令

1. 概述 kubectl 命令是操作 Kubernetes 集群的最直接和最高效的途径&#xff0c;熟练掌握命令的使用能起到事半功倍的效果&#xff0c;整理命令有助于加深记忆&#xff0c;该文仅记录关于pod常用的操作运维命令。 2. 查看namespaces 查看k8s集群中目前存在的namespaces kub…