Skip to main content

群聊

在 Colab 中打开 在 GitHub 上打开

AutoGen 提供了由 LLM 提供支持的可对话代理,可以通过自动聊天集体执行任务,无论是工具还是人类。该框架通过多代理对话允许工具使用和人类参与。有关此功能的文档,请参阅此处

此笔记本是基于以下链接进行修改的:https://github.com/microsoft/FLAML/blob/4ea686af5c3e8ff24d9076a7a626c8b28ab5b1d7/notebook/autogen_multiagent_roleplay_chat.ipynb

需求

安装 pyautogen

pip install pyautogen

有关更多信息,请参阅安装指南

设置 API 终端点

config_list_from_json 函数从环境变量或 JSON 文件中加载配置列表。

import autogen

config_list = autogen.config_list_from_json(
"OAI_CONFIG_LIST",
filter_dict={
"model": ["gpt-4", "gpt-4-0314", "gpt4", "gpt-4-32k", "gpt-4-32k-0314", "gpt-4-32k-v0314"],
},
)
tip

了解有关为代理配置 LLM 的更多信息,请参阅此处

构建代理

llm_config = {"config_list": config_list, "cache_seed": 42}
user_proxy = autogen.UserProxyAgent(
name="User_proxy",
system_message="一个人类管理员。",
code_execution_config={
"last_n_messages": 2,
"work_dir": "groupchat",
"use_docker": False,
}, # 如果有可用的 Docker 来运行生成的代码,请将 use_docker 设置为 True。使用 Docker 比直接运行生成的代码更安全。
human_input_mode="TERMINATE",
)
coder = autogen.AssistantAgent(
name="Coder",
llm_config=llm_config,
)
pm = autogen.AssistantAgent(
name="Product_manager",
system_message="在软件产品创意方面很有创造力。",
llm_config=llm_config,
)
groupchat = autogen.GroupChat(agents=[user_proxy, coder, pm], messages=[], max_round=12)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=llm_config)

开始聊天

user_proxy.initiate_chat(
manager, message="在 arxiv 上找一篇关于 gpt-4 的最新论文,并找出它在软件方面的潜在应用。"
)
# 输入 exit 以终止聊天
用户代理 (给聊天管理器):

在arxiv上找一篇关于GPT-4的最新论文,并找出它在软件领域的潜在应用。

--------------------------------------------------------------------------------
编码器 (给聊天管理器):

要在arxiv上找到关于GPT-4的最新论文,我将提供一个Python代码,用于从arxiv API获取最新的论文,并过滤结果以获取与GPT-4相关的最相关论文。在获取论文之后,我将提取其中关于软件领域潜在应用的信息。请执行以下Python代码:

```python
```python
import requests
from bs4 import BeautifulSoup
import re

def fetch_arxiv_papers(query):
base_url = "http://export.arxiv.org/api/query?"
search_query = "all:" + query
response = requests.get(base_url, params={"search_query": search_query, "sortBy": "submittedDate", "sortOrder": "descending"})
return BeautifulSoup(response.content, "xml")

def find_gpt4_paper():
papers = fetch_arxiv_papers("gpt-4")
for entry in papers.find_all("entry"):
title = entry.title.text.strip()
summary = entry.summary.text.strip()
if "gpt-4" in title.lower() or "gpt-4" in summary.lower():
return {"title": title, "summary": summary}

gpt4_paper = find_gpt4_paper()
if gpt4_paper:
print("Title:", gpt4_paper["title"])
print("Summary:", gpt4_paper["summary"])
else:
print("No recent GPT-4 papers found.")
```

```python
import requests
from bs4 import BeautifulSoup
import re

def fetch_arxiv_papers(query):
base_url = "http://export.arxiv.org/api/query?"
search_query = "all:" + query
response = requests.get(base_url, params={"search_query": search_query, "sortBy": "submittedDate", "sortOrder": "descending"})
return BeautifulSoup(response.content, "xml")

def find_gpt4_paper():
papers = fetch_arxiv_papers("gpt-4")
for entry in papers.find_all("entry"):
title = entry.title.text.strip()
summary = entry.summary.text.strip()
if "gpt-4" in title.lower() or "gpt-4" in summary.lower():
return {"title": title, "summary": summary}

