
使用AuToGen+本地LLM整合生成一个简单的笑话生成器智能体。

AutoGen是一个允许使用多个代理开发大型语言模型(LLM)应用程序的框架,它可以使用多个代理开发LLM应用程序,这些代理可以相互对话以解决任务。AutoGen 代理是可定制的、可对话的,并且可以无缝地允许人类参与。它们可以以使用LLMs、人类输入和工具的组合的各种模式运行。
python安装(尽量3.10版本以上), pip组件更新, pip install openai(必须)
安装ollama以及模型
https://github.com/ollama/ollama
使用阿里云的镜像
pip install -i https://mirrors.aliyun.com/pypi/simple pyautogen
目的:llm的API框架集合,整合多种大模型,提供llm模型代理快速启动
pip install -i https://mirrors.aliyun.com/pypi/simple litellm
pip install -i https://mirrors.aliyun.com/pypi/simple 'litellm[proxy]'
litellm --model ollama/llama3:8b
注意:litellm不会检查model是否存在,只会直接加载,如果遇到加载模型丢失报错问题,一定要根据ollama模型名称加载,先查找ollama list,找到对应的模型名称,例如加载ollama/llama3:8b
生成http://0.0.0.0:4000
注意实际调用要替换为 http://localhost:4000
因为autoGen调用依赖于docker,所以需要启动docker,windows系统可以提前安装dockerDesk。
代码如下:
----------------------------------------------------------------------------------------------------------
from autogen import ConversableAgent
## 调用本地模型LLM,本地配置,参考autoGen官方文档 local_llm_config={ "config_list": [ { "model": "NotRequired", # Loaded with LiteLLM command "api_key": "NotRequired", # Not needed "base_url": "http://localhost:4000" # Your LiteLLM URL } ], "cache_seed": None # Turns off caching, useful for testing different models } code_execution_config={"use_docker":False} ## 创建一个笑话生成器 # Create the agent that uses the LLM. 创建问答智能体 agent = ConversableAgent( name="chatbot", llm_config=local_llm_config, human_input_mode="NEVER", code_execution_config=code_execution_config, ) reply = agent.generate_reply( messages=[ {"role": "user", "content": "tell me a joke"}, ] ) print(reply)
----------------------------------------------------------------------------------------------------------\
https://microsoft.github.io/autogen/docs/topics/non-openai-models/local-litellm-ollama autoGen官方本地部署文档
https://ollama.com/library ollama模型库
https://docs.litellm.ai/docs/proxy/quick_start litellm官方文档
【【英字可关】吴恩达《利用AutoGen的人工智能智能体设计模式|AI Agentic Design Patterns with AutoGen》】 https://www.bilibili.com/video/BV1WJ4m137dk/?p=2&share_source=copy_web&vd_source=bee9157733e5b15c7669b735f5ab44e4