退一步:通过唤起推理
12345678英文名称: TAKE A STEP BACK: EVOKING REASONING VIA ABSTRACTION IN LARGE LANGUAGE MODELS中文名称: 退一步:通过抽象激发大型语言模型中的推理链接: http://arxiv.org/abs/2310.06117v2代码: https://github.com/langchain-ai/langchain/blob/master/cookbook/stepback-qa.ipynb作者: Huaixiu Steven Zheng∗, Swaroop Mishra∗, Xinyun Chen, Heng-Tze Cheng, Ed H. Chi, Quoc V Le, Denny Zhou机构: Google DeepMind日期: 2023-10-09引用次数: 12
摘要
目标:提出一种简单提示技术 Step-Back
Prompting,鼓励模型在处理问题之前先进行抽象化,即从具体实例中提取出高层次的概念和原则,然后再用这些概念和原则来指导后续的推理过程。
方法:主要分为两个步骤,抽象:提出 ...
论文阅读_图结构Agent和自我进化_AgentKit
12345678英文名称: AgentKit: Flow Engineering with Graphs, not Coding中文名称: AgentKit:使用图而非编码进行流程工程链接: https://arxiv.org/pdf/2404.11483.pdf代码: https://github.com/holmeswww/AgentKit作者: Yue Wu, Yewen Fan, So Yeon Min, Shrimai Prabhumoye, Stephen McAleer, Yonatan Bisk, Ruslan Salakhutdinov, Yuanzhi Li, Tom Mitchell机构: 卡内基梅隆大学, NVIDIA, 微软, 波士顿大学日期: 2024-04-17引用次数: 80
1 摘要
目标:提出了 LLM 提示框架
AgentKit,用于构建能通过自然语言提示进行复杂“思考过程”的多功能代理。
方法:AgentKit
使用节点作为基本构建块,每个节点包含一个特定子任务的自然语言提示。用户可以将这些节点像乐高积木一样堆叠起来,形成一个复杂的思考过程。
...
立场论文:代理人人工智能走向整体智能
1234567英文名称: Position Paper: Agent AI Towards a Holistic Intelligence中文名称: 立场论文:Agent人工智能走向整体智能链接: http://arxiv.org/abs/2403.00833v1代码: 作者: Qiuyuan Huang, Naoki Wake, Bidipta Sarkar, Zane Durante, Ran Gong, Rohan Taori, Yusuke Noda, Demetri Terzopoulos, Noboru Kuno, Ade Famoti, Ashley Llorens, John Langford, Hoi Vo, Li Fei-Fei, Katsu Ikeuchi, Jianfeng Gao机构: 微软研究核心,雷德蒙德,微软应用机器人研究,雷德蒙德,斯坦福大学,加州大学洛杉矶分校,微软游戏美国,MSR加速器,MSR人工智能前沿,纽约日期: 2024-02-28
读后感
这是一篇立场论文(Position
Paper),主要阐述作者对某个问题的观点和立场,并提出充分的理由 ...
开源项目_大海捞针测试
1 大海捞针测试
NeedleInAHaystack
项目地址:https://github.com/gkamradt/LLMTest_NeedleInAHaystack
功能:测试长上下文 LLMs 的上下文检索能力。
中文介绍:https://www.zhihu.com/question/624512303
2 原理
将一个随机的事实或陈述(“针”)放在一个长上下文窗口(“大海捞针”)的中间
要求模型检索此语句
遍历各种文档深度(指针放置位置)和上下文长度以衡量性能
3 多针检索加推理测试
评测需要检索多个事实并在此基础上进行推理的应用。
主要结果:
当要求模型检索更多的事实时,其性能会下降。
当模型需要对检索到的事实进行推理时,性能也会下降。
随着提供给模型的上下文信息量的增加,性能也会下降;随着上下文长度的增加,模型在文档开头的检索失败。
|500
CAMEL:大型语言模型社会的“心智”探索沟通代理
12345678英文名称: CAMEL: Communicative Agents for “Mind” Exploration of Large Language Model Society中文名称: CAMEL:大型语言模型社会的“心智”探索沟通代理链接: https://arxiv.org/pdf/2303.17760.pdf代码: https://github.com/camel-ai/camel 4.4K Star作者: Guohao Li(李国豪), Hasan Abed Al Kader Hammoud, Hani Itani, Dmitrii Khizbullin, Bernard Ghanem机构: 沙特阿拉伯阿卜杜拉国王科技大学日期: 2023-03-31引用次数: 56
1 读后感
以往的工作流程主要通过人与 LLM 的交互来控制。文中作者使用一个 Agent
来取代人的计划和决策,而另一个 Agent
负责执行具体的操作。通过这两者的交互,实现复杂工具,从而把人们从繁重的工作中解脱出来。为了示范这个过程,作者开发了一个股票投资机器人。同时通过实验发现并总结了
A ...
论文阅读_股票预测强化学习_StockFormer
1 StockFormer
1234567中文名称:StockFormer: 混合交易机与预测编码英文名称:StockFormer: Learning Hybrid Trading Machines with Predictive Coding作者:Siyu Gao, Yunbo Wang∗, and Xiaokang Yang机构:MoE Key Lab of Artificial Intelligence, AI Institute, Shanghai Jiao Tong University发表时间:IJCAI-23代码:https://github.com/gsyyysg/StockFormer地址:https://www.ijcai.org/proceedings/2023/0530.pdf
2 读后感
这里采用了预测编码模型与强化学习的结合方法。三个独立的预测编码模型分别用于预测短期(1
天)和长期(5
天)的回报率,以及各股票间的动态相关性。在训练预测编码模型的过程中,可获取有价值的潜在状态,并将这些状态组合成一个状态空间,用于训练强化学习模型。
论文带来一些启发:可以将 ...
50行代码实现股票回测
1 引言
之前,尝试做股票工具一直想做的大而全,试图抓取长期的各个维度数据,然后统计或者训练模型。想把每个细节做到完美,结果却陷入了细节之中,最后烂尾了。
最近,听到大家分享了一些关于深度学习、时序模型、强化学习在股票预测方面的新论文。但是觉得这些理论与我们的实际操作还有很大的距离。目前好像更需要的是一些具体而实用的辅助工具。
这次,尝试用 50 行代码完成一个简单的股票回测工具。输入的数据是 A
股的股票代码和时间,通过工具抓取股票数据。然后编写了策略,并使用回测工具来展示策略在数据上的具体操作和盈亏。
具体使用场景如下:当我们想采用某种策略来操作某支股票时,可以选择想要购买的股票,或者选择与之类似的股票;然后,选择一个与当前大趋势相似的时段,用历史数据来验证这个策略是否可行,以及其可能带来的盈利效果。
你不会编写策略也没关系。这里使用的 backtrader 库自 2015
年就已经开源,相关资料丰富。一般的交易策略代码,编程机器人(如 gpt4,
copilot)都能根据文字描述直接编写,只需要稍作修改即可。
2 工具介绍
这里采用了两种工具,一是用于抓取 A 股股票数据的
a ...
开源工具_Aider_重塑编程体验
项目地址:https://github.com/paul-gauthier/aider
编程语言:主要使用 Python
Star:8.9K+
功能:在终端中直接与 GPT-3.5/GPT-4 交互,编写或修改代码
主要优点:增加了代码生成的可控性,一次可以修改多个文件
1 编程工具
以前我们使用的辅助编辑工具多数是嵌入在 IDE
里的插件,主要提供代码段和建议。或者与 Agent
结合,实现复杂项目。相对来说比较细碎且不可控,还是主要以人为主。
另外,编程时使用大模型和问答场景一样,也存在数据问题,例如如何精准地提问、如何在有限的上下文限制下传达重要信息、如何判断哪些信息最相关,以及如何在解决问题时节约
token 等。
与问答不同之处在于,编程返回内容有更高要求,生成的程序需要可执行,并且在修改代码的场景中最好能看到代码对比效果。同时,我们还有一些工具可以辅助生成数据,例如语法检查工具,在运行的错误信息传给大模型继续修改。通过
Agent 之间的配合可以实现多步组合效果。
目前这些功能基本由本地端的编程工具控制,最好能让程序员更为可控,比如批量调用;再如简化工作流程:查
-&g ...
Agent具体实现
1 适用场景
需要多步组合、选择路径的复杂问题。
该问题可以被拆分成多个子模块,每个子模块都能清晰地定义输入、输出和功能,并能判断是否达成目标。
可能感觉有解决的方法,但不能确定具体的每一步方法。
可能存在多种组合方式,而不仅限于单一的方法,并且我们无法确定最优的解决方案。
对于单个模块而言,只需将接口描述清楚,无需过多考虑它与其他模块之间的调用关系。
2 原理
Thought->Action->Observation (Repeated many times)。
代理根据用户输入及当前状态选择一个动作,执行该动作并观察结果,然后继续下一个动作。
有了代理,就不需要手动编写 if/else
逻辑了,只需将选项提供给模型,让其进行判断。
|500
(图片来自网络)
3 langchain agent
Langchain 本身提供一些工具,例如 Google 搜索、GitHub 和 Python
等。如果需要自己实现工具,则需要继承 BaseTool 类,并实现 run
方法。模型根据工具的描述调用相应的方法,并观察其返回结果。
3.1.1 类别
计划代理:通过 l ...
ffmpeg常用命令
1 取视频中的音频
1$ ffmpeg -i xxx.mp4 -vn -acodec libmp3lame -ar 44100 -ac 2 -ab 192k xxx.mp4
2 加字幕
1$ ffmpeg -i xxx.mp4 -vf "subtitles=xxx.srt:force_style='FontName=SimSun,Bold=-1,Fontsize=8,outline=1,Shadow=0,OutlineColour=&H555555&'" -c:a copy -f mp4 xxx_out.mp4
3 换声音
1$ ffmpeg -i xx.mp4 -i xx.mp3 -c:v copy -map 0:v:0 -map 1:a:0 xxx.mp4
4 参考
ffmpeg
使用方法
ffmpeg
字幕设置