Google Gemini中国版调用Google Gemini API,中国大陆优化,完全免费!
https://gemini.danielmind.techGemini API 快速入门教程
Gemini API 是一种强大的生成式语言模型,支持文本生成、多模态输入(文字+图片)、多轮对话等功能。
1. 使用 curl 快速调用 Gemini API
1.1 基本结构
每次调用 Gemini API 都需要:
- API 密钥(API_KEY):用于验证身份。
- 模型名称:指定使用的模型,例如
gemini-1.5-flash
。 - 请求数据:告诉模型您想做什么。
1.2 示例:生成文本
以下 curl 命令示例展示如何生成一段关于“魔法背包”的故事:
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{
"parts":[{
"text": "Write a story about a magic backpack."}]}]}'
1.3 输出示例
运行后,您会收到模型生成的内容,例如:
{
"candidates": [
{
"content": {
"parts": [
{
"text": "In a small town nestled in the hills, a boy named Ethan discovered a magical backpack..."
}
]
}
}
]
}
2. 设置 API 密钥
2.1 获取 API 密钥
- 前往 Google AI Studio:【https://ai.google.com/studio】。
- 创建一个项目,并生成 API 密钥。
2.2 添加 API 密钥到环境变量
- 在终端中设置:
export GOOGLE_API_KEY="Your_API_Key"
- 在 Python 中设置:
import os os.environ['GOOGLE_API_KEY'] = "Your_API_Key"
或者,也可以使用 config 文件(例如config.php)
以 Apache 为例,当搭建网站时需要禁止从非本地访问配置文件。
【实例】:Google Gemini中国版调用Google Gemini API,中国大陆优化,完全免费!https://gemini.danielmind.tech
3. 使用多模态输入(文字 + 图片)
Gemini 支持同时输入文字和图片。这对于生成基于图片的描述非常有用。
3.1 示例:识别图片内容
-
下载图片:
curl -o image.jpg https://storage.googleapis.com/generativeai-downloads/images/scones.jpg
-
构建请求 JSON 文件:
echo '{ "contents":[ { "parts":[ {"text": "What is this picture?"}, { "inline_data": { "mime_type":"image/jpeg", "data": "'$(base64 -w0 image.jpg)'" } } ] } ] }' > request.json
-
调用 API:
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \ -H 'Content-Type: application/json' \ -d @request.json
-
示例输出:
{ "text": "The picture shows a table with coffee, scones, and flowers." }
4. 多轮对话(聊天功能)
Gemini 支持自由形式的多轮对话。
在实际开发中,可以将其混合使用。
4.1 示例:多轮对话
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [
{"role":"user",
"parts":[{"text": "Write the first line of a story about a magic backpack."}]},
{"role": "model",
"parts":[{"text": "In the bustling city of Meadowbrook, lived a curious girl named Sophie."}]},
{"role": "user",
"parts":[{"text": "Can you set it in 1600s France?"}]}
]
}'
4.2 示例输出
{
"text": "In the quaint village of Fleur-de-Lys in 17th century France, a young maiden named Antoinette found a mysterious backpack..."
}
5. 调整生成内容
您可以通过配置参数,控制生成内容的质量和风格。例如:
temperature
:控制生成内容的随机性(值越高,内容越多样化)。maxOutputTokens
:限制输出内容的长度。safetySettings
:过滤可能有害的内容。
示例:调整生成内容
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:generateContent?key=$GOOGLE_API_KEY \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{"parts":[{"text": "Write a story about a magic backpack."}]}],
"generationConfig": {
"temperature": 0.8,
"maxOutputTokens": 500
}
}'
实际工作由 Google 完成,可能有所出入。
6. 计算词元数量
使用长提示时,您可以预先计算词元数量,以确保输入不超过模型的限制。
示例:计算词元
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-1.5-flash:countTokens?key=$GOOGLE_API_KEY \
-H 'Content-Type: application/json' \
-X POST \
-d '{
"contents": [{"parts":[{"text": "Write a story about a magic backpack."}]}]
}'
输出示例:
{
"totalTokens": 8
}
7. 获取模型信息
7.1 获取特定模型信息
curl https://generativelanguage.googleapis.com/v1beta/models/gemini-pro?key=$GOOGLE_API_KEY
输出示例:
{
"name": "models/gemini-pro",
"version": "001",
"description": "The best model for scaling across a wide range of tasks",
"inputTokenLimit": 30720,
"outputTokenLimit": 2048
}
7.2 列出所有可用模型
curl https://generativelanguage.googleapis.com/v1beta/models?key=$GOOGLE_API_KEY