AI相关的笔记
推荐视频: https://www.bilibili.com/video/BV1aeLqzUE6L/?share_source=copy_web&vd_source=3d0a14a267c9cbda8f2a6184dd8c564d
AI Agent
AI Agent(人工智能代理)
AI Agent 是一种具备自主决策和执行能力的智能程序,能够像人类一样感知环境、规划任务并采取行动。其核心架构包括:
- 大脑(大模型):基于LLM(如GPT-4)实现任务理解和推理
- 三件套能力:
- 规划:拆解复杂任务为子步骤(如订餐厅需查评分、确认时间等)
- 记忆:短期记忆(对话上下文)和长期记忆(外部数据库)
- 工具调用:通过API或插件调用外部服务(如天气查询、支付接口
一个简单的Ai Agent例子(查看文件使用的编程语言、据此修改文件名)
#### main.py
from pydantic_ai.models.gemini import GeminiModel
from pydantic_ai import Agentfrom dotenv import load_dotenv
import toolsload_dotenv()
model = GeminiModel("gemini-2.5-flash-preview-04-17")agent = Agent(model,system_prompt="You are an experienced programmer",tools=[tools.read_file, tools.list_files, tools.rename_file])def main():history = []while True:user_input = input("Input: ")resp = agent.run_sync(user_input,message_history=history)history = list(resp.all_messages())print(resp.output)if __name__ == "__main__":main()#### tools.py
from pathlib import Path
import osbase_dir = Path("./test")def read_file(name: str) -> str:"""Return file content. If not exist, return error message."""print(f"(read_file {name})")try:with open(base_dir / name, "r") as f:content = f.read()return contentexcept Exception as e:return f"An error occurred: {e}"def list_files() -> list[str]:print("(list_file)")file_list = []for item in base_dir.rglob("*"):if item.is_file():file_list.append(str(item.relative_to(base_dir)))return file_listdef rename_file(name: str, new_name: str) -> str:print(f"(rename_file {name} -> {new_name})")try:new_path = base_dir / new_nameif not str(new_path).startswith(str(base_dir)):return "Error: new_name is outside base_dir."os.makedirs(new_path.parent, exist_ok=True)os.rename(base_dir / name, new_path)return f"File '{name}' successfully renamed to '{new_name}'."except Exception as e:return f"An error occurred: {e}"
MCP协议
MCP是由Anthropic提出的开放标准,旨在为LLM提供统一的外部工具和数据连接框架,类似“AI的USB-C接口”
- 核心架构:
- MCP主机:发起请求的AI应用(如Claude Desktop)。
- MCP客户端:格式化请求并与服务器通信。
- MCP服务器:中介角色,连接数据库、API等资源
- 优势:
- 标准化:统一JSON-RPC协议,降低开发成本
- 安全性:数据本地处理,避免云端泄露
- 模块化:支持动态扩展工具(如日历、支付接口)
RAG
RAG(Retrieval-Augmented Generation,检索增强生成)是一种结合信息检索与文本生成的技术,旨在提升大模型(如GPT等)生成内容的准确性和时效性。以下是其核心要点:
1. 工作原理
- 检索阶段:当用户输入问题或请求时,RAG会先从外部知识库(如数据库、文档、网页等)中检索相关片段,而非仅依赖模型内部训练数据。
- 生成阶段:将检索到的信息与用户输入结合,输入到大语言模型中,生成更精准、可靠的回答。
2. 核心优势
- 解决幻觉问题:传统大模型可能生成虚构内容,而RAG通过检索真实数据减少错误。
- 动态更新知识:无需重新训练模型,仅需更新外部知识库即可获取最新信息。
- 可解释性:生成结果基于检索内容,便于追踪信息来源。
3. 典型应用场景
- 问答系统:如客服机器人,需实时调用产品文档或政策条款。
- 知识密集型任务:医疗、法律等领域需高准确性回答。
- 个性化推荐:结合用户历史数据生成定制化内容。
4. 技术关键点
- 向量检索:将文本转换为向量,通过相似度匹配快速定位相关段落(常用工具:FAISS、Milvus等向量数据库)。
- 上下文整合:如何高效拼接检索结果与用户输入,影响生成质量。
5. 与微调的区别
- 微调(Fine-tuning):直接调整模型参数以适应特定任务,但成本高且无法动态更新知识。
- RAG:保持模型不变,通过外部检索扩展能力,更灵活且成本低。