~/docs/api/growth-stage/

生长周期识别(Growth Stage)

生长周期识别是蜀农 API 提供的农业视觉识别工具,能识别作物图片中的种类与生长阶段(如小麦生育期、茶芽计数、茶芽时期),并返回阶段判断、识别依据和农事建议。

核心能力

能力 说明
小麦生育期识别 识别小麦播种、出苗、分蘖、拔节、孕穗、抽穗、灌浆、成熟等关键生育期
茶芽分析 支持茶芽计数(tea_count)与茶芽时期(tea_stage)识别,辅助茶园管理
图文结合输入 支持传入图片 URL,也可结合对话上下文给出判断
详细阶段信息 通过 stage_detail 返回详细的阶段特征描述与农事建议
多工具混合调用 可与自定义 Function、天气搜索等工具协同使用,模型自动判断调用优先级与必要性

前提条件

  1. 确保账号已开通生长周期识别服务。
  2. 准备 API Key,参考 获取 API Key 与 鉴权。
  3. 识别产生的费用按 计费说明 执行。
  4. 使用支持视觉能力的模型,图片输入方式参见 多模态图片。

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

计费说明

生长周期识别的费用由两部分组成:

  1. 识别服务使用次数:按每次识别调用计费。
  2. 模型 Token 消耗:输入的图片与识别结果会占用模型 Token,按模型标准价格计费。

具体价格与可用额度以控制台展示为准,参见 计费说明。

常见问题

识别结果不准确怎么办?

可能的原因:

  1. 图片质量:图片模糊、光照不足或作物主体过小会影响识别效果,建议拍摄作物关键部位(如茎秆、叶片、幼穗)的清晰特写。
  2. 识别类型错误:recognition_type 传错时会导致判断偏差,可显式指定 wheat_stage、tea_count 或 tea_stage。
  3. 图片不匹配:image_url 指向的图片与识别类型不符(如用小麦图片做茶芽计数),请确保图片与识别场景一致。

识别需要多少张图片?

通常单张清晰图片即可完成阶段判断。若作物处于早期阶段或特征不明显,可补充 2-3 张不同部位或不同角度的图片提高准确率。

支持哪些识别类型?

当前支持:

  • wheat_stage:小麦生育期识别。
  • tea_count:茶芽计数。
  • tea_stage:茶芽时期识别。

不传 recognition_type 时,系统会根据图片内容自动判断。支持范围可能随服务更新,请以控制台展示为准。