本地部署 gemini-openai-proxy,使用 Google Gemini 实现 Openai API

本地部署 gemini-openai-proxy,使用Google Gemini 实现 Openai API

  • 0. 背景
  • 1. 申请 Google Gemini API key
  • 2. (Optional)Google Gemini 模型说明
  • 3. gemini-openai-proxy Github 地址
  • 4. 本地部署 gemini-openai-proxy
  • 5. 测试

0. 背景

使用 Google Gemini 实现 Openai 的兼容 API,可以节省真正的 Openai API Key 的花销。

1. 申请 Google Gemini API key

访问https://ai.google.dev/ 申请。

在这里插入图片描述

2. (Optional)Google Gemini 模型说明

在这里插入图片描述
在这里插入图片描述

3. gemini-openai-proxy Github 地址

https://github.com/zhu327/gemini-openai-proxy

4. 本地部署 gemini-openai-proxy

docker run --restart=always -it -d -p 8080:8080 --name gemini zhu327/gemini-openai-proxy:latest

5. 测试

curl http://localhost:8080/v1/chat/completions \-H "Content-Type: application/json" \-H "Authorization: Bearer $YOUR_GOOGLE_AI_STUDIO_API_KEY" \-d '{"model": "gpt-3.5-turbo","messages": [{"role": "user", "content": "Say this is a test!"}],"temperature": 0.7}'

示例输出,

{"id": "chatcmpl-bc77a209753242bf94a5f83cc7b59c98","object": "chat.completion","created": 1704624098,"model": "gemini-pro","choices": [{"index": 0,"message": {"role": "assistant","content": "This is a test!"},"finish_reason": "stop"}],"usage": {"prompt_tokens": 0,"completion_tokens": 0,"total_tokens": 0},"system_fingerprint": ""
}

完结!

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

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

相关文章

Java 之 CAS(CompareAndSwap)底层原理详解

目录 一. 前言 二. CAS 底层原理 2.1. 代码实例 2.2. 源码分析 2.3. 底层汇编 2.4. ABA 问题 三. 总结 3.1. CAS 缺点 3.2. CAS 会导致 ABA 问题 一. 前言 CAS 的全称是 Compare-And-Swap,它是 CPU 并发原语。它的功能是判断内存某个位置的值是否为预期值。…

MySQL 8.0 开关 Redo Logging

一 前言 前几天有客户测试使用云数据库的时候提出 要禁止mydumper 关闭redo log的操作 (说白了就是导入数据时保持MySQL 实例的redo logging功能), 这才想起 在 MySQL 8.0.21 版本中,开启了一个新特性 “Redo Logging 动态开关”。 在新实例导数据的场…

【IPC通信--消息队列】

消息队列(也叫做报文队列)是一个消息的链表。可以把消息看作一个记录,具有特定的格式以及特定的优先级。对消息队列有写权限的进程可以向消息队列中按照一定的规则添加新消息;对消息队列有读权限的进程则可以从消息队列中读走消息…

linux删除操作,删除文件夹,删除文件夹下面所有文件,删除文件,删除文件中内容等命令

在Linux中&#xff0c;你可以使用以下命令来执行删除操作&#xff1a; 删除文件夹&#xff1a; rm -r <文件夹路径>例如&#xff0c;要删除名为"folder"的文件夹&#xff0c;可以运行&#xff1a; rm -r folder删除文件夹下的所有文件&#xff1a; rm -r <文…

Debezium发布历史54

原文地址&#xff1a; https://debezium.io/blog/2019/04/18/hello-debezium/ 欢迎关注留言&#xff0c;我是收集整理小能手&#xff0c;工具翻译&#xff0c;仅供参考&#xff0c;笔芯笔芯. Debezium 的团队不断壮大 2019 年 4 月 18 日 作者&#xff1a; 克里斯克兰福德 社…

Django5+DRF序列化

概述 本教程将介绍如何创建一个简单的粘贴板代码高亮 Web API。在此过程中&#xff0c;它将介绍构成 REST 框架的各种组件&#xff0c;让你全面了解所有组件是如何组合在一起的。 本教程相当深入&#xff0c;因此在开始学习之前&#xff0c;你可能需要先吃一块饼干&#xff0…

eval() 函数的理解

eval() 函数是 Python 内置的一个函数&#xff0c;它用于执行以字符串形式表示的 Python 表达式。它将字符串当作有效的 Python 表达式进行解析和执行&#xff0c;并返回表达式的结果。 语法&#xff1a; eval(expression, globalsNone, localsNone)expression: 要被解析和执…

