工作流特点

影响LLM效果的因素

 
- 模型能力(智力)
    - 通识理解和泛化能力
    - 输入信息理解、推理、规划、执行能力
    - 输入信息补充知识学习能力
    - 文字生成创作的风格

 
- 相关信息(知识)
    - 与任务相关的信息
    - 与互动背景相关的信息
    

 
- 模型输出控制(行动方法)
    - 单次请求控制
        - Prompt表达优化
        - 以CoT为代表的思维链控制方法
        - 输出格式控制(文本格式语法、工程结构化数据输出…)
    - 多次请求控制
        - 以ReAct(Action-Observation-Reflection)为代表的多轮自我反思优化
        - 复杂任务的执行过程编排管理
    

 
### 单次请求的局限性
- 上下文窗口长度限制、输出长度限制(早期的LangChain长文本Summarize)
- 直接进行CoT控制(尤其是用自然语言表达CoT)会输出思考过程,但我们不希望用户看到这个过程
- 随着工作进展出现的新信息,对任务时序、编排有依赖的信息,不一定能在单次请求中一次性完成输入

 
### 工作流的优势
- 将工作任务拆分成多个工作节点
- 能够将模型单次请求调用视作一个工作节点
- 能够灵活将其他代码逻辑也写入工作节点
- 能够对工作节点进行任务编排
- 能够在工作节点之间进行数据传递
        
    

 

    

 
输入

第1阶段:原始的任务,初次执行 
第2阶段:对第1阶段进行反思,思考哪些地方还有待提高
第3阶段:执行建议,

输出

反思调整阶段

 
复杂的任务就需要复杂的思考,反复的调整

这是因为第一次尝试得到的效果通常不好,需要进一步分析,反思,调整 

发现问题/差异,给出建议,执行建议,确认效果,
反复重复这个过程,使问题/差异朝着小的方向改变

 


 

  

 


Agent Bank

 
关于ChatGLM的Agent Bank(这里我假设您指的是基于ChatGLM构建的智能体或代理集合,因为“Agent Bank”并非一个直接对应的术语),我们可以从以下几个方面来探讨:

一、ChatGLM简介
ChatGLM是由智谱AI和清华大学KEG实验室联合发布的新一代对话预训练模型。ChatGLM系列模型,如ChatGLM3-6B,在保留了对话流畅、部署门槛低等优点的基础上,引入了更强大的基础模型、更完整的功能支持以及更全面的开源序列。ChatGLM不仅支持多轮对话,还原生支持工具调用、代码执行和Agent任务等复杂场景。

二、Agent Bank的概念
虽然“Agent Bank”不是ChatGLM官方直接使用的术语,但我们可以将其理解为基于ChatGLM构建的一系列智能体或代理的集合。这些智能体或代理可以根据用户的输入和上下文,自主执行一系列操作,完成特定任务。

    

 
三、基于ChatGLM构建Agent Bank的步骤
模型选择与加载:
选择合适的ChatGLM模型,如ChatGLM3-6B,并根据需求加载模型。

工具封装:
将特定的业务逻辑或功能封装成独立的工具或模块。这些工具可以是API调用、数据库查询、文件操作等。

Prompt设计:
设计合理的Prompt,以指导ChatGLM在特定场景下选择合适的工具并执行相应的操作。

Agent开发:
利用langchain等框架,将ChatGLM模型与封装好的工具结合,构建具有自主性的Agent。
Agent可以基于用户的输入和上下文,自主判断并调用相应的工具,完成复杂任务。

测试与优化:
对构建的Agent进行测试,确保其在各种场景下都能正常工作。
根据测试结果对Agent进行优化,提高其性能和准确性。

部署与应用:
将优化后的Agent部署到实际的应用场景中,为用户提供智能化的服务。
    
    

 
四、示例
假设我们想要构建一个基于ChatGLM的客服Agent Bank,该Bank包含多个客服Agent,
每个Agent负责处理不同领域的用户问题。

我们可以按照上述步骤进行开发:

首先,加载ChatGLM模型。

然后,将常见的客服问题分类并封装成独立的工具或模块,如订单查询、商品咨询、售后服务等。

设计合理的Prompt,以指导ChatGLM在接收到用户问题时选择合适的工具进行回复。

