小落同学


[TOC] 前言 由于买的这个阿里云ECS是最低配的(2核1G内存),小落同学的后台进程经常会被莫名奇妙的杀掉,因此拟给加个看门狗保护下。整个保护分成两部分:1)进程检测脚本:watchdog.sh2)将检测脚本加入crontab 具体步骤如下。 进程检测脚本:watchdog.sh 利用一个配置文件,将小落同学绑定的端口及进程启动脚本在配置文件里配置好。然后再用一个脚本去telnet这个端口,若telnet成功,说明进程还活着,否则就是进程没了,需调用启动脚本进行启动。 配置文件 小落同学总共有两个进程,分别是backend和frontend,各使用8000端口和3000端口。文件名:watchdog.list 脚本内容 文件名:watchdog.sh 将检测脚本加入crontab 查看下当前cronjob列表。 查看命令 结果 加入小落同学相关的进程监控脚本 用crontab -e编辑,并加入小落同学相关的进程监控脚本,并将其设置为每分钟都检测一下。 查看当前back-end进程情况 返回8000端口进程情况 手动杀进程,看看能不能恢复? 杀进程后,等一会儿再看看进程有没有重新启来? 其它 查看crond的日志 crond的日志默认应该是在/var/log/cron里若是进程没启动起来的话,可以看下crond的日志,看看可能是什么原因 项目运行环境切换 1)conda环境切换:由于我给小落同学后台项目专门搞了一个虚拟环境,手动启动的时候都是先手动conda activate xiaoluo来切换一个环境,然后再去执行启动小落同学,但这个在crontab里写起来比较麻烦,因此将相关的环境切换移到start_backend.sh,并在这个脚本里去启动小落同学后台。2)npm环境切换:小落同学的前台其实也是类似,小落同学的前台的npm版本也是一个比较比较老的版本(v16.14.2),启动前需要nvm use v16.14.2切换一下npm版本,相关的处理都不放到crontab里,而转移到一个专门的启动脚本:start_frontend.sh。

给小落同学后台加个进程保护


【Good ending】预约会议失败场景下的流程】 小落同学用例:创建一个助手虚拟人,让其可以帮你预约会议。 目标 如题,希望让小落同学虚拟人市场里创建出来的虚拟人可以支持预约会议功能。 创建虚拟人角色 考虑到之前用小落同学的虚拟客服、虚拟女友的角色的prompt偶发会对指令出现干扰,从而导致agent在选择tool时异常,我专门在小落同学的后台新增了一个独立的、助手的角色。进入小落同学的后台后,创建一个虚拟人,名字、性别、人物模型、声音随便选一个,重点是prompt。该角色我给写的prompt是: 启动虚拟人 创建好虚拟人后,可在虚拟人市场那里直接点击启动,跳转到相应的前台页面。 开始预约会议 输入指令 帮我预约一个今天晚上8点的项目会议,邀请Jacky和顾振华参加 请求 工具选择:正确 参数解析:时间和日期全错 将解析日期参数独立出一个tool,再来一遍 在MeetingScheduler这个tool里,我判断了一下日期格式是否正确,如果不对的话,再手动调用QueryDate这个tool去重新解析日期。QueryDate的入参为前面在MeetingScheduler这个tool返回的日期参数:今天晚上8点QueryDate这个 tool的 prompt我写的是: 解析日期请求 第一次解析日期响应1 LLM返回的第一次解析日期的响应如下: 很好,果然笨的可以。那好,既然你这么笨,这道题目哥让你做三遍。 发起第二次QueryDate请求,内容格式跟第一次保持不变。 第二次解析日期响应 LLM返回的第二次解析日期的响应如下: 笨!!但是我还没放弃对你的治疗。发起第三次QueryDate请求,内容格式跟第一次保持不变。 第三次解析日期响应 LLM返回的第三次解析日期的响应如下: 哈哈。虽然你很笨,但是多试几次,你还是有机会把题目做对了的。但是你特么滴能不能按我的要求输出内容?调整QueryDate的prompt,再给你一次机会。 第四次解析日期响应 LLM返回的第四次解析日期的响应如下: 666666 看来还是可以再继续调教调教的。 最终的预约会议结果 Action: MeetingSchedulerAction Input: (‘2024-5-20′, ’20:00’, ‘不循环’, ‘项目会议’, ‘Jacky,顾振华’)Observ[DEBUG][2024-05-20 19:36:31,715][MeetingScheduler.py:80] =====================param=(‘2024-5-20′, ’20:00’, ‘不循环’, ‘项目会议’, ‘Jacky,顾振华’)Observ, type=会议预约:111111111111 […]