gpt4_paper = find_gpt4_paper()
if gpt4_paper:
print("标题:", gpt4_paper["title"])
print("摘要:", gpt4_paper["summary"])
else:
print("未找到最新的 GPT-4 论文。")
```
一旦我们获得论文的详细信息,我将分析摘要,以确定在软件开发中的潜在应用。

--------------------------------------------------------------------------------

>>>>>>>> 使用自动回复...

>>>>>>>> 执行代码块 0 (推测语言为python)...
User_proxy (to chat_manager):

退出码: 0 (执行成功)
代码输出:
标题: FIMO: 用于自动定理证明的挑战形式数据集
摘要: 我们提出了FIMO,一个创新的数据集,其中包含从国际数学奥林匹克竞赛(IMO)的入围问题中获取的形式化数学问题陈述。FIMO旨在促进IMO级别的高级自动定理证明,目前专为Lean形式化语言定制。它包括149个形式化问题陈述,附带非正式问题描述和相应的基于LaTeX的非正式证明。通过涉及GPT-4的初步实验,我们的发现强调了当前方法的现有限制,表明在实现令人满意的IMO级别自动定理证明结果之前还有很长的路要走。

--------------------------------------------------------------------------------
Product_manager (to chat_manager):

根据题为"FIMO: 用于自动定理证明的挑战形式数据集"的论文及其摘要,GPT-4在软件开发中的潜在应用可以与自动定理证明领域相关。

1. **自动定理证明**: 可以利用GPT-4开发自动定理证明软件,尝试证明国际数学奥林匹克竞赛(IMO)或其他具有挑战性的来源中的复杂数学问题。通过使用像FIMO这样的形式化数学问题数据集对GPT-4进行微调,模型可以更好地理解问题陈述并生成适当的证明。

2. **数学问题解决助手**: 可以使用GPT-4开发软件工具,指导用户解决复杂的数学问题。这种人工智能模型可以集成到教育平台、在线数学辅导服务甚至独立工具中,帮助学生和专业人士更轻松、更快速地解决问题。

3. **形式语言翻译**: GPT-4可以潜在地集成到形式语言之间的翻译软件中,帮助理解和比较不同的形式系统。这对于使用不同形式语言并希望共享想法和结果的研究社区尤其有用。

4. **数学证明检查**: GPT-4可以用于证明检查软件,以识别和纠正不一致之处。通过提高证明的正确性,这个应用最终将帮助用户节省时间,并提高数学研究的整体质量。

请注意,该论文强调了GPT-4在IMO级别定理证明背景下的当前限制。然而,这些潜在应用为进一步的研究和软件开发提供了方向,随着模型和相关技术的不断改进。

--------------------------------------------------------------------------------

>>>>>>>> 使用自动回复...
User_proxy (to chat_manager):



--------------------------------------------------------------------------------

>>>>>>>> 使用自动回复...
User_proxy (to chat_manager):



--------------------------------------------------------------------------------
Coder (to chat_manager):

终止

--------------------------------------------------------------------------------
# 标题一

这是一篇科普文章,将介绍一些关于人工智能(AI)的基本概念和应用。我们将从简单的定义开始,然后深入探讨AI在各个领域的应用。

## 什么是人工智能?

人工智能是一种模拟人类智能的技术。它可以使计算机系统执行类似于人类的智能任务,例如学习、推理、问题解决和语言理解。人工智能的目标是使计算机能够像人类一样思考和行动。

## 人工智能的应用领域

人工智能在许多领域都有广泛的应用。以下是一些常见的应用领域:

- 机器学习:机器学习是人工智能的一个重要分支,它使用算法和统计模型来使计算机系统能够从数据中学习和改进性能。机器学习在图像识别、语音识别和自然语言处理等领域有广泛的应用。

- 自动驾驶:自动驾驶技术使用人工智能和传感器来使汽车能够自动驾驶。它可以通过感知周围环境、规划路径和控制车辆来实现自动驾驶。

- 语音助手:语音助手是一种使用语音识别和自然语言处理技术的人工智能应用。它可以回答问题、执行任务和与用户进行交互。

- 金融领域:人工智能在金融领域有广泛的应用,例如风险评估、投资组合管理和欺诈检测。

- 医疗保健:人工智能在医疗保健领域有许多应用,包括疾病诊断、药物研发和健康监测。

- 游戏:人工智能在游戏领域有广泛的应用,例如游戏智能和虚拟角色。

这些只是人工智能应用的一小部分,随着技术的不断发展,人工智能将在更多领域发挥作用。

## 结论

人工智能是一种模拟人类智能的技术,它在许多领域都有广泛的应用。随着技术的不断发展,人工智能将继续在各个领域发挥重要作用。如果你对人工智能感兴趣,可以进一步阅读相关的学术论文和研究。参考文献 [20] 提供了一些相关的论文供你参考。

![AI](https://example.com/ai.jpg)

参考文献:
[20] Smith, J. (2020). "The Impact of Artificial Intelligence on Society." Journal of AI Research, 10(2), 123-145.