langchain-chatchat加载Azure Open AI

news2024/11/6 9:35:02

1.找到knowledge_base_chat.py文件中的get_ChatOpenAI函数
在这里插入图片描述
2.按crtl进入get_ChatOpenAI函数位置
在这里插入图片描述
3.注释原先的get_ChatOpenAI函数,修改成以下内容:

def get_ChatOpenAI(
    model_name: str,
    temperature: float,
    streaming: bool = True,
    callbacks: List[Callable] = [],
    verbose: bool = True,
    **kwargs: Any,
) -> AzureChatOpenAI:
    config = get_model_worker_config(model_name)
    # if model_name == "openai-api":
    #     model_name = config.get("model_name")
    model = AzureChatOpenAI(
        streaming=streaming,
        verbose=verbose,
        callbacks=callbacks,
        openai_api_key=config.get("api_key"),
        openai_api_base=config.get("api_base_url"),
        deployment_name=config.get("model_name"),
        temperature=temperature,
        # openai_proxy=config.get("openai_proxy"),
        openai_api_version="2024-02-01",
        # openai_api_type="azure",
        ** kwargs
    )
    return model

4.找到model_config.py文件
在这里插入图片描述
5.增加以下内容
(1)创建.env文件,里面放入自己在微软申请的Azure Open AI
在这里插入图片描述

(2)加载.env文件,在model_config.py文件加上以下代码

from dotenv import load_dotenv
load_dotenv()

在这里插入图片描述
(3)修改openai-api,在model_config.py文件加上以下代码

ONLINE_LLM_MODEL = {
    "openai-api": {
        "model_name": "otx_dmed_gpt4",
        "api_base_url": os.getenv("AZURE_OAI_ENDPOINT"),
        "api_key": os.getenv("AZURE_OAI_KEY"),
        "openai_proxy": "",
    },

在这里插入图片描述
6.直接python startup.py -a运行即可调用Azure Open AI

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

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

相关文章

等保2(1),最新出炉

9.密码管理 c)采用硬件密码模块实现密码运算和密钥管理 10.变更管理 11.备份与恢复管理 12.安全事件处置 c)应建立联合防护和应急机制,负责处置跨单位安全事件 13.应急预案管理 e)应建立重大安全事件的跨单位联合应急预案,并进…

二:什么是RocketMQ

RocketMQ是阿里开源的消息中间件产品,纯Java开发,具有高吞吐量、高可用性、适合大规模分布式系统应用的特点,性能强劲(零拷贝技术),支持海量堆积,在阿里内部进行大规模使用,适合在互联网与高并发系统中应用。 官方文档&#xff1a…

2024年,AIGC如何渗透我的生活?

本篇博文列举本人最常用的 6 款app中 AIGC 发挥的功能及作用。 Cursor 作为一名科研工作者,平时最常用的软件就是代码编写工具。Cursor内置的Chat功能,可以辅助完成代码编辑,随时随地实现ChatGPT私有化。 Grammarly 可用于Word和Overleaf等…

创建型模式--4.抽象工厂模式【弗兰奇一家】

1. 奔向大海 在海贼世界中,位于水之都的弗兰奇一家是由铁人弗兰奇所领导的以拆船为职业的家族,当然了他们的逆向工程做的也很好,会拆船必然会造船。船是海贼们出海所必备的海上交通工具,它由很多的零件组成,从宏观上看…

41---音频电路设计

视频链接 音频电路设计01_哔哩哔哩_bilibili 音频电路设计 1、音频基本介绍 1.1、设备 1.1.1、音频接口 型号:ABA-JAK-038-K44 电脑主机上的音频输出插口,一个是粉色的,用来连接麦克风或话筒,一个是绿色的,用来连…

item_review获取商品评论API接口采集用户评论数据接入示例

要获取商品评论API接口采集用户评论数据,首先需要了解API的具体请求方式、参数以及返回数据格式。以下是一个示例(获取API接入KEY): 名称类型必须描述keyString是调用key(必须以GET方式拼接在URL中)secret…

leetcode之704 二分查找

文章目录 每日碎碎念一、题目要求及测试点704 二分查找测试点提示 二、题解自己上手正经题解二分法之左闭右闭二分法之左闭右开 三、总结 每日碎碎念 苦痛生活今日起 从今天开始LeetCode打卡,一边重新刷题,一边春招等笔面试,人生苦痛… 一、…

可视化大屏的应用(9):设备运行监控的应用案例

通过可视化大屏,监控人员可以更加直观地了解设备的运行情况,及时发现问题并进行处理,提高设备的稳定性和可靠性,大千UI工场本期带来相关利用的案例,欢迎友友们品鉴。 可视化大屏在设备运行监控领域有以下作用&#xf…

数据结构:构建完全二叉查找树

