AIGC|实践探索Langflow集成AzureOpenAI

目录

一、背景

二、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相关技术干货。

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

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

相关文章

时区、时间戳、时间点三者的关系

时区、时间戳、时间点这三个概念与Java的Date类和Calendar类紧密联系。分别说说区别。然后说一下Java的Date类和Calendar类 1. 时间戳 时间戳指的就是Unix时间戳(Unix timestamp)。它也被称为Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式&…

如何调整图片尺寸:简单实用的教程分享

报名事业编考试的时候,会发现上传照片时会提示图片大小尺寸应该为多少,如果不符合规定就无法提交报名,那么怎么才能修改图片大小呢?最简单的方法就是利用调整照片大小工具来对图片尺寸修改,本文分享一个在线图片处理工…

BLIP:统一视觉语言理解与生成的预训练模型

Li J, Li D, Xiong C, et al. Blip: Bootstrapping language-image pre-training for unified vision-language understanding and generation[C]//International Conference on Machine Learning. PMLR, 2022: 12888-12900. BLIP 是 Salesforce 在 2022 年的工作,文…

分布式锁~

分布式锁 分布式锁是在分布式系统中用于协调多个节点之间对共享资源的访问的一种机制。个人认为实现分布式锁,需要一个中间件例如数据库,redis等等这样的存储锁即可实现分布式锁。 分布式锁实现方案 基于数据库(唯一索引) 基于内存(redis,…

CMIP6数据处理及在气候变化、水文、生态等领域中的实践技术应用

查看原文>>>最新CMIP6数据处理及在气候变化、水文、生态等领域中的实践技术应用 气候变化对农业、生态系统、社会经济以及人类的生存与发展具有深远影响,是当前全球关注的核心议题之一。IPCC(Intergovernmental Panel on Climate Change&#…

太激动了!摄像头终于有画面了!

有了放弃的想法 摄像头APP在我这里好好的,到了老外那里就不能 用。反复试了几套源码,都没有画面。后来干脆把老外说通用的APK反编译后,新做了个APP,结果还是没画面。到了这个时候,我是真的有点沮丧,准备放弃…

七、Nacos和Eureka的区别

一、nacos注册中心 二、临时实例与非临时实例 三、区别 Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式临时实例心跳不正常会被剔除,非临时实例则不会被剔除Nacos支持服务列表变更的消息推送模式,服务…

软件外包开发文档需要注意的问题

编写软件开发文档时需要注意以下一些关键问题,以确保文档的质量、有效性和可维护性,通过关注这些问题,您可以确保软件开发文档更容易被理解、使用和维护,从而提高项目的成功几率。北京木奇移动技术有限公司,专业的软件…

3.5-构建自己的Docker镜像

首先介绍两个命令: 1.docker container commit,可以简写为:docker commit。这个命令是把一个修改后的container重新变成一个image。 2.docker image build,可以简写为:docker build 首先,演示一下docker c…

接口中的大事务,该如何进行优化?

作为后端开发的程序员,我们常常会的一些相对比较复杂的逻辑,比如我们需要给前端写一个调用的接口,这个接口需要进行相对比较复杂的业务逻辑操作,比如会进行,查询、远程接口或本地接口调用、更新、插入、计算等一些逻辑…

论文阅读:YOLOV: Making Still Image Object Detectors Great at Video Object Detection

发表时间:2023年3月5日 论文地址:https://arxiv.org/abs/2208.09686 项目地址:https://github.com/YuHengsss/YOLOV 视频物体检测(VID)具有挑战性,因为物体外观的高度变化以及一些帧的不同恶化。有利的信息…

CSS---关于font文本属性设置样式总结

目录 1、color属性 2、font-size属性 3、font-weight属性 4、font-family属性 5、text-align属性 6、line-height属性 7、text-indent属性 8、letter-spacing属性 9、word-spacing属性 10、word-break属性 11、white-space属性 12、text-transform 12、writing-mo…

Git常用操作-MD

文章目录 1. 本地创建分支,编写代码,提交本地分支到远程仓库2. 提交本地代码到本地仓库3. 提交本地代码到本地dev分支4. 提交本地dev分支到远程仓库5. 本地dev分支拉取远程master分支,并将master分支内容合并到本地dev6. 同义命令7. 撤销上次…

No matching version found for zr-map-ol@1.1.19.

问题描述: 通常情况下直接安装可能还会报错,因为有的依赖包是在私库里的 解决方法: 1.查看模块的注册信息 2. 安装 如果上面这种方式安装之后npm i还是报错,试试下面这种方式(我没有试下面的方式 上面的已经解决掉了) 具体可以参…

人工智能基础_机器学习038_中国人寿保费预测(EDA数据探索)_导包_数据探索_---人工智能工作笔记0078

注意 EDA是Exploratory Data Analysis(探索性数据分析)的缩写,它是一种统计分析方法,旨在了解数据的基本特征,并发现数据中的规律和模式。EDA通常是数据分析流程的开始阶段,主要使用可视化工具和统计指标来描述数据的基本特征,如数据的分布、中位数、均值、方差等。通过…

【前沿学习】美国零信任架构发展现状与趋势研究

转自:美国零信任架构发展现状与趋势研究 摘要 为了应对日趋严峻的网络安全威胁,美国不断加大对零信任架构的研究和应用。自 2022 年以来,美国发布了多个零信任战略和体系架构文件,开展了多项零信任应用项目。在介绍美国零信任战略…

C++初阶(十一)STL简介及string类初讲

📘北尘_:个人主页 🌎个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上,不忘来时的初心 文章目录 一、什么是STL二、STL的版本三、STL的六大组件四、STL的重要性五、如何学习STL六、STL的缺陷七…

802.11ax-2021协议学习__$27-HE-PHY__$27.5-Parameters-for-HE-MCSs

802.11ax-2021协议学习__$27-HE-PHY__$27.5-Parameters-for-HE-MCSs 27.3.7 Modulation and coding scheme (HE-MCSs)27.3.8 HE-SIG-B modulation and coding schemes (HE-SIG-B-MCSs)27.5 Parameters for HE-MCSs27.5.1 General27.5.2 HE-MCSs for 26-tone RU27.5.3 HE-MCSs f…

Git-团队协作工作流

前言 一、工作流概述二、Git flow1.主要流程2.优缺点3.适用场景 三、Github flow1.主要流程2.优缺点3.适用场景 四、Gitlab flow1.主要流程2.优缺点3.适用场景 总结参考 一、工作流概述 开发人员通过Git可以记录和追踪代码的变化,包括添加、删除和修改文件。如果是…

【自动化测试】Appium环境搭建与配置-详细步骤,一篇带你打通...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、Node.js环境搭…