登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
每日签到
每天签到奖励2圆-6圆
发帖说明
VIP申请
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
VIP申请
VIP网盘
网盘
联系我们
每日签到
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
手把手教你使用C#创建一个WebSearchAgent
手把手教你使用C#创建一个WebSearchAgent
[ 复制链接 ]
叟澡帅
2025-6-5 10:13:36
PocketFlowSharp介绍
最近我对PocketFlow比较感兴趣,不仅是因为它是一个极简的LLM框架,更加让我觉得很不错的地方在于作者提供了很多方便学习的例子,就算没有LLM应用开发经验,也可以快速上手。
我比较喜欢C#,也想为C#生态做一点小小的贡献,因此创建了PocketFlowSharp项目。
PocketFlowSharp项目的愿景是助力.NET开发者开发LLM应用。
在我个人在学习实践的过程中,我发现很多项目不是那么“新手友好的”,这也没有办法,开发者更关注的是代码实现,文档写起来确实也很费劲。
在PocketFlowSharp项目中,我希望可以做到足够的新手友好,提供一些只要简单配置即可跑起来的示例,并且每个示例是独立的。
PocketFlowSharp项目地址:https://github.com/Ming-jiayou/PocketFlowSharp
构建Web_Search_Agent
今天介绍的是Web_Search_Agent。
代码在:https://github.com/Ming-jiayou/PocketFlowSharp/tree/main/PocketFlowSharpSamples.Console/Web_Search_Agent
效果
先来看下效果:
配置
运行这个示例非常简单,我提供了.env.example,如下所示:
用于配置LLM与BraveSearchApi,目前BraveSearchApi的免费额度是一个月2000次。
将其重命名为.env,注意需要将其设置为嵌入的资源,如下所示:
实现
在经过简单的配置之后,应该已经能够跑通了,为了让感兴趣的人更好的学习,我这里来介绍一下具体的实现。
Web_Search_Agent说是Agent其实我觉得更像是个工作流。PocketFlowSharp相当于一个简单的流程框架,将节点根据一个string类型的action进行连接。
Web_Search_Agent的整体流程如下所示:
首先创建一个Flow:
将节点进行连接有两种方式。
一种是:
decide.Next(search, "search");
复制代码
另一种是:
_ = search - "decide" - decide;
复制代码
这是因为实现了运算符重载,具体可看此处:
运行Flow的时候,节点之间的编排在这里:
每一个节点的运行流程在这里:
首先会运行决定节点的prep:
获取上下文(当前还没有上下文)与问题。
决定节点的exec:
获取prep的问题与上下文,判断是搜索还是回答。
决定节点的post:
根据LLM做出的决定选择行动。
这里LLM选择的是search。
根据返回的search寻找下一个节点也就是搜索节点,然后同样执行prep、exec与post。
Search节点的prep:
从共享存储中获取要搜索的内容。
Search节点的exec:
返回网络搜索结果:
Search节点的post:
将网络搜索的结果放到共享存储的context中。
然后返回"decide"又会回到决定节点。
决定节点这次选择的是answer:
就会转到回答节点。
回答节点的prep:
从共享存储中获取问题与上下文。
回答节点的exec:
根据问题与上下文进行回答。
回答节点的post:
将答案存入共享存储中。
最后从共享存储中提取出答案:
以上就是整个流程,希望能够让感兴趣的朋友快速理解。
最后
如果你还有什么不理解的地方,欢迎给我提issue。
如果对你有所帮助,点颗star⭐就是最大的鼓励。
欢迎感兴趣的朋友一起为爱发电。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
手把手
教你
使用
创建
一个
相关帖子
SpringBoot使用AOP优雅的实现系统操作日志的持久化!
磁盘性能测试工具FIO-使用教程
Vim在Windows的安装与基本使用
使用unsloth实现LoRA微调
$\LaTeX{}$之图片使用
旧版本Flutter使用xcode16打包上架时报错
$\LaTeX{}$之表格使用
记录 使用PsExec启动System权限的WPF 程序
文生图模型Stable Diffusion使用详解
使用CalcBinding实现复杂逻辑绑定
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
SpringBoot使用AOP优雅的实现系统操作日志的持久化!
0
123
马璞玉
2025-09-07
业界
磁盘性能测试工具FIO-使用教程
0
367
吕清莹
2025-09-07
安全
Vim在Windows的安装与基本使用
0
393
福清婉
2025-09-07
安全
使用unsloth实现LoRA微调
0
784
心麾浪
2025-09-07
科技
$\LaTeX{}$之图片使用
0
84
即息极
2025-09-10
业界
旧版本Flutter使用xcode16打包上架时报错
0
147
兼罔
2025-09-10
科技
$\LaTeX{}$之表格使用
0
647
袁可佳
2025-09-10
安全
记录 使用PsExec启动System权限的WPF 程序
0
847
姬宜欣
2025-09-10
业界
文生图模型Stable Diffusion使用详解
0
265
县挫伪
2025-09-11
业界
使用CalcBinding实现复杂逻辑绑定
0
639
缍米
2025-09-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
叟澡帅
2025-6-5 10:13:36
关注
0
粉丝关注
21
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
杭环
9988
凶契帽
9988
4
氛疵
9988
5
黎瑞芝
9988
6
猷咎
9986
7
里豳朝
9986
8
肿圬后
9986
9
蝓俟佐
9984
10
虽裘侪
9984
查看更多