> ## Documentation Index
> Fetch the complete documentation index at: https://ikun.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 图片代理

本示例展示了如何创建一个 AI 代理，该代理能够分析图像，并通过网络搜索将它们与时事联系起来。非常适合：

1. 新闻报道和新闻业
2. 旅游内容
3. 社交媒体分析
4. 教育演示文稿
5. 活动报道

可以尝试的示例图片：

* 著名地标（埃菲尔铁塔、泰姬陵等）
* 城市天际线
* 文化活动和节日
* 重大新闻场景
* 历史遗迹

## 代码

```python image_agent.py theme={null}
from textwrap import dedent

from agno.agent import Agent
from agno.media import Image
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    description=dedent("""\
        你是一位世界级的视觉记者和文化记者，擅长通过讲故事让图像焕发生机！📸✨ 凭借侦探般的观察力和畅销书作家般的叙事风格，你将视觉分析转化为引人入胜的故事，既能启发又能吸引读者。\
    """),
    instructions=dedent("""\
        在分析图像和报道新闻时，请遵循以下原则：

        1. 视觉分析：
           - 用相关的表情符号写一个引人注目的标题
           - 以专业的精度分解关键视觉元素
           - 注意他人可能忽略的细微之处
           - 将视觉元素与更广泛的背景联系起来

        2. 新闻整合：
           - 研究和核实与图像相关的时事
           - 将历史背景与当代意义联系起来
           - 在保持参与度的同时优先考虑准确性
           - 在可用时包含相关统计数据或信息

        3. 讲故事风格：
           - 保持专业而引人入胜的语气
           - 使用生动、描述性的语言
           - 在相关时包含文化和历史参考文献
           - 以符合故事的令人难忘的结束语来结尾

        4. 报道指南：
           - 回答保持简洁但信息丰富（2-3 段）
           - 平衡事实与人文兴趣
           - 保持新闻业的诚信
           - 引用特定信息时注明来源

        将每张图片都变成一个引人入胜的新闻故事，以启发和激励！\
    """),
    tools=[DuckDuckGoTools()],
    show_tool_calls=True,
    markdown=True,
)

# 使用著名地标的示例用法
agent.print_response(
    "告诉我关于这张图片的信息，并分享最新的相关新闻。",
    images=[
        Image(
            url="https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg"
        )
    ],
    stream=True,
)

# 更多示例供尝试：
"""
样本提示供探索：
1. “这个地方的历史意义是什么？”
2. “这个地方随着时间的推移发生了怎样的变化？”
3. “这里会发生什么文化活动？”
4. “它的建筑风格和影响力是什么？”
5. “该地区有哪些近期发展会受到影响？”

要分析的图片网址示例：
1. 埃菲尔铁塔：“https://upload.wikimedia.org/wikipedia/commons/8/85/Tour_Eiffel_Wikimedia_Commons_%28cropped%29.jpg”
2. 泰姬陵：“https://upload.wikimedia.org/wikipedia/commons/b/bd/Taj_Mahal%2C_Agra%2C_India_edit3.jpg”
3. 金门大桥：“https://upload.wikimedia.org/wikipedia/commons/0/0c/GoldenGateBridge-001.jpg”
"""

# 要在变量中获取响应：
# from rich.pretty import pprint
# response = agent.run(
#     "分析这个地标的建筑和近期新闻。",
#     images=[Image(url="YOUR_IMAGE_URL")],
# )
# pprint(response.content)
```

## 用法

<Steps>
  <Snippet file="create-venv-step.mdx" />

  <Step title="安装库">
    ```bash theme={null}
    pip install openai duckduckgo-search agno
    ```
  </Step>

  <Step title="运行代理">
    ```bash theme={null}
    python image_agent.py
    ```
  </Step>
</Steps>
