文本是《工具配置(共38篇)》专题的第 36 篇。阅读本文前,建议先阅读前面的文章:
- 1.沉浸式翻译插件深度解析:从基础配置到高级定制与跨平台应用
- 2.沉浸式翻译:智能双语翻译工具,提升阅读体验与翻译精准度
- 3.ChatBox 配置指南:多平台AI对话工具,支持API Key与本地模型配置
- 4.Continue 插件安装与配置指南:JetBrains IDE 的 AI 辅助利器
- 5.Cursor 安装与配置全攻略:AI 驱动的智能编程助手
- 6.CherryStudio:跨平台AI模型管理与对话工具安装与配置全攻略
- 7.Dify:开源低代码 AI 应用平台 | 一站式构建与部署
- 8.AingDesk | 开源跨平台 AI 桌面客户端 · Windows / macOS / Docker 一站式部署
- 9.VS Code 与 Cline 插件安装及 AI 对话扩展使用指南
- 10.Zed 轻量级现代代码编辑器:性能、协作与 AI 集成
- 11.DeepChat 免费桌面智能助手|多模型接入·多模态交互·隐私安全
- 12.Void AI编辑器完全指南:免费开源Cursor替代品安装配置教程 | AI编程工具
- 13.探索前沿AI对话:LibreChat部署的深度洞察与最佳实践
- 14.Sider 配置AI模型指南
- 15.Cursor AI代码编辑器完整使用指南 – 下载安装配置教程2025
- 16.Trae AI 安装与使用教程 | 最强 AI 编程助手配置指南
- 17.2025最新IntelliJ IDEA 安装与使用全指南:版本选择、插件配置与AI助手集成
- 18.Glarity浏览器插件完整指南:免费开源AI网页摘要与翻译助手
- 19.Claude Code CLI 安装与配置完整教程 | 支持 Windows 与 macOS 的 AI 编程助手
- 20.91协商写作平台
- 21.Claude-Python示例代码
- 22.OpenAI-image-Python示例代码
- 23.Gemini-Python示例代码
- 24.OpenAI-Java示例代码
- 25.Rerank-python代码配置
- 26.Python分析文件代码示例
- 27.Python配置openAI使用音视频图片对话
- 28.OpenAI-Java示例代码
- 29.Claude-Java示例代码
- 30.whisper-1-Python示例代码
- 31.从4.0到4.5:Claude最新版本对比评测,这些场景提升最明显
- 32.dalle-3-Python示例代码
- 33.doubao-Python示例代码
- 34.gemini-image-Python示例代码
- 35.gpt-image-1-Python示例代码
资源准备
- API Key:此项配置填写在一步API官网创建API令牌,一键直达API令牌创建页面
- 创建API令牌步骤请参考API Key的获取和使用
- API Host:此项配置填写https://yibuapi.com/v1
- 查看支持的模型请参在这里复制模型在线查询
如使用 yibuapi.com 中转:将
base_url改为https://yibuapi.com,并使用你在 yibuapi 控制台创建的 API Key。
OpenAI 兼容性:用 OpenAI SDK 访问 Gemini(Markdown 版)
本文示例展示如何直接使用 OpenAI 官方 SDK(Python/JS/REST 兼容风格)调用 Gemini 模型,只需改动三行配置,即可在不改业务代码的前提下完成迁移与共存。
三行改动(Only 3 lines)
-
API Key
apiKey="sk-***"(JS)或api_key="sk-***"(Python)- 将
"sk-***"替换为你在 Google AI Studio 创建的实际密钥。
-
Base URL
baseURL="https://yibuapi.com"
-
Model
model="gemini-2.0-flash"(或其他兼容 Gemini 模型)
快速上手(JavaScript / TypeScript)
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
const response = await openai.chat.completions.create({
model: "gemini-2.0-flash",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Explain to me how AI works" }
],
});
console.log(response.choices[0].message);
思考(Reasoning)与思考预算(Thinking Budget)
OpenAI SDK 兼容的 Gemini 2.5 系列支持推理控制:
reasoning_effort:"low" | "medium" | "high" | "none"extra_body.google.thinking_config.thinking_budget: 指定精确思考 token 预算
二者不能同时使用。
流式输出(Streaming)
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
async function main() {
const completion = await openai.chat.completions.create({
model: "gemini-2.0-flash",
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Hello!" }
],
stream: true,
});
for await (const chunk of completion) {
process.stdout.write(chunk?.choices?.[0]?.delta?.content ?? "");
}
}
main();
函数调用(Function Calling)
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
async function main() {
const messages = [{ role: "user", content: "What's the weather like in Chicago today?" }];
const tools = [
{
type: "function",
function: {
name: "get_weather",
description: "Get the weather in a given location",
parameters: {
type: "object",
properties: {
location: { type: "string" },
unit: { type: "string", enum: ["celsius", "fahrenheit"] }
},
required: ["location"]
}
}
}
];
const resp = await openai.chat.completions.create({
model: "gemini-2.0-flash",
messages,
tools,
tool_choice: "auto",
});
console.log(resp);
}
main();
图片理解(Vision)
import OpenAI from "openai";
import fs from "fs/promises";
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
async function encodeImage(imagePath: string) {
const buf = await fs.readFile(imagePath);
return buf.toString("base64");
}
async function main() {
const base64Image = await encodeImage("Path/to/agi/image.jpeg");
const messages = [
{
role: "user",
content: [
{ type: "text", text: "What is in this image?" },
{ type: "image_url", image_url: { url: `data:image/jpeg;base64,${base64Image}` } }
]
}
];
const resp = await openai.chat.completions.create({
model: "gemini-2.0-flash",
messages
});
console.log(resp.choices[0]);
}
main();
Embeddings(文本向量)
import OpenAI from "openai";
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
async function main() {
const embedding = await openai.embeddings.create({
model: "gemini-embedding-001",
input: "Your text string goes here"
});
console.log(embedding);
}
main();
模型管理
const openai = new OpenAI({
apiKey: "sk-***",
baseURL: "https://yibuapi.com"
});
const list = await openai.models.list();
for await (const model of list) console.log(model);
您已阅读完《工具配置(共38篇)》专题的第 36 篇。请继续阅读该专题下面的文章:
