AIGC|实践探索Langflow集成AzureOpenAI

news/2024/5/20 7:17:26 标签: flask, python, 后端, 人工智能, AIGC, openAI, langflow

目录

一、背景

二、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.niftyadmin.cn/n/5185106.html

相关文章

大模型会毁了初级程序员 —— 对话图灵奖得主 Joseph Sifakis | 新程序员

【编者按】GPT 系列的面世影响了全世界、各个行业,对于开发者们的感受则最为深切。以 ChatGPT、Github Copilot 为首,各类 AI 编程助手层出不穷。编程范式正在发生前所未有的变化,从汇编到 Java 等高级语言,再到今天以自然语言为特…

Nutz框架如何自定义SQL?

Nutz框架基本的简单sql已经封装了,但是一些叫为复杂的sql需要手动去写,那如何实现像Mybatis那样通过配置文件编写呢?如有不明白详见官方文档:自定义 SQL - Nutzhttps://nutzam.com/core/dao/customized_sql.html#ndoc-4 一 新建…

无论你正从事的是什么行业,读书,都应当是一辈子的事

原创/朱季谦 作为一个刚入坑五六多的菜鸟程序员,这些年坚持最久的事情,大概就是读书了。当然,我这里提到的读书,是指读好书,其余所谓的网络小说,不在范围内。 读一本好书,就像跟一位大牛在精神上…

【通往架构师之路】并没有捷径可走,除非站在巨人的肩膀之上

通往架构师之路 市面有流传《人人都是产品经理》,却很少听到《人人都是架构师》这种说法,大概是因为架构师在整个研发体系上来说,总是比较稀缺的吧。本文结合工程的需要,给大家推荐10本通过架构师之路的绝佳图书,希望对…

工厂自动化中DCS软件

概述 Monitor.Analog是新一代运行监控系统,是物联网时代数据驱动的智能工厂的神经中枢。通过连接到阿自倍尔专有的在线故障预测系统(该系统利用 AI(人工智能))以及利用来自各个智能设备的监控和诊断数据的系统&#x…

全平台自动去水印源码系统 一键下载高清无水印视频 支持全平台 带完整搭建部署教程

大家好啊,今天源码小编要来给大家分享一款超级好用的全平台自动去水印源码系统 。这款去水印的源码系统,支持全平台,可以帮你一键下载高清无水印视频。 以下是部分核心代码示例: 系统特色功能一览: 全平台支持&#…

相同表结构进行数据迁移

背景需求 我需要吧gc_data.gc_closure这个正式表的数据迁移到测试表test_db.gc_closure中。 sql实现 INSERT INTO test_db.gc_closure SELECT * FROM gc_data.gc_closuree;

【Unity】文件信息的存储和解析(C#代码)

目录 文件存储 两种文件信息解析方法 文件加密处理 文件解密处理 全部代码 文件存储 一些游戏案例开发过程中的一些数据转换成Json格式&#xff0c;然后存到指定的位置 //3.将对象转化为JsonList<Hokag> hokagList new List<Hokag>(){new Hokag(){Name"…