生长周期识别(Growth Stage)
生长周期识别是蜀农 API 提供的农业视觉识别工具,能识别作物图片中的种类与生长阶段(如小麦生育期、茶芽计数、茶芽时期),并返回阶段判断、识别依据和农事建议。
核心能力
| 能力 | 说明 |
|---|---|
| 小麦生育期识别 | 识别小麦播种、出苗、分蘖、拔节、孕穗、抽穗、灌浆、成熟等关键生育期 |
| 茶芽分析 | 支持茶芽计数(tea_count)与茶芽时期(tea_stage)识别,辅助茶园管理 |
| 图文结合输入 | 支持传入图片 URL,也可结合对话上下文给出判断 |
| 详细阶段信息 | 通过 stage_detail 返回详细的阶段特征描述与农事建议 |
| 多工具混合调用 | 可与自定义 Function、天气搜索等工具协同使用,模型自动判断调用优先级与必要性 |
前提条件
- 确保账号已开通生长周期识别服务。
- 准备 API Key,参考 获取 API Key 与 鉴权。
- 识别产生的费用按 计费说明 执行。
- 使用支持视觉能力的模型,图片输入方式参见 多模态图片。
API 示例
Python 示例(OpenAI SDK)
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["SHUNONG_API_KEY"],
base_url="https://ai.agriwis.com/api/v1",
)
completion = client.chat.completions.create(
model="auto",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "请识别这株小麦当前所处的生育期。"},
{"type": "image_url", "image_url": {
"url": "https://example.com/wheat-field.jpg"
}},
],
}
],
tools=[
{
"type": "agriwis_crop_growth",
"recognition_type": "wheat_stage",
"stage_detail": True,
}
],
tool_choice="auto",
)
print(completion.model_dump_json())
curl 示例
curl https://ai.agriwis.com/api/v1/chat/completions \
-H "Authorization: Bearer $SHUNONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [
{
"role": "user",
"content": [
{"type": "text", "text": "请识别这株小麦当前所处的生育期。"},
{"type": "image_url", "image_url": {"url": "https://example.com/wheat-field.jpg"}}
]
}
],
"tools": [
{
"type": "agriwis_crop_growth",
"recognition_type": "wheat_stage",
"stage_detail": true
}
],
"tool_choice": "auto"
}'
请求参数
agriwis_crop_growth 工具参数
| 参数 | 类型 | 说明 |
|---|---|---|
type |
string | 固定为 "agriwis_crop_growth" |
image_url |
string | 可选。图片的 http(s) 地址;省略时自动使用用户最新上传的图片 |
recognition_type |
string | 可选。识别类型:wheat_stage(小麦生育期)、tea_count(茶芽计数)、tea_stage(茶芽时期);不传时由系统自动判断 |
stage_detail |
boolean | 可选。是否返回详细的阶段特征描述与农事建议,默认为 false |
图片也可通过消息的 content 数组传入,支持 URL 与 Base64 两种方式,参见 多模态图片。
tools、tool_choice 等通用参数说明参见 Chat Completions 与 工具调用。
响应格式
{
"id": "chatcmpl-example",
"object": "chat.completion",
"model": "auto",
"choices": [
{
"index": 0,
"finish_reason": "stop",
"message": {
"role": "assistant",
"content": "识别结果:该小麦正处于拔节期。识别依据:茎秆第一节间明显伸长并露出地面,基部叶鞘变紧,幼穗分化进入单棱期。建议:此阶段需及时追施拔节肥,保持土壤墒情,注意防治条锈病和纹枯病。",
"tool_calls": null
}
}
],
"usage": {
"prompt_tokens": 1350,
"completion_tokens": 180,
"total_tokens": 1530,
"agriwis_crop_growth_usage": {
"tool_usage": 1
}
}
}
响应字段说明
| 字段 | 说明 |
|---|---|
choices[].message.content |
模型基于识别结果的总结回答,包含生长阶段、识别依据与农事建议 |
choices[].message.tool_calls |
工具调用信息,识别结果直接由模型总结时通常为 null |
usage.agriwis_crop_growth_usage.tool_usage |
生长周期识别工具使用次数 |
finish_reason |
生成结束原因,如 stop |
计费说明
生长周期识别的费用由两部分组成:
- 识别服务使用次数:按每次识别调用计费。
- 模型 Token 消耗:输入的图片与识别结果会占用模型 Token,按模型标准价格计费。
具体价格与可用额度以控制台展示为准,参见 计费说明。
常见问题
识别结果不准确怎么办?
可能的原因:
- 图片质量:图片模糊、光照不足或作物主体过小会影响识别效果,建议拍摄作物关键部位(如茎秆、叶片、幼穗)的清晰特写。
- 识别类型错误:
recognition_type传错时会导致判断偏差,可显式指定wheat_stage、tea_count或tea_stage。 - 图片不匹配:
image_url指向的图片与识别类型不符(如用小麦图片做茶芽计数),请确保图片与识别场景一致。
识别需要多少张图片?
通常单张清晰图片即可完成阶段判断。若作物处于早期阶段或特征不明显,可补充 2-3 张不同部位或不同角度的图片提高准确率。
支持哪些识别类型?
当前支持:
wheat_stage:小麦生育期识别。tea_count:茶芽计数。tea_stage:茶芽时期识别。
不传 recognition_type 时,系统会根据图片内容自动判断。支持范围可能随服务更新,请以控制台展示为准。