探索AI前沿:本地部署GPT-4o,打造专属智能助手!

目录

1、获取API_key

2、开始调用

3、openai连接异常

4、解决方法:

5、调用GPT-4o


1、获取API_key

这里就不多赘述了,大家可以参考下面这篇博客

怎么获取OpenAI的api-key【人工智能】icon-default.png?t=N7T8https://blog.csdn.net/qq_51625007/article/details/137632747

2、开始调用

有了第一步的API_key,就可以直接调用GPT-4o,不说废话,直接上代码

import base64
from PIL import Image
import os
import io
from openai import OpenAI
from dotenv import load_dotenv
load_dotenv('.env')# 这一步很关键
import os
os.environ["http_proxy"] = "http://localhost:51121"
os.environ["https_proxy"] = "http://localhost:51121"client = OpenAI(api_key='sk-xxxxxxxxxx')def encode_image(image):buffered = io.BytesIO()image.save(buffered, format=image.format)return base64.b64encode(buffered.getvalue()).decode('utf-8')def extract_image(query, image_file=None):messages = [{"role": "user", "content": [{"type": "text", "text": query}]}]if image_file is not None:image = Image.open(image_file)base64_image = encode_image(image)image_message = {"type": "image_url","image_url": {"url": f"data:image/jpeg;base64,{base64_image}"}}messages[0]["content"].append(image_message)response = client.chat.completions.create(model="gpt-4o",messages=messages,max_tokens=1024)return response.choices[0].message.contentif __name__ == "__main__":result = extract_image(query="图中有什么?",image_file="./截图20240621225613.png")print(result)

3、openai连接异常

raise APIConnectionError(request=request) from err openai.APIConnectionError

报错解释:

openai.APIConnectionError 是 OpenAI 的 Python 客户端在尝试连接到 OpenAI 服务器时遇到问题时抛出的异常。这通常表明客户端无法建立与服务器的连接,可能是由于网络问题、服务器宕机、API 密钥无效或过期等原因造成的。

解决方法:

  1. 检查网络连接:确保你的设备可以正常访问互联网。

  2. 检查 OpenAI 服务状态:访问 OpenAI 的官方网站或状态监控页面,查看是否有服务中断或维护通知。

  3. 检查 API 密钥:确保你使用的 API 密钥有效且未过期。

  4. 代理设置:如果你使用代理连接到互联网,确保你的代理设置正确配置,并且代理服务器运行正常。

逐个问题排查,最终确定是代理设置问题

4、解决方法:

本文是在window11中执行:

按照----->设置----->网络和Internet----->代理----->打开代理即可

点击设置:代理IP地址和端口(这里每个人的电脑端口可能不一样),将这两个在代码里指定如下:localhost或者127.0.0.1都可以!

但是如果只设置这两个可能还不行,需要再增加一个load_doten使用.env文件去设置环境变量,将OPEN_API_KEY的值保存在.env文件中。

pip install python-dotenv #安装
# 这一步很关键
import os
from dotenv import load_dotenv
load_dotenv('.env')
os.environ["http_proxy"] = "http://localhost:51121"
os.environ["https_proxy"] = "http://localhost:51121"

5、调用GPT-4o

prompt="图中有什么?"

图中是一本讲解编程或计算机科学相关内容的书籍的某个页面。页面标题为“第2章 语言可用性的强化”,并且讨论了“空值”以及在C++中的使用。页面的内容包括以下几部分:

1. **章节标题**:
   ```
   第2章 语言可用性的强化
   ```

2. **小节标题**:
   ```
   2.1 常量
   nullptr
   ```

3. **文本说明和代码片段**:
   - 文中详细讲解了nullptr的背景与使用。
   - 提到了传统C++中的NULL以及其在现代C++中的替代 `nullptr`。
   - 展示了代码示例,演示了如何使用 `nullptr` 避免一些常见的错误。
   - 包含了多个C++代码片段,例如:
     ```cpp
     char *ch = NULL;
     void foo(char*);
     void foo(int);
     foo(NULL);
     #include <iostream>
     #include <type_traits>
     void foo(char*);
     void foo(int);
     int main() {
         if (std::is_same<decltype(NULL), decltype(0)>::value)
             std::cout << "NULL == 0" << std::endl;
         if (std::is_same<decltype(NULL), decltype((void*)0)>::value)
             std::cout << "NULL == (void *)0" << std::endl;
         if (std::is_same<decltype(NULL), std::nullptr_t>::value)
             std::cout << "NULL == nullptr" << std::endl;
     }
     ```

