logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一个简单的GitHub AI Agent 实现指南

本文档介绍了如何构建一个能与GitHub交互的AI Agent系统。系统采用模块化设计,包含工具层(调用GitHub API)、模型层(封装Gemini LLM)、代理组装层(结合LLM和工具)和服务层(提供API接口)。关键技术点包括:使用BaseTool定义GitHub操作工具、通过CustomGeminiChatModel封装LLM、创建AgentExecutor实现思考-行动循环,以及统一

#人工智能
一个简单的GitHub AI Agent 实现指南

本文档介绍了如何构建一个能与GitHub交互的AI Agent系统。系统采用模块化设计,包含工具层(调用GitHub API)、模型层(封装Gemini LLM)、代理组装层(结合LLM和工具)和服务层(提供API接口)。关键技术点包括:使用BaseTool定义GitHub操作工具、通过CustomGeminiChatModel封装LLM、创建AgentExecutor实现思考-行动循环,以及统一

#人工智能
LangChain Agent 调用工具的实现原理揭秘

本文解析了Agent如何通过ReAct模式自主调用list_repository_files工具获取GitHub仓库信息。该过程包含四个角色:用户提出问题、LLM(Google Gemini)进行推理、工具执行代码、AgentExecutor协调交互。流程分为三个阶段:1)LLM分析问题并生成指令;2)AgentExecutor拦截指令并调用工具执行;3)将结果反馈给LLM生成最终答案。代码实现体

Gemini 模型流式输出(打字机效果)问题诊断全过程

本文记录了py-github-agent项目中解决Google Gemini模型astream方法无法实现"打字机"效果的问题。诊断发现,自定义封装类CustomGeminiChatModel未实现_astream方法导致一次性输出。通过添加_astream方法并包装返回值后,发现Gemini API在REST模式下固有行为是逐句而非逐词流式输出。测试表明,代码封装正确,问题根

Gemini 模型流式输出(打字机效果)问题诊断全过程

本文记录了py-github-agent项目中解决Google Gemini模型astream方法无法实现"打字机"效果的问题。诊断发现,自定义封装类CustomGeminiChatModel未实现_astream方法导致一次性输出。通过添加_astream方法并包装返回值后,发现Gemini API在REST模式下固有行为是逐句而非逐词流式输出。测试表明,代码封装正确,问题根

aiohttp.ClientSession` 的优雅管理:为何选择 `async with`

本文探讨了在异步编程中使用aiohttp.ClientSession时管理资源的最佳实践。通过分析三种方案:析构函数__del__(无法异步调用)、每次调用创建新Session(性能低下)和异步上下文管理器async with,指出后者是最佳选择。实现__aenter__和__aexit__方法可确保Session在代码块结束时自动关闭,既保证了资源释放的可靠性,又保持了连接复用的高效性。这种方案

#python#开发语言
Gidgethub.aiohttp vs 普通 aiohttp

如果你在写爬虫,爬取任意网站 -> 用普通的aiohttp。如果你在写 GitHub App / 工具-> 请务必用gidgethub。它不是为了取代aiohttp,而是为了让你在aiohttp上更舒服地操作 GitHub API。

#python
FastAPI `BackgroundTasks` 详解与实战指南

本文解析了FastAPI中BackgroundTasks的使用方法,通过webhook_test接口案例演示其工作原理。BackgroundTasks允许在返回HTTP响应后执行耗时操作,提升用户体验。文章对比了它与Python多线程(threading)的区别:BackgroundTasks集成度高、资源消耗低但串行执行,适合轻量级任务;而threading并发性更好但管理复杂,适合CPU密集型

#fastapi#python#开发语言
快速构建vscode pytest 开发测试环境

如果不想用 heavy 的pycharmvscode 也是1个很好的选择。

文章图片
#vscode#pytest#ide
Python 异步迭代深度探索

本文系统探讨了Python异步编程的核心概念,重点分析了同步迭代与异步迭代的本质区别。文章指出async for是遍历异步迭代器的唯一语法,其关键在于__anext__()方法允许在I/O等待时让出CPU。通过类比厨师烧水的例子,阐释了异步I/O的"非阻塞"价值。同时强调真正的并发需要结合asyncio.create_task的任务分发机制,而非单纯依赖await。文章澄清了常

#python#开发语言
    共 55 条
  • 1
  • 2
  • 3
  • 6
  • 请选择