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

wordpress搭建英文网站中信建设有限责任公司企业邮箱

wordpress搭建英文网站,中信建设有限责任公司企业邮箱,wordpress远程ftp,辽阳建设网站公司报价引言 随着大模型#xff08;LLM#xff09;的崛起#xff0c;特别是ChatGPT等大模型的广泛应用#xff0c;基于LLM的系统越来越受欢迎。然而#xff0c;尽管大模型具备强大的生成能力和推理能力#xff0c;它们在处理某些专有领域或实时问题时仍然存在局限性。因此#…引言 随着大模型LLM的崛起特别是ChatGPT等大模型的广泛应用基于LLM的系统越来越受欢迎。然而尽管大模型具备强大的生成能力和推理能力它们在处理某些专有领域或实时问题时仍然存在局限性。因此结合工具和Agent的概念增强大模型的实时交互能力成为解决问题的关键方法。 本文将从零开始手动构建一个基于React方式的最小化Agent结构我们称之为TinyAgent。本文会展示如何通过结合LLM与外部工具的方式赋予大模型实时处理问题的能力。 实现细节 Step 1: 构建大模型 首先我们需要加载一个大模型作为核心这里我们选择InternLM2模型。InternLM2是一个Decoder-Only的对话大模型具备较强的生成能力。我们可以使用transformers库来加载并运行该模型。 首先我们定义一个通用的大模型基类BaseModel该类用于加载模型和处理输入输出。 class BaseModel:def __init__(self, path: str ) - None:self.path pathdef chat(self, prompt: str, history: List[dict]):passdef load_model(self):pass然后我们实现一个继承自BaseModel的类InternLM2Chat这个类实现了具体的模型加载和与模型对话的方法。 class InternLM2Chat(BaseModel):def __init__(self, path: str ) - None:super().__init__(path)self.load_model()def load_model(self):print( Loading model )self.tokenizer AutoTokenizer.from_pretrained(self.path, trust_remote_codeTrue)self.model AutoModelForCausalLM.from_pretrained(self.path, torch_dtypetorch.float16, trust_remote_codeTrue).cuda().eval()print( Model loaded )def chat(self, prompt: str, history: List[dict], meta_instruction: str ) - str:response, history self.model.chat(self.tokenizer, prompt, history, temperature0.1, meta_instructionmeta_instruction)return response, historyStep 2: 构造工具 接下来我们定义工具类支持外部功能的调用比如Google搜索。通过这些工具可以扩展大模型的能力从而处理实时或专有领域的任务。 我们首先定义工具的描述信息并在类Tools中实现具体的工具操作。 class Tools:def __init__(self) - None:self.toolConfig self._tools()def _tools(self):tools [{name_for_human: 谷歌搜索,name_for_model: google_search,description_for_model: 谷歌搜索是一个通用搜索引擎可用于访问互联网、查询百科知识、了解时事新闻等。,parameters: [{name: search_query,description: 搜索关键词或短语,required: True,schema: {type: string},}],}]return toolsdef google_search(self, search_query: str):url https://google.serper.dev/searchpayload json.dumps({q: search_query})headers {X-API-KEY: 你的API_KEY,Content-Type: application/json}response requests.request(POST, url, headersheaders, datapayload).json()return response[organic][0][snippet]Step 3: 构建Agent 接下来我们创建一个Agent类实现ReActReasoning and Acting范式的Agent。这个Agent可以通过LLM处理输入并在需要时调用工具。 我们需要构造system_prompt让模型了解可以使用哪些工具以及如何调用这些工具。 class Agent:def __init__(self, path: str ) - None:self.path pathself.tool Tools()self.system_prompt self.build_system_input()self.model InternLM2Chat(path)def build_system_input(self):tool_descs, tool_names [], []for tool in self.tool.toolConfig:tool_descs.append(TOOL_DESC.format(**tool))tool_names.append(tool[name_for_model])tool_descs \n\n.join(tool_descs)tool_names ,.join(tool_names)sys_prompt REACT_PROMPT.format(tool_descstool_descs, tool_namestool_names)return sys_prompt通过system_prompt我们告知模型可以使用哪些工具以及如何格式化输入输出。 然后我们实现一个解析工具调用的逻辑模型通过解析用户输入决定何时调用工具并将结果返回。 def parse_latest_plugin_call(self, text):plugin_name, plugin_args , i text.rfind(\nAction:)j text.rfind(\nAction Input:)k text.rfind(\nObservation:)if 0 i j: # 如果包含Action和Action Inputif k j: # 且没有Observationtext text.rstrip() \nObservation: # 添加Observationk text.rfind(\nObservation:)plugin_name text[i len(\nAction:) : j].strip()plugin_args text[j len(\nAction Input:) : k].strip()text text[:k]return plugin_name, plugin_args, text最后整合工具调用和LLM的生成过程。 def text_completion(self, text, history[]):text \nQuestion: textresponse, his self.model.chat(text, history, self.system_prompt)print(response)plugin_name, plugin_args, response self.parse_latest_plugin_call(response)if plugin_name:response self.call_plugin(plugin_name, plugin_args)response, his self.model.chat(response, history, self.system_prompt)return response, hisStep 4: 运行Agent 最后运行我们的Agent测试其功能。 if __name__ __main__:agent Agent(/root/share/model_repos/internlm2-chat-7b)response, _ agent.text_completion(text周杰伦是哪一年出生的, history[])print(response)response, _ agent.text_completion(text周杰伦是谁, history[])print(response)结语         通过本文的讲解我们从零开始构建了一个最小化的Agent系统。我们一步一步地实现了如何结合大语言模型LLM与外部工具来增强大模型的实际应用能力。尽管大语言模型在很多任务中展现出了惊人的能力但在面对特定领域的专有任务或实时性要求较高的场景时单靠语言模型可能会表现不足。Agent系统的核心理念就是让大模型能够借助外部工具如搜索引擎、数据库等来完成更加复杂和个性化的任务。         在本项目中我们基于React范式设计了一个简单的Agent通过提供工具描述与交互模板让模型可以理解如何合理调用外部工具。在我们的示例中模型能够调用Google搜索引擎来获取实时信息从而补充大模型在某些领域的知识盲点。这种方式大大拓展了大模型的应用边界不再仅仅依赖于模型参数内的知识而是能够动态连接外部信息资源。 Agent系统的意义 增强信息获取能力通过工具接口模型可以即时获取最新信息或查询外部资源从而突破模型知识更新滞后的局限性。提高任务处理效率Agent能够通过合理地调用外部工具更加快速、准确地完成复杂任务。灵活扩展性我们构建的系统框架具备高度的扩展性后续可以通过简单的工具插件接口轻松接入其他任务场景如金融数据分析、地理信息查询等。实现智能决策通过多次推理和工具调用Agent能够像人类一样通过多步推理获得更符合问题背景的答案而不是单一的响应。         通过手搓这个TinyAgent我们不仅熟悉了ReAct范式的原理与实现还学习了如何通过系统提示与多次推理循环让大模型具备更强的推理与行动能力。在未来我们可以进一步优化该框架将其应用到更广泛的场景中如智能客服、实时金融预测、医疗信息查询等。         最后构建Agent系统为大模型的应用开辟了新的可能性它不仅提升了大模型的智能化水平也为探索更复杂的任务提供了技术基础。希望本文的讲解能够帮助你深入理解Agent的运作机制并激发更多关于大模型与工具结合的创新思路。 如果你觉得这篇博文对你有帮助请点赞、收藏、关注我并且可以打赏支持我 欢迎关注我的后续博文我将分享更多关于人工智能、自然语言处理和计算机视觉的精彩内容。 谢谢大家的支持
http://www.w-s-a.com/news/215341/