小落同学用例:创建一个助手虚拟人,让其可以帮你预约会议


前言 由于用默认的langchain agent碰到各种action识别错误,action input解析错误的问题,听说这个langsmith可以让我调试、测试、评估和监控基于任何 LLM 框架构建的链和智能代理的全流程。特地来学习了解一下。 注册langsmith 官网地址:https://smith.langchain.com/看到可以直接用Discord、GitHub、Google账号登录(也可以用自己邮箱注册),于是直接用github账号注册登录。 获取API 登录进去后在Personal页的右上角有一个Create API Key,点击后可创建一个API KeyAPI Key分两种:Personal Access KeyService Key我各创建了一个:Personal Access Key: lsv2_pt_706834b28bf6477a9f69ab9b81021c77_cbd33ac54bServiceKey: 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 设置环境变量 Linux:export LANGCHAIN_TRACING_V2=trueexport LANGCHAIN_ENDPOINT=”https://api.smith.langchain.com“export LANGCHAIN_API_KEY=”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”export LANGCHAIN_PROJECT=”langchain_for_llm_application_development” Windows:setx LANGCHAIN_TRACING_V2 truesetx LANGCHAIN_ENDPOINT “https://api.smith.langchain.com“setx LANGCHAIN_API_KEY lsv2_pt_706834b28bf6477a9f69ab9b81021c77_cbd33ac54bsetx LANGCHAIN_PROJECT langchain_for_llm_application_development 其中:LANGCHAIN_TRACING_V2: 设置LangChain是否开启日志跟踪模式。LANGCHAIN_PROJECT: 跟踪项目的名称。如果LangSmith上还没有这个项目,会自动创建。如果不设置这个环境变量,会把相关信息写到default项目。LANGCHAIN_API_KEY: 你在前面申请生成的LangSmith的API key。 设置好环境变量就可以了,代码无需任何变动!完全没有侵入性的感觉真好。当然,如果要较真的话,引入LangChain的时候代码就已经侵入了,但是我们本来就要用LangChain,那就不用管这个了。 使用 初始化smith ”’pythondef initSmith(self):try:from dotenv import load_dotenvload_dotenv(find_dotenv()) ”’ […]

langsmith使用



让我们来用小落同学试试:大语言模型可以给人力资源部门带来什么帮助 question:ChatGPT之类的大语言模型可以给人力资源部门带来什么帮助 小落同学:ChatGPT可以为人力资源部门带来以下一些好处: question:请用ChatGPT完成一个实际的案例,来帮忙人力资源部门实现自动化招聘流程? 小落同学:好的,我可以给您提供一个案例。假设一家企业需要招聘一名软件开发工程师,人力资源部门可以通过ChatGPT来实现自动化招聘流程。首先,人力资源部门可以在ChatGPT上发布招聘信息,包括职位描述、任职要求、薪资范围等。然后,应聘者可以通过ChatGPT提交简历,并通过文本输入或语音输入的方式回答一些问题,以证明他们是否符合职位要求。接下来,ChatGPT可以自动评估应聘者的答案,并根据其表现给出相应的评价。人力资源部门可以设置一定的阈值,以确定应聘者的面试资格。如果应聘者的评价超过阈值,则可以自动邀请其参加面试。如果应聘者的评价低于阈值,则可以自动拒绝其应聘。最后,如果应聘者通过了面试,人力资源部门可以通过ChatGPT向其发送录用通知,并自动为其办理入职手续。如果应聘者未通过面试,人力资源部门也可以通过ChatGPT向其发送拒录通知,并为其提供一些反馈意见。通过这种方式,人力资源部门可以大大减少招聘流程的时间和人力成本,同时也可以提高招聘效率和准确度。 question:请用随机生成20条员工的考勤记录,并用ChatGPT来对这些考勤记录进行分析,用于人力资源部门决策。 小落同学:以下是随机生成的20条员工考勤记录: 对于这些考勤记录,可以使用以下分析方法: 此外,还可以对员工的考勤记录进行更深入的分析,比如按部门、按岗位、按个人等进行分析,以便为人力资源决策提供更准确的依据。最后,建议将分析结果以图表的形式展示,以便更容易理解和决策。

prompt – ChatGPT之类的大语言模型可以给人力资源部门带来什么帮助