import streamlit as st from zhipuai import ZhipuAI from zhipuai.types.image import GeneratedImage from .config import COGVIEW_MODEL, ZHIPU_AI_KEY from .interface import ToolObservation @st.cache_resource def get_zhipu_client(): return ZhipuAI(api_key=ZHIPU_AI_KEY) def map_response(img: GeneratedImage): return ToolObservation( content_type="image", text="CogView 已经生成并向用户展示了生成的图片。", image_url=img.url, role_metadata="cogview_result", ) def tool_call(prompt: str, session_id: str) -> list[ToolObservation]: client = get_zhipu_client() response = client.images.generations(model=COGVIEW_MODEL, prompt=prompt).data return list(map(map_response, response))