利用langchain等框架构建客服Agent,并测试其性能。

最后,将优化后的客服Agent部署到企业的客服系统中,为用户提供智能化的客服服务。

五、结论
虽然“Agent Bank”不是ChatGLM官方直接使用的术语,
但基于ChatGLM构建一系列智能体或代理集合是完全可行的。

通过合理的模型选择与加载、工具封装、Prompt设计、Agent开发、测试与优化以及部署与应用等步骤,
我们可以构建出功能强大、性能优越的Agent Bank,为用户提供智能化的服务。

    

 

    

 

    

 


 

  

 


Agently

 
# 安装所需要使用的包,langchain 0.2.10
!pip install openai langgraph Agently==3.3.1.9 mermaid-python nest_asyncio

 
# 使用nest_asyncio确保异步稳定性
import nest_asyncio
nest_asyncio.apply()
    

 
from ENV import deep_seek_url, deep_seek_api_key, deep_seek_default_model
import Agently
agent = (
    Agently.create_agent()
        .set_settings("current_model", "OAIClient")
        .set_settings("model.OAIClient.url", deep_seek_url)
        .set_settings("model.OAIClient.auth", { "api_key": deep_seek_api_key })
        .set_settings("model.OAIClient.options", { "model": deep_seek_default_model })
)

result = agent.input(input("[请输入您的要求]: ")).start()
print("[回复]: ", result)
    

 
[请输入您的要求]:  我想学习音频算法,成为一名音频算法工程师,我该怎么做?
[回复]:  成为一名音频算法工程师需要掌握一系列的技能和知识,包括音频信号处理、数学、编程、机器学习等。以下是一些步骤和建议,帮助你在这个领域取得进步:

1. 基础知识学习
    数学基础:线性代数、概率论、统计学、微积分等。
    信号处理:学习傅里叶变换、滤波器设计、采样理论等。
    编程技能:掌握至少一种编程语言,如Python、C++或MATLAB。

2. 专业课程和书籍
    在线课程:Coursera、edX、Udacity等平台上有关于信号处理和音频处理的课程。
    专业书籍:《数字信号处理》(Oppenheim & Schafer)、《音频信号处理与识别》(Wang & Brown)等。

3. 实践经验
    项目实践:尝试实现一些基本的音频处理算法,如回声消除、噪声抑制、音频压缩等。
    开源项目:参与或贡献音频处理相关的开源项目,如Audacity、Librosa等。

4. 深入研究
    机器学习:了解深度学习在音频处理中的应用,如语音识别、音乐生成等。
    论文阅读:定期阅读音频处理领域的最新研究论文,如IEEE Transactions on Audio, Speech, and Language Processing等期刊。

5. 专业工具和软件
    音频处理软件:学习使用如Audacity、Adobe Audition等软件。
    开发工具:熟悉音频处理库和框架,如PyAudio、PortAudio、FFmpeg等。

6. 建立作品集
    个人项目:完成一些个人项目,展示你的技能和创新。
    技术博客:撰写技术博客,分享你的学习经验和项目成果。

7. 职业发展
    实习机会:寻找音频算法相关的实习机会,积累实际工作经验。
    行业交流:参加音频处理相关的会议和研讨会,如AES(Audio Engineering Society)会议。
    网络建设:加入专业社群,与行业内的专家和同行建立联系。

8. 持续学习
    关注行业动态:音频技术不断发展,需要持续关注最新的技术和研究趋势。
    终身学习:不断提升自己的技能和知识,适应行业的变化。

通过上述步骤,你可以逐步建立起成为音频算法工程师所需的知识体系和实践经验。记住,这是一个持续学习和实践的过程,不断挑战自己,才能在这个领域取得成功。

    

 

    

 

    

 

    

 


 

  

 


LangGraph

⚡ Building language agents as graphs ⚡

 
https://langchain-ai.github.io/langgraph/ 
    

langgraphjs
https://github.com/langchain-ai/langgraphjs

 

    

 

    

环境

 
(base) xt@llm:/opt/wks/jupyter$ wkflow

!pip install langgraph openai

    

 

    

 

    

 

    

 

    

 


 

  

 


参考
     Huggingface 镜像站