文章目录 1、步骤 1: 对给定数组排序2、步骤 2: 递归构建完全二叉查找树3、注意4、在有序数组中寻找根结点位置5、代码实现6、其他方法?基本思路插入操作删除操作特别考虑 对于一个给定序列的二叉查找树,有很多种,但是完全二叉查找树只有一种…

springboot 整合 mybatis(配置版)

代码及配置整合 创建实体类,与数据库对应 创建 mapper、service 和 controller @AutowiredUserService userService;@ResponseBody@GetMapping("/user")public com.vazquez.bootstudy.model.User getById(@RequestParam("id") Long id) {return userServ…

AI大模型基石:文字与数字的起源与演变

AI大模型基石:文字与数字的起源与演变 1、文字 1.1、起源 我们的祖先在还没有发明文字和语言之前就已经开始使用“咿咿呀呀”的声音来传播信息了,比如在野外活动遇到危险,然后发出“咿咿呀呀”的声音来提醒同伴小心,同伴在接收到…

物联网数据服务平台

随着物联网技术的迅猛发展,海量数据的产生和应用成为推动工业数字化转型的核心动力。在这个数据为王的时代,如何高效地收集、处理、分析并应用这些数据,成为了企业关注的焦点。物联网数据服务平台应运而生,为企业提供了全面、高效…

20240403-算法复习打卡day43||● 1049. 最后一块石头的重量 II ● 494. 目标和 ● 474.一和零

1049. 最后一块石头的重量 II class Solution { public:int lastStoneWeightII(vector<int>& stones) {vector<int> dp(15001, 0);int sum 0;for (int i 0; i < stones.size(); i) sum stones[i];int target sum / 2;for (int i 0; i < stones.siz…

群晖NAS使用Docker部署Potopea在线图片编辑工具并实现公网访问

文章目录 1. 部署Photopea2. 运行Photopea3. 群晖安装Cpolar4. 配置公网地址5. 公网访问测试6. 固定公网地址 本文主要介绍如何在群晖NAS使用Docker部署Potopea在线图片编辑工具&#xff0c;并结合cpolar内网穿透实现公网环境可以远程访问本地部署的Potopea. Photopea是一款强大…

鸿蒙OS实战开发:【多设备自适应服务卡片】

介绍 服务卡片的布局和使用&#xff0c;其中卡片内容显示使用了一次开发&#xff0c;多端部署的能力实现多设备自适应。 用到了卡片扩展模块接口&#xff0c;[ohos.app.form.FormExtensionAbility] 。 卡片信息和状态等相关类型和枚举接口&#xff0c;[ohos.app.form.formInf…

设计模式 -- 发布订阅模式

发布订阅模式&#xff1a; 订阅者把自己想订阅的事件注册到调度中心&#xff0c;当发布者发布该事件到调度中心&#xff0c;也就是该事件触发时&#xff0c;由调度者统一调度订阅者注册到调度中心的处理代码。 在javaScript 中我们一般使用事件模型来代替传统的发布订阅模式。 …

最长上升子序列(线性dp)-java

主要是解决最长上升子序列问题&#xff0c;推出状态转移方程。 文章目录 前言 一、最长上升子序列问题 二、算法思路 1.最长上升子序列思路 三、代码如下 1.代码如下&#xff08;示例&#xff09;&#xff1a; 2.读入数据 3.代码运行结果 总结 前言 主要是解决最长上升子序列问…

三相交流电子负载的基础认识

三相交流电子负载主要用于电源、电机、逆变器等产品的测试和老化&#xff0c;它能够精确地模拟各种负载的工作状态&#xff0c;如阻性、感性、容性等&#xff0c;以满足不同产品的测试需求。三相交流电子负载具有响应速度快、精度高、稳定性好等特点&#xff0c;是现代电力电子…

6款超好用AI写作神器,写作效率秒拔高! #经验分享#人工智能#知识分享

在当今信息爆炸的时代&#xff0c;写作成为了人们表达思想、分享知识和传递情感的重要方式之一。对于很多人来说&#xff0c;写作并非易事。我们会陷入困境&#xff0c;无法找到灵感&#xff0c;我们会苦恼于语言表达的准确性&#xff0c;还有时候我们可能遭遇到了创作瓶颈&…

功耗低、触控灵敏度高、抗干扰能力强等众多优势,输出方式多样的单键电容式触控芯片TS223B介绍

•应用领域• 适用于小家电、电子玩具、智能物联网等各种触控产品方案。 •功能介绍• 单键电容式触控芯片TS223B具有功耗低、触控灵敏度高、抗干扰能力强等众多优势&#xff0c;输出方式包括直接输出、电平翻转输出&#xff0c;并且输出的初始状态可以配置&#xff0c;能灵活满…