Git_保护主分支
1 功能
在 GitHub 上设置我的项目代码只能通过 Pull
Request,审核后才能合并到主分支。
通常情况下,只有项目的所有者和合作者才能向主分支上传代码。因此,这里限制的是他们在上传代码时需要进行相互检查。
2 方法
进入仓库设置:
打开 GitHub 仓库。
在仓库页面的右上角,点击 Settings(设置)。
设置分支保护规则:
在仓库设置页面的左侧菜单,点击 Branches。
点击 Add branch ruleset。
选择受保护的分支:
起一个名字:Ruleset Name。
在 Targets 中添加要保护的分支,一般设置 Default
即主分支。
启用强制 Pull Request 和 Code Review:
选中 Require a pull request before merging。
选中 Require approvals,然后在下方选择需要多少个审核人(比如至少 1
个)。
保存规则
django_多语言支持
1 安装底层库
1$ apt-get install gettext -y
2 修改设置
在 settings.py 中加
1234567891011USE_I18N = TrueUSE_L10N = TrueLANGUAGES = [ ('en', 'English'), ('zh', 'Chinese'),]LOCALE_PATHS = [ os.path.join(BASE_DIR, 'locale'),]
3 修改代码
代码中加入要翻译的字符串,形如:
12from django.utils.translation import gettext as _text = _("Hello, World")
4 生成目录和翻译文件
1$ python manage.py makemessages -l zh
此时生成 locale/zh/LC_MESSAGES/django.po,内容如下:
1234567#: app_diet/diet.py:2 ...
2_Agent_Langchain代理入门
1 工具 Tool
1.1 设置
需要设定如下内容,以便和 LLM 交互,名称、描述和 JSON
都在提示中使用。
名称(必需)
描述(可选)
输入的结构(可选)
函数的具体实现(需要在 langchain 中定义)
其它参数,如:是否将工具结果直接返回给用户
1.2 自定义工具
创建实现具体功能的函数。
12345678910from langchain.tools import tool@tooldef search(query: str) -> str: """Look up things online.""" return "LangChain"print(search.name) print(search.description) print(search.args)
用 tool
装饰器,能自动生成名字描述等内容。这是最简单的一种方法,其它方法见:参考文档的自定义工具链接。
建议开始用 tool 装饰器,后面复杂了再切换到 BaseTool 方法。
2 Agent 原理
A ...
AutoGenStudio
1 引言
在产品级开发时,开发人员必须为这些系统配置大量参数。这些参数包括定义代理(如:要使用的模型、提示、代理可用的工具或技能、代理可以采取的行动步骤数、任务终止条件等)以及通信和编排机制(即代理在协作完成任务时的行为顺序)。
相较于 Coze 和 Dify,AutoGen
仍处于实验阶段,功能相对简单且不够完善。其主要展示的是自动生成程序和执行程序的过程。
2 相关论文
12345678英文名称: AUTOGEN STUDIO: A No-Code Developer Tool for Building and Debugging Multi-Agent Systems中文名称: AUTOGEN STUDIO:一个用于构建和调试多代理系统的无代码开发者工具链接: http://arxiv.org/abs/2408.15247v1代码: https://github.com/microsoft/autogen/tree/autogenstudio/samples/apps/autogen-studio帮助文档:https://microsoft.github.io/autogen/d ...
大模型代理框架AutoGen_实战篇
这文讲解了如何安装和使用 Microsoft 的 Autogen
工具。它能让多个“代理”协作完成任务,比如对话管理、调用工具等。文中还介绍了关键组件
ConversableAgent 和
GroupChat,以及一些实用的示例程序,比如绘制股票走势图、执行代码等,帮助用户轻松上手并解决复杂问题。
1 安装
1pip install pyautogen
2 源码
1git clone https://github.com/microsoft/autogen
下载了 2.2G,其中 2.1G 在.git 文件夹下,其余约
60M。只需关注主分支即可。
核心代码位于 autogen/agentchat 目录,核心组件包括:conversable_agent
和 groupchat。
conversable_agent:用于管理每个角色的行为。
agent ->
ConversableAgent:会话的基类,一般不直接使用,而是作为其他类的父类。它能保持对话状态、历史记录,并调用其他工具。
Agent 可以指定自己在什么情况下被调用,比 Tool 或 function
更强大。
...
大规模监控人工智能修改内容:以ChatGPT对人工智能会议同行评审的影响为例
ReAct 论文
12345678910英文名称: REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS中文名称: ReAct:在语言模型中协同推理与行动链接: https://arxiv.org/abs/2210.03629简版文档(推荐):https://react-lm.github.io/代码: langchain中包含React实现作者: Shunyu Yao∗*, Jeffrey Zhao , Dian Yu , Nan Du , Izhak Shafran , Karthik Narasimhan, Yuan Cao机构: 谷歌研究院,普林斯顿大学日期: 2023-03-10引用次数: 1300
读后感
正文 9 页,全文 33 页,后面都是具体例子的展示。
之前的方法通常是先思考,将大问题拆解成小步骤(step-by-step)后再执行。然后,当其中一步出错时,可能会导致接连的错误。ReAct
方法在每步执行后,将观察到的结果和最初问题一起交给大模型,以修正下一步动作,从而获得更好的效果。也就是说,在每个时 ...
AutoGen:通过多 Agent 对话实现下一代 LLM 应用
12345678英文名称: AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation中文名称: AutoGen:通过多 Agent 对话实现下一代 LLM 应用链接: http://arxiv.org/abs/2308.08155v2代码: https://github.com/microsoft/autogen作者: Qingyun Wu, Gagan Bansal, Jieyu Zhang, Yiran Wu, Beibin Li, Erkang Zhu, Li Jiang, Xiaoyun Zhang, Shaokun Zhang, Jiale Liu, Ahmed Awadallah, Ryen W. White, Doug Burger, Chi Wang机构: 微软研究, 宾夕法尼亚州立大学, 华盛顿大学, 西安电子科技大学日期: 2023-08-16引用次数: 363
1 摘要
目标:介绍 AutoGen 的设计和功能。
方法:利用多个代理进行对话,实现任务完成。
结论:AutoGe ...
8_Agent讨论
1 Agent 怎么选
1.1 引言
可以说,agent
是一种解决问题的思路(道),具体的工具(术)并不重要。但在程序中,它仍需要一个具体的形态。由于时间有限,我只调研了目前
GitHub 上最热门的 agent 工具,也查看了一些项目中自行实现的 agent
代码。最终选择了 autogen。
1.2 目标
首先,明确选型的目的是什么:
支持我需要的所有功能,减少自定义开发。
易于理解和使用,学习成本低,安装和打包方便。
高稳定性和灵活性。
便于未来扩展。
具体选择还要根据所需功能来决定。如果只是做一个以闲聊为主、偶尔调用现有工具的聊天机器人,可以使用
langchain。如果涉及较多功能、偏重于 Agent
应用、工具之间有复杂逻辑,或者觉得 langchain
无法满足需求,可以尝试 autogen。
1.3 选择工具
langchain
就像一家初创公司,只有几个员工,扁平化管理。在事务简单人也少的时候还能应付,但一旦人多事杂,就会变得混乱。即使没有一个主管,也至少一套制度规则,满足常用功能。Langchain
的 agent
主要在结构上较弱,而不是功能性差。其它一些更 ...
RAG综述
12345678英文名称: Retrieval-Augmented Generation for Large Language Models: A Survey中文名称: 大型语言模型的检索增强生成:一项调查链接: http://arxiv.org/abs/2312.10997v5作者: Yunfan Gaoa, Yun Xiongb, Xinyu Gaob, Kangxiang Jiab, Jinliu Panb, Yuxi Bic, Yi Daia, Jiawei Suna, Meng Wangc, and Haofen Wang a,c机构: 上海智能自主系统研究所, 同济大学, 上海数据科学重点实验室, 复旦大学, 创意设计学院, 同济大学日期: 2023-12-18引用:499
1 摘要
目标:探讨检索增强生成(RAG)作为解决大型语言模型(LLMs)遇到的挑战的有效方法,以提高生成的准确性和可信度,特别是对于知识密集型任务。
方法:综合评述了 RAG 范式的发展,包括单纯 RAG,先进 RAG 和模块化
RAG,并详细审查了 RAG
框架的三方基础:检索、生成和增强技术。 ...
Django 测试带用户登录的 api
1 方法一
通过 http server 调用 api,优点是与真实调时环境一致。
1234567891011121314151617from rest_framework.test import APITestCase, APIClientfrom django.contrib.auth.models import User class MyAPIViewTestCase(APITestCase): def setUp(self): self.user = User.objects.create_user(username='testuser', password='testpassword') self.client = APIClient() if True: # 登录具体用户 self.token = AuthToken.objects.create(self.user)[1] self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.toke ...