Strict Frog's Blog

When Heaven is about to confer a great responsibility on man,it will first fill his heart with suffering,toil his sinews and bones,exposes his body to huger,subjects him to extreme poverty,confounds his journey with setbacks and troubles,so as to stimulate his alertness, toughen his nature,eventually bridging his incompetence gap and prepare him for the task.

梦境与自我反思

纯属虚构

梦境 梦境的场景来自于:小学的学校位于一座稍微高的山坡顶上, 我的家离学校很远,但也不是遥不可及. 在一片漆黑的夜晚,伸手不见五指,似乎在这个梦境世界永远都是这样的黑夜. 我虽然看不清脚下的路,也感受不到身边任何的事物,只有空旷, 但我很清楚我的目标是位于小学学校右上角的”垃圾堆“上,而小学学校就在一座稍微高个几十米左右的山坡顶上,因为那儿有一火焰光团正在散发着模糊但持续的光,指引着身在...

AIAgent之成本控制

成本管理

背景 在做AI产品的过程中,随着用户数的增加,每次调用LLM, 使用的提示词都在花钱. 那么如何在不影响结果的前提下,极限的减少不必要的消费呢? LLM的收费结构 这里举例OpenAI 可以看出最新的openAI API的Tokens收费结构为: Input 输入: 是Cached input的 10倍价格, 是Output的 1/10的价格 Cached i...

AIAgent之用户意图分析

Router

背景 用户的Query既有简单的信息搜索又有工具调用,或者只是简单的闲聊等等, 那么结合特定的AIAgent系统如何对用户的查询进行意图分析呢?(或者说Query分类) 特定的AIAgent的场景介绍 特定的AIAgent中RAG系统的数据集如下:(可以明显看到这是对简历的切分Chunk) resume_chunks = [ basic_chunk, skills_...

CAMEL框架详解与思考

CAMEL

背景 CAMEL是首个基于大模型的多Agent框架,其设计是多个角色扮演,互相对话,来达成共同的用户任务. CAMEL原文讲解 人类的一个idea,通过”Task Specifier“ 翻译,补充,明确化成一个具体的任务. 根据这个任务,设置2个不同的角色扮演:AI 助手 和 AI 用户. 通过这2个角色互相之间多轮对话直到 AI 用户觉得任务完成了 或者达到最大限度的对话...

财务报表分析AIAgent的搭建与思考:ReAct RAG Agent

Architecture

背景 没有复杂的RAG设计, 仅仅通过LlamaIndex的ReAct RAG Agent框架来实现财务报表的分析,就可以达到和初级商业分析师一样的水平. 但也是有许多的不足.个人觉得仅仅适合微小型企业来使用. 财报分析结构图 1, 加载A, B, ……公司的财务报表文件 from llama_index.core import SimpleDirectoryReader ...

AIAgent之完整的系统架构

完整的架构结构 Architecture 1. Intent Layer 2. Planning Layer 3. Execution Layer 4. Tool Layer 5. Memory Layer 6. Knowledge Layer 7. Policy & Guardrail Layer 8. Observability Layer 9. Persistence Laye...

企业级AIAgent:Router + ReAct + Function Calling

Architecture

背景 用户的Query既有简单的信息搜索又有工具调用,那么就需要设计一个通用可复用的成熟的系统架构 架构结构 Architecture User Query       ↓ 1️⃣ Intent Router       ↓ ┌───────────────┬──────────────────┐ │ Simple QA     │ Tool Required     │ │ (L...

企业级AIAgent:ReAct + Function Calling

ReAct框架

背景 在完整的AI Agent中,工具的调用这里采用ChatGPT的Function Calling的思想,通过定义“Tools Schema”来连接LLM和Tools的调用. 架构结构 User Query     ↓ Agent (LLM with tool access)     ↓ Decide:     - Call Tool?     - Or Final Answe...

企业级AIAgent:Plan-and-Execute + Function Calling

Plan-and-Execute框架

背景 在完整的AI Agent中,工具的调用这里采用ChatGPT的Function Calling的思想,通过定义“Tools Schema”来连接LLM和Tools的调用. 1,先定义Tools Schema 这里用到的工具: Search Database, Send Mail, Get Weather等等. 这些工具也就是自定义工具方法的名字. tools =...

Plan-and-Execute框架思路与应用

Plan-and-Solve

背景 LangChain的Plan-and-Execute框架受到关于Plan-and-Solve的论文的启发.Plan-and-Execute非常适合更复杂的长期规划,把复杂问题拆分成一个个子任务,逐个击破. 这会频繁的的调用大模型,但可以避免ReAct Agent循环过程中产生提示词过长的问题. Plan-and-Solve 策略 上图是无样本COT和Plan-and-...

RAG之Query ReWriting设计

Query ReWriting

背景 在设计RAG系统的过程中,我通过设计了Structural Chunks和Structural Prompt后, 检索出来的结果是完全符合理想的准确性. 但我想针对复杂的多Agent系统更加准确和高效率的提升检索效果, 我想设计了一个结合Structural Chunks的Query ReWriting. 选择 我有哪些方案? 方案1: 无脑的直接写提示词告诉L...

ReAct框架详解与思考

ReAct提示词

背景 在各种论文中, 有多种智能Agent的推理逻辑(也称框架):CoT, ToT, LLM+P等, 其中ReAct框架被LanggChain和LlamaIndex等多种AI应用开发工具作为推理引擎. ReAct框架 ReAct: Synergizing Reasoning and Acting in Language Models PromptTemplate(...

RAG之Structural Chunks设计

结构化切割

前言 针对RAG系统的构建,要想提高检索和生成结果的准确性,核心就是结构化Chunks的设计。 一, 常规的chunks切割方法 1,固定大小chunk分割 (Fixed-size Chunking) from langchain.text_splitter import CharacterTextSplitter text = "这是一个用LangChain测试固定大小分...

Prompt框架和Structural Prompt的说明

结构化提示词

前言 针对不同的AI Agent开发时,需要定制不同的prompt,那么对prompt的写法就需要更加专业,简洁,易于被LLM理解的prompt就很重要了。 一, 主流的prompt框架 CRISPE 框架 CR: Capacity and Role(能力与角色)。你希望 AI 扮演怎样的角色。 I: Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Conte...

Python的各种技巧

python

前言 python的各种技巧, 所以在此记录一下 案例 一,案例1 同一个局域网下,如何访问同伴的共享文件夹 1, 在终端输入2行命令 cd 需要共享的文件路径 python -m http.server 2, 在同一个局域网的设备(如:手机)输入 对方已共享文件的设备的IP + :8000 例如对方的IP地址为: 100.100.1.1 那么在你的手...