作者: 引线小白-本文永久链接:httpss://www.limoncc.com/post/a0fe24f2ca704c1e/
知识共享许可协议: 本博客采用署名-非商业-禁止演绎4.0国际许可证
一、前置条件
具体安装就不讲了,参考官方文档:Installation | AutoGen。llama2或者baichuan2模型的部署,网络上的文章已经很多,这里也不讲。这里就说一下gguf格式的baichuan2-7b模型去哪里下载:
不要自己用llama.ccp转换,这样会出现问题:停不下来和不断重复。如何想自己解决,参考这[issues/3270]。对于英文模型建议使用Mistral-7B-Instruct-v0.1。中文模型你可以关注Aquila2-34B这个是目前最强中文开源模型(2023-10-12)。还有一个也可以关注colossal-llama2-7b它超越了llama-13b,中文能力也非常不错。开启openAI的API服务就是使用llama_cpp.server。不过它不能同时启动多个大模型服务。如何要启动多个大模型服务可以直接魔改,或者你追求性能,你也可以使用rust-llama.cpp使用axum编写程序来启动服务。
如果你偏爱chatglm,你可以参考官方的这个文章Use AutoGen for Local LLMs | AutoGen
好,现在假设你解决了模型部署和API服务启动、开发环境安装问题。下面开始一个例子。
二、极简入门
我们开始一个例子,首先已经假设解决了模型部署和API服务启动、开发环境安装问题。这个时候你首先应该去了解一下openai的API,它现在是大模型API事实标准,其他模型的API服务都是实现了openai的。网址在这里
1 | from autogen import oai |
输出为:
1 | { |
作为一个大语言模型,很高兴为您提供帮助。请问您有什么问题或需要帮助的地方
这个下面我们再来一个例子
1 | from autogen import oai |
这个是输出结果
1 | { |
Chat/Completion是非常重要的API,务必熟悉每一个参数的含义。这里重点介绍一下massage
messages=[
{“role”: “system”, “content”: “你是一名资深的大语言模型领域的专家,精通模型架构原理和落地应用实践”}, {“role”: “user”, “content”: “你好呀!”}
],
messages 数组类型,必填项。包含对话历史描述的消息列表。
role 字符串类型,必填项。该消息作者的角色。可选值为 system、user 或 assistant。
content 字符串类型,必填项。消息的内容。
name 字符串类型,可选。该消息的作者名称。可包含小写字母、大写字母、数字和下划线,最长长度为 64 个字符。
这是我们设定AI角色和提示词的地方。非常重要。弄完这些你基本就入门了。
三、简单的Agent
下面实现一个简单Agent,autogen远比langchain简单。
1 | import autogen |
这是执行结果。首先AI给出了方法。然后开始执行代码。最后它作了个总结。所以虽然是思维链和规划能力很重要,但最后落地的是代码能力。所以才有代码能力是LLM的天花板的说法。
1 | user_proxy (to assistant): |
四、评述
1、阅读到这里,相信你对什么事ai agent已经非常清楚了。autogen的是非常直观的。
2、但是这时你肯定会有很多想法,如果多个agent呢?如何我要自定义工具呢?等等。我们下回分解。
3、欢迎加入QQ群交流:593623958
版权声明 | |
由引线小白创作并维护的柠檬CC博客采用署名-非商业-禁止演绎4.0国际许可证。 本文首发于柠檬CC [ https://www.limoncc.com ] , 版权所有、侵权必究。 | |
本文永久链接 | httpss://www.limoncc.com/post/a0fe24f2ca704c1e/ |
如果您需要引用本文,请参考: |
引线小白. (Oct. 13, 2023). 《初见AI-Agent——Autogen系列01》[Blog post]. Retrieved from https://www.limoncc.com/post/a0fe24f2ca704c1e |
@online{limoncc-a0fe24f2ca704c1e, title={初见AI-Agent——Autogen系列01}, author={引线小白}, year={2023}, month={Oct}, date={13}, url={\url{https://www.limoncc.com/post/a0fe24f2ca704c1e}}, } |