当前位置: 首页 > news >正文

静态网站制作流程网站设计常用字体

静态网站制作流程,网站设计常用字体,服务器网站崩溃,百度地图平面图怎么下载前言#xff1a;Agent 具备自主性、环境感知能力和决策执行能力#xff0c;能够根据环境的变化自动调整行为#xff0c;以实现特定的目标。 一、Agent 的原理 Agent(智能体)被提出时#xff0c;具有四大能力 感知、分析、决策和执行。是一种能够在特定环境中自主行动、感…前言Agent 具备自主性、环境感知能力和决策执行能力能够根据环境的变化自动调整行为以实现特定的目标。 一、Agent 的原理 Agent(智能体)被提出时具有四大能力 感知、分析、决策和执行。是一种能够在特定环境中自主行动、感知环境、做出决策并与其他Agent或人类进行交互的计算机程序或实体。它们具备自主性、反应性、社交性和适应性等特点能够根据环境的变化调整自己的行为以达到预设的目标。基于大模型构建的Agent主要利用LLM进行进行语义理解和推理分析结合任务分析能力通过外部工具Tool。利用RAG构建知识库来创建Memory。 1、Planning 类比人脑通过对任务的拆解分解为多个小任务通过构思方案分步骤操作得到最终的答案即可终止。如ReAct、CoT思维链。 2、Memory 模拟大脑的记忆功能分为长期记忆和短期记忆。长期记忆为用户行为特征、外部知识库等短期记忆为多轮对话形式存储上下文任务结束即可清理。 3、Tools 工具顾名思义通过外部构建的工具辅助完成决策。如代码分析网页读取天气查询等。 4、Action 通过对Planning、Memory、Tools三者的调用完成对用户输入的回答。如智能查询天气预报智能机器人抓取物体等。 二、具体案例天气查询 1. Planning规划 目标明确任务需求制定查询计划。 用户输入用户提出天气查询需求例如“今天北京的天气怎么样”。 任务拆解 确定查询地点北京、时间今天。 检查是否需要更详细的参数如温度单位、是否需要降水概率等。 输出生成一个结构化查询意图例如 {action: weather_query,location: 北京,date: 今天,params: [temperature, weather_condition] } 2. Memory记忆 目标利用历史数据或上下文优化查询。 短期记忆检查对话历史中是否已有相关信息例如用户之前提过“北京”或“今天”。 例若用户刚问过“上海天气”可确认是否需对比两地天气。 长期记忆检索用户偏好如用户曾设置温度单位为“摄氏度”。 输出补充查询参数例如 {unit: celsius,user_preference: show_humidity } 3. Tools工具 目标选择并调用合适的天气查询工具。 工具匹配识别可用工具如 WeatherAPI、OpenWeatherMap 等。 工具参数将规划阶段的意图转化为工具所需的输入格式。 例调用 WeatherAPI 的请求参数 weather_tool.query(location北京, date2023-11-20, unitcelsius) 异常处理准备备用工具或提示用户补充信息如地点模糊时询问“您指的是北京市朝阳区吗”。 4. Action执行 目标执行工具并返回用户可理解的结果。 调用工具发送请求至天气 API获取原始数据。 示例 API 返回 {location: 北京,date: 2023-11-20,temperature: 15,condition: 晴,humidity: 40% } 结果格式化将数据转换为自然语言响应。 最终输出 “今天北京天气晴朗气温 15 摄氏度湿度 40%。” 错误处理如查询失败反馈原因如“网络错误”或“地点不存在” 完整流程示例 用户输入“今天北京湿度怎么样” Planning解析出 actionweather_query, location北京, date今天, params[humidity]。 Memory发现用户偏好“显示百分比”。 Tools调用 OpenWeatherMap 的湿度查询接口。 Action返回“今天北京湿度为 40%”。 三、具体实现 具体构建思路如下 SimpleAgent/ ├── SimpleAgent.py # 主代理类入口 ├── llm/ # 语言模型模块 │ ├── __init__.py # 初始化文件 │ └── base_model.py # 抽象模型基类 ├── memory/ # 记忆管理模块 │ ├── __init__.py │ └── memory.py # 长短期记忆类 ├── rag/ # 检索增强生成模块 │ ├── __init__.py │ └── rag.py # RAG检索生成模块 ├── tool/ # 工具模块 │ ├── __init__.py │ ├── calculator.py # 计算器工具 │ ├── weather.py # 天气查询工具 │ └── base_tool.py # 工具基类 └── callback/ # 回调处理模块├── __init__.py└── event_handler.py # 事件处理回调 llm /base_model.py  主要调用大模型作为核心。用来回答基本问题 memory/memory.py 主要用来保存对话数据主要做简单的多轮对话 rag/rag.py 主要用来实现检索功能来使用本地知识库使用langchain框架加载向量数据库Faiss tool/  定义了工具基类通过工具基类实现了calculator和weather 两个工具。 主要解析SimpleAgent: 1、如何利用大模型理解用户意图 提示工程(Prompt Engineering)、语义相似度分析、意图分类技术、多轮对话管理 推荐使用提示词工程 请分析用户意图并选择操作。可用工具{tools_list}用户输入{prompt}请返回严格的JSON格式{{tool: 工具名 | null,action: use | direct_response,params: 参数 | null,}} tool_list包含工具名和工具描述如果用户的需求工具可以实现则通过工具调用反之则用LLM直接回答。 print(agent.available_tools) # 输出: {calculator: 数学计算器工具..., weather: 天气查询工具...} 2、如何定义工具和调用 2.1定义工具前需要设置一个工具基类。 class Tool(ABC):工具基类def __init__(self):self._is_core False # 是否为核心工具propertyabstractmethoddef name(self) - str:工具名称passabstractmethoddef use(self, params: Dict[str, Any]) - Any:工具主逻辑Args:params: 参数字典Returns:执行结果pass 2.2定义一个天气查询Tool import requests from typing import Dict, Anyclass Weather(Tool):天气查询工具获取指定城市的天气信息propertydef name(self) - str:return weatherdef use(self, params: Dict[str, Any]) - Dict:city params.get(city, 北京)# 实际调用天气APIresponse requests.get(fhttps://api.weather.com/{city})return response.json() 2.3 工具的调用 直接调用 result agent.tool_use(tool_nameweather,params{expression: 北京} ) 通过LLM自动调度用户自然语言输入 → Agent自动选择工具 → 返回结果 response agent.llm_tool_dispatcher(查询北京的天气) 2.4 工具调用详解 通过使用_llm_analyze_intent()生成如下的意图结构化决策 {tool: cweather,action: use,params: {expression: 北京} } 通过tool_use()方法调用得到反馈结果。将反馈结果推送大模型转换为自然语言进行回复。 2.5 工具的添加 根据自己设置的base_tool来定义对应的工具记得添加工具描述然后在Agent中注册该工具 3、如何设置本地知识库基于langchain 3.1 文本文档的处理 from langchain.document_loaders import (PyPDFLoader,Docx2txtLoader,UnstructuredFileLoader )class DocumentLoader:支持多种格式的文档加载器staticmethoddef load(file_path: str):if file_path.endswith(.pdf):loader PyPDFLoader(file_path)elif file_path.endswith(.docx):loader Docx2txtLoader(file_path)else: # txt/html等loader UnstructuredFileLoader(file_path)return loader.load() 3.2. 向量数据库配置 from langchain.embeddings import HuggingFaceEmbeddings from langchain.vectorstores import FAISSclass VectorDB:基于FAISS的本地向量数据库def __init__(self):self.embeddings HuggingFaceEmbeddings(model_nameGanymedeNil/text2vec-large-chinese)def create_index(self, docs, save_pathvector_db):db FAISS.from_documents(docs, self.embeddings)db.save_local(save_path)return dbdef load_index(self, path):return FAISS.load_local(path, self.embeddings) 3.3完整RAG实现 class LocalKnowledgeBase:def __init__(self):self.vectordb VectorDB()self.retriever Nonedef build_knowledge_base(self, file_paths: list):构建知识库all_docs []for path in file_paths:docs DocumentLoader.load(path)all_docs.extend(docs)self.vectordb.create_index(all_docs)print(知识库构建完成)def load_existing_knowledge(self, db_path):加载已有知识库self.retriever self.vectordb.load_index(db_path)def query(self, question: str, top_k3) - list:检索知识if not self.retriever:raise ValueError(请先加载知识库)docs self.retriever.similarity_search(question, ktop_k)return [doc.page_content for doc in docs] 3.4 与Agent的交互 class EnhancedAgent(SimpleAgent):def __init__(self, *args, **kwargs):super().__init__(*args, **kwargs)self.knowledge_base LocalKnowledgeBase()def rag_response(self, query: str) - str:增强的RAG响应# 1. 检索相关知识contexts self.knowledge_base.query(query)# 2. 构造增强提示prompt f基于以下上下文回答问题{contexts}问题{query}答案# 3. 生成最终回复return self.generate_response(prompt) 3.5 RAG 使用技巧 1、使用缓存或者保存为本地向量库方便以后的查询 agent EnhancedAgent(SmartBot)# 首次构建耗时操作 agent.knowledge_base.build_knowledge_base([data/产品手册.pdf,data/常见问题.docx ]) # 后续使用直接加载 agent.knowledge_base.load_existing_knowledge(vector_db) from diskcache import Cachecache Cache(query_cache)cache.memoize(expire3600) def cached_query(question):return self.knowledge_base.query(question) 2、采用混合查询策略 def hybrid_search(query):# 语义检索semantic_results self.retriever.similarity_search(query)# 关键词检索keyword_results self.retriever.search(query, search_typemmr)return combine_results(semantic_results, keyword_results) 3、关于知识库的更新 def update_knowledge(file_path):new_docs load_documents(file_path)self.retriever.add_documents(new_docs)self.retriever.save(vector_db) 四、总结 基于大语言模型(LLM)的智能代理(Agent)实现具有工具使用、记忆和检索增强生成(RAG)能力。 核心组件 语言模型(LanguageModel)基础的大模型接口 记忆系统(Memory)存储对话历史 工具系统(Tool)可扩展的工具框架 回调系统(CallbackHandler)事件处理机制 RAG系统检索增强生成功能 主要功能解析 1. 初始化与基础功能 __init__ 初始化代理名称、语言模型、记忆、回调和工具系统 greet 简单的问候功能 generate_response 基础文本生成功能 2. 工具系统 _init_tools 初始化默认工具(计算器和天气查询) register_tool/unregister_tool 工具的动态注册与卸载 tool_use 安全执行工具调用带超时控制和错误处理 available_tools 获取可用工具清单 3. 意图理解与调度 _llm_analyze_intent 核心意图理解方法 构造包含可用工具信息的提示词 要求LLM返回结构化JSON响应 使用正则表达式提取JSON结果 验证结果结构有效性 llm_tool_dispatcher 主调度方法 如果有文件路径使用RAG处理 否则分析用户意图 根据意图决定使用工具或直接响应 格式化工具结果为自然语言 4. RAG功能 rag 方法实现检索增强生成 加载文档 检索相关信息 生成回答 5. 辅助功能 日志记录 错误处理 回调系统(用于监控和扩展) 结果格式化 完整代码https://github.com/rescal-xuan/SimpleAgent
http://www.zqtcl.cn/news/558419/

