目录
一、背景
二、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相关技术干货。