ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

【AI】Agent一本通——看这一本就够了

【AI】Agent一本通——看这一本就够了

关注我天天好文

  • 前提:有 LLM APIKey,环境配置,能跑通一次 API 调用就算入门了。
    【推荐】uv 开源无商用风险,Conda 在超过 200 人的组织有潜在商用授权问题
importosfromfunctoolsimportlru_cachefromtypingimportAnyfromopenaiimportOpenAI@lru_cache(maxsize=8)def_get_client(api_key:str|None,base_url:str|None)->OpenAI:""" 获取可复用的 OpenAI 兼容客户端。 参数: api_key: API 密钥。 base_url: API 服务地址。使用 OpenAI 官方服务时可以不指定。 返回: OpenAI 客户端实例。 说明: - lru_cache 会缓存相同参数对应的客户端,避免重复创建。 - api_key 和 base_url 作为缓存键,因此环境变量变化后, 新配置会创建新的客户端,而不是直接复用旧配置。 - 不要将 API 密钥打印到日志中。 """# api_key 为 None 时,OpenAI SDK 会尝试读取 OPENAI_API_KEY 环境变量。# 如果密钥仍然不存在,SDK 会在初始化时抛出配置错误。returnOpenAI(api_key=api_key,base_url=base_url,)def_get_model()->str:""" 获取当前使用的模型 ID。 优先读取 OPENAI_MODEL_ID 环境变量; 未配置时使用默认值 kimi-k2.5。 """returnos.environ.get("OPENAI_MODEL_ID","kimi-k2.5")defcall_llm_simple(prompt:str)->str:""" 简单文本生成接口:输入一个 prompt,返回模型生成的文本。 适用场景: - 文本生成、翻译、摘要。 - 不需要自行处理工具调用的简单任务。 参数: prompt: 发送给模型的用户输入。 返回: 模型的文本回复。若 content 为 None,则返回空字符串。 异常: API 认证失败、网络错误、请求参数错误等异常由 OpenAI SDK 抛出。 """# 从环境变量读取配置,避免在代码中硬编码密钥。client=_get_client(api_key=os.environ.get("OPENAI_API_KEY"),base_url=os.environ.get("OPENAI_BASE_URL"),)# Chat Completions 接口通过 messages 表示对话上下文。# role=user 表示这条消息来自用户。response=client.chat.completions.create(model=_get_model(
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进