相关文章:

  • 无锡网站推广公司网络营销课程设置
  • dede 网站根目录北京好的设计公司
  • 网站关键词重复wordpress 影响力
  • 外包商网站怎么做php网站转移
  • 怎么做自己的网站推广产品企业建站 平台
  • 河北做网站公司网站建设团队扬州
  • 114物流网站怎么做免费注册163免费邮箱申请
  • 做网站要以单位手机发博客wordpress
  • 莆田网站建设莆田seo管理系统培训
  • 有一个网站自己做链接获取朋友位置网站关键词数量减少
  • 毕设网站建设论文小程序开发模板
  • 广州网页模板建站电商平台谈双11变冷
  • 用.cc做网站官网可以吗2003系统网站建设
  • 创意网站推荐新手网站
  • 网站编程好学吗免费下载app并安装
  • 广州专业网站制作设计网站建设分几种
  • 有没有专业做艺术品的网站长沙人才市场招聘信息
  • 河池做网站通过邮箱查注册网站
  • 金融互助网站开发网上免费设计效果图
  • 网站开发 例子施工企业质量管理体系应按照我国
  • 义乌建设网站网络营销推广有哪些方法
  • 宿迁建设局网站a类证查询怎么自己搭建梯子
  • 成都网站品牌设计策划网络推广如何收费
  • html5 js全屏滑动网站源码wordpress 插件 破解
  • 做电影网站怎么批量去水印微信用什么小程序可以提取文字
  • 网站开发费用周期域名网站建设方案书模板
  • 织梦网站问题关于政务网站建设工作情况的总结
  • wordpress 拿站网站搭建后如何使用
  • 网站设计应遵循的原则wordpress免费空间
  • 建设网站的特色企业内部培训app软件