[C#]Onnxruntime部署Chinese CLIP实现以文搜图以文找图功能

【官方框架地址】 https://github.com/OFA-Sys/Chinese-CLIP 【算法介绍】 在当今的大数据时代&#xff0c;文本信息处理已经成为了计算机科学领域的核心议题之一。为了高效地处理海量的文本数据&#xff0c;自然语言处理&#xff08;NLP&#xff09;技术应运而生。而在诸多N…

电子实验室设备:从零开始配置实验室(一)

本文译自 Electronics Lab Equipment: Kitting out a Lab from Scratch 随着多次国际迁徙以及在几家公司&#xff08;或其分支机构&#xff09;工作&#xff0c;尤其是在没有强大电子工程团队的情况下&#xff0c;我不得不为自己和客户设置多个电子实验室。那些计划进行内部测试…

什么是缓存、为什么要用缓存

缓存是将一些频繁需要访问的数据临时存储在高速存储器中&#xff0c;以便提高数据访问的速度和效率的一种技术。 使用缓存的原因主要有以下几点&#xff1a; 提高访问速度&#xff1a;缓存可以将数据存储在位于CPU或内存之间的高速存储器中&#xff0c;相比于从硬盘或网络中读…

人教版初中数学八年级上册“阅读与思考”《数据波动程度的几种度量》教学设计

教学目标 1. 了解方差、极差、标准差、平均差的定义和计算公式。 2. 会用方差、极差、标准差、平均差计算公式来比较两组数据的波动大小。 3.经历探索方差、极差、标准差、平均差公式的形成过程和应用过程。 重难点分析 教学重点&#xff1a;体会数据波动中几种程度的度量…

gin使用jwt登录验证

使用github.com/dgrijalva/jwt-go包,gihub地址:https://github.com/dgrijalva/jwt-go 安装包 go get -u github.com/dgrijalva/jwt-go简单封装生成token、验证token有效、通过Authorization解析token三个函数 models/jwt.go package modelsimport ("net/http"&quo…

HCIA-Datacom题库(自己整理分类的)_08_FTP协议【8道题】

一、单选 1.在使用FTP协议升级路由器软件时&#xff0c;传输模式应该选用___ 二进制模式 字节模式 文字模式 流字节模式 解析&#xff1a;二进制模式&#xff1a;在数据连接中传输&#xff0c;不对数据进行任何处理&#xff0c;不需要转换或格式化就可以传输字符。 2.以…

网页设计与制作web前端设计html+css+js成品。电脑网站制作代开发。vscodeDrea 【企业公司宣传网站(HTML静态网页项目实战)附源码】

网页设计与制作web前端设计htmlcssjs成品。电脑网站制作代开发。vscodeDrea 【企业公司宣传网站&#xff08;HTML静态网页项目实战&#xff09;附源码】 https://www.bilibili.com/video/BV1Hp4y1o7RY/?share_sourcecopy_web&vd_sourced43766e8ddfffd1f1a1165a3e72d7605

【C++】STL 算法 ⑥ ( 二元谓词 | std::sort 算法简介 | 为 std::sort 算法设置 二元谓词 排序规则 )

文章目录 一、二元谓词1、二元谓词简介2、 std::sort 算法简介3、 代码示例 - 为 std::sort 算法设置 二元谓词 排序规则 一、二元谓词 1、二元谓词简介 " 谓词 ( Predicate ) " 是一个 返回 布尔 bool 类型值 的 函数对象 / 仿函数 或 Lambda 表达式 / 普通函数 , …

逆置算法和数组循环移动算法

元素逆置 概述&#xff1a;其实就是将 第一个元素和最后一个元素交换&#xff0c;第二个元素和倒数第二个元素交换&#xff0c;依次到中间位置。用途&#xff1a;可用于数组的移动&#xff0c;字符串反转&#xff0c;链表反转操作&#xff0c;栈和队列反转等操作。 逆置图解 …

2024年1月7日15:09:50

2024年1月7日15:09:55复习&#xff1a;我今天学了有价值的东西&#xff0c;那就是在瓦罗兰特拿到了三杀 2024年1月7日15:11:10学习了如何使用vivopad2的键盘 可以稍微用一下 2024年1月7日15:17:58 学习一个编程的题目 2024年1月7日15:31:27不用机械键盘打字效率就是比不用低…

深入理解堆(Heap):一个强大的数据结构

. 个人主页&#xff1a;晓风飞 专栏&#xff1a;数据结构|Linux|C语言 路漫漫其修远兮&#xff0c;吾将上下而求索 文章目录 前言堆的实现基本操作结构体定义初始化堆&#xff08;HeapInit&#xff09;销毁堆&#xff08;HeapDestroy&#xff09; 重要函数交换函数&#xff08;…

Talk | EMNLP 2023 最佳长论文:以标签为锚-从信息流动的视角分析上下文学习

本期为TechBeat人工智能社区第561期线上Talk。 北京时间1月4日(周四)20:00&#xff0c;北京大学博士生—王乐安的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “以标签为锚-从信息流动的视角分析上下文学习”&#xff0c;介绍了他的团队在上下文学…

STM32深入系列02——BootLoader分析与实现

文章目录 1. STM32程序升级方法1.1 ST-Link / J-link下载1.2 ISP&#xff08;In System Programing&#xff09;1.3 IAP&#xff08;In Applicating Programing&#xff09;1.3.1 正常程序运行流程1.3.2 有IAP时程序运行流程 2. STM32 Bootloader实现2.1 方式一&#xff1a;Boo…