4. **页面底部的页码**:
   ```
   12
   ```

以上就是该页面的主要内容。

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

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

相关文章

Open WebUI的SearXNG网络搜索配置【403报错解决方法】

1.拉取SearXNG镜像 docker pull searxng/searxng 2.在Docker Desktop的Images界面中启动searxng容器 3.查看searxng是否部署成功 在Docker Desktop的Containers界面中&#xff0c;查看searxgn暴露的端口。 http://localhost:31292/ 4.修改settings.yml配置参数 在Docker De…

[火灾警报系统]yolov5_7.0-pyside6火焰烟雾识别源码

国内每年都会发生大大小小的火灾&#xff0c;造成生命、财产的损失。但是很多火灾如果能够早期发现&#xff0c;并及时提供灭火措施&#xff0c;将会大大较小损失。本套源码采用yolov5-7.0目标检测算法结合pyside6可视化界面源码&#xff0c;当检测到火灾时&#xff0c;能否发出…

链式二叉树

链式二叉树 链式二叉树结构二叉树的遍历二叉树前序遍历二叉树中续遍历二叉树后续遍历二叉树层序遍历 二叉树节点个数和高度等二叉树节点个数二叉树叶子节点个数二叉树第k层节点个数单值二叉树对称二叉树相同的二叉树二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历另一棵树的…

SpringCloud 基于Nacos和Eureka 实现双注册双订阅

一、使用场景/原因 过渡期迁移: 当系统从一个服务注册中心迁移到另一个时&#xff0c;例如从 Eureka 迁移到 Nacos&#xff0c;可以在过渡期内同时使用两个注册中心&#xff0c;确保服务平稳迁移&#xff0c;逐步过渡&#xff0c;避免一次性切换带来的风险。 兼容性考虑: 不同的…

ASP.NET Core 6.0 使用 Log4Net 和 Nlog日志中间件

前言 两年前,浅浅的学过 .NET 6,为啥要记录下来,大概是为了以后搭架子留下引线,还有抛砖引玉。 1. 环境准备 下载 建议使用 Visual Studio 2022 开发版 官网的下载地址:Visual Studio 2022 IDE - 适用于软件开发人员的编程工具借助 Visual Studio 设计,具有自动完成…

支付宝推出NFC(近场通信)碰一碰支付功能

近日&#xff0c;支付宝推出NFC&#xff08;近场通信&#xff09;碰一碰支付功能&#xff0c;支持iPhone、安卓手机。NFC支付早已不是新事物&#xff0c;从二维码支付重回NFC支付&#xff0c;支付宝能撬动市场吗&#xff1f; 根据网友反馈&#xff0c;目前支付宝正在上海静安大…

海外社媒网站抓取经验总结:如何更高效实现网页抓取?

有效的网络抓取需要采取战略方法来克服挑战并确保最佳数据提取。让我们深入研究一些关键实践&#xff0c;这些实践将使您能够掌握复杂的网络抓取。 一、了解 Web 抓取检测 在深入探讨最佳实践之前&#xff0c;让我们先了解一下网站如何识别和抵御网络爬虫。了解您在这一过程中…

2-12 基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪

基于CV模型卡尔曼滤波、CT模型卡尔曼滤波、IMM模型滤波的目标跟踪。输出跟踪轨迹及其误差。程序已调通&#xff0c;可直接运行。 2-12 CV模型卡尔曼滤波 CT模型卡尔曼滤波 - 小红书 (xiaohongshu.com)

千年古城的味蕾传奇-平凉锅盔