相关文章:

  • 摄影网站的设计与实现开题报告太原企业自助建站
  • 做如美团式网站要多少钱做网站怎么去文化局备案
  • 桂平市住房和城乡建设局网站网站建设与管理自考题
  • 怎么做公司网站制作凡科官方网
  • 达人设计网官方网站建筑效果图网站有哪些
  • 网站定制哪家快建筑室内设计网
  • 网站创建方案论文旅游网站的设计与制作html
  • 网站建设的数据导入导出开发小程序需要多少钱费用
  • 局网站建设进入前十名wordpress user role editor
  • 网站托管如何收费搜一下百度
  • 中国建设劳动协会网站wordpress 区块链媒体
  • 网站开源是什么意思西安做网站科技有限公司
  • 自己怎么用h5做网站肇庆seo
  • 长沙网站seo优化公司东莞企业官方网站建设
  • 网站个人备案材料北京网站推广价格
  • 百度做任务的网站电子工程网网站
  • 中介订制网站开发玉溪网站建设设计
  • 免费网站免费无遮挡手机页面设计软件
  • 网站建设需求规格说明书中山模板建站公司
  • wordpress get值网站建设 seo sem
  • 网站建设微信开发工厂代加工平台
  • 厦门 网站建设 公司哪家好asp.net 创建网站
  • 专业北京网站建设凡科网做网站怎么样
  • 金富通青岛建设工程有限公司网站浙江省住建厅四库一平台
  • 有搜索引擎作弊的网站企业建设H5响应式网站的5大好处6
  • 是做网站编辑还是做平面设计seo外包公司接单
  • 做性的网站有哪些苏州专业网站设计制作公司
  • 陵水网站建设友创科技十大优品店排名
  • 想换掉做网站的公司简要说明网站制作的基本步骤
  • 国企公司网站制作wordpress 浮动定位