在甘肃平凉这片古老而神秘的土地上&#xff0c;有一种美食历经岁月的洗礼&#xff0c;依然散发着独特的魅力&#xff0c;那便是平凉锅盔。平凉锅盔&#xff0c;那可是甘肃平凉的一张美食名片。它外表金黄&#xff0c;厚实饱满&#xff0c;就像一轮散发着诱人香气的金黄月亮。甘…

【过度的乐观和自信,得治】为什么数据类项目交付失败的不少?

引言&#xff1a;数据类项目包含数据治理和数据分析类项目&#xff0c;这些是数字化转型中数据能力打造&#xff0c;是基础性的工作。这类项目通常涉及Iaas、Paas和Saas层产品和服务&#xff0c;越靠近业务客户的Saas层交付服务客户满意度低&#xff0c;项目失败的不少&#xf…

白驹过隙,沧海桑田

01. 机缘 今天是我加入CSDN的第2620天&#xff0c;是我成为创作者的第1024天。2021 年 08 月 25 日我在这里分享了人生中第一篇技术文章 springboot 签名验证。 现在在回看这篇文章还能感觉到当时的青涩和技术的薄弱&#xff0c;后面每一篇文章的输出可能都是在不断的学习和进…

Comfy UI使用最新SD3模型,并解决报错‘NoneType‘ object has no attribute ‘tokenize‘【实测可行】

解决Comfy UI使用最新SD3模型报错’NoneType’ object has no attribute ‘tokenize’ 前几天SD3发布了&#xff0c;所以想着尝尝鲜&#xff0c;便去下载了SD3来玩一玩。使用的是Comfy UI而不是Stable Diffusion UI&#xff0c;这是一个比SD UI更加灵活的UI界面&#xff0c;使用…

多头Attention MultiheadAttention 怎么用?详细解释

import torch import torch.nn as nn# 定义多头注意力层 embed_dim 512 # 输入嵌入维度 num_heads 8 # 注意力头的数量 multihead_attn nn.MultiheadAttention(embed_dim, num_heads)# 创建一些示例数据 batch_size 10 # 批次大小 seq_len 20 # 序列长度 query torch…

视频监控平台功能介绍:内部设备管理(rtsp、sdk、onvif、ehome/ISUP、主动注册协议等)

一、功能概述 AS-V1000视频平台是一套集成了用户设备权限管理、视音频监控、大容量存储、电子地图的系统平台软件。它结合了现代视频技术、网络通讯技术、计算机控制技术、流媒体传输技术的综合解决方案&#xff0c;为用户提供了强大的、灵活的组网和应用能力。 AS-V1000管理端…

关于接口测试——自动化框架的设计与实现

一、自动化测试框架 在大部分测试人员眼中只要沾上“框架”&#xff0c;就感觉非常神秘&#xff0c;非常遥远。大家之所以觉得复杂&#xff0c;是因为落地运用起来很复杂&#xff1b;每个公司&#xff0c;每个业务及产品线的业务流程都不一样&#xff0c;所以就导致了“自动化…

CSS属性选择器具有不区分大小写的模式

今天&#xff0c;我偶然发现了 caniuse.com 项目的一期&#xff0c;其中提到了新的和即将推出的 CSS Level 4 选择器。 这个列表很长&#xff0c;并且有许多新的选择器正在开发中。一个新的选择器标志引起了我的注意&#xff1b;属性选择器将变成一个 i 标志&#xff0c;这使得…

pod设置资源请求和限制

设置资源请求和限制 实验目标&#xff1a; 学习如何为 Pod 设置资源请求和限制&#xff0c;以优化集群资源分配。 实验步骤&#xff1a; 创建一个 Deployment&#xff0c;并设置 CPU 和内存的资源请求和限制。使用 kubectl describe 命令查看资源分配情况。观察资源限制对 P…

智能汽车 UI 风格独具魅力

智能汽车 UI 风格独具魅力

揭秘无局放电源:定义、工作原理及其在工业设备中的重要性

当代社会对电源安全性&#xff0c;精密性要求越来也高&#xff0c;对电源设备的需求也越来越高。无局放电源作为电源设备中的一种&#xff0c;由于其独特的优点&#xff0c;越来越受到各行各业的关注。目前&#xff0c;无局放电源在全球范围内得到了广泛应用&#xff0c;尤其是…