项目简介
用于演示的代码、示例和工作精简应用程序:
-
多主体和人类协作
-
使用langgraph来协调交互
-
langgraph 和 Streamlit 状态机的配合(重要)
系统会提示代理与人(您)合作,根据您提供的 URL 或上传的会议记录或会议记录创建新闻报道。输入代理根据需要上传或下载文档并从中提取文本;作家代理人草稿;批评代理人的批评;您可以编辑草稿或评论。循环继续,直到您对草稿感到满意为止,此时将其交给输出代理进行显示。
这个概念可以很容易地扩展到不同类型的新闻报道以及不同的来源,并且可以包括事实检查、档案中的 RAG 等。
我从会议开始,因为公开会议的数量比报道这些会议的记者要多得多。
概述
langgraph 是一个使用 LLMs 构建有状态、多参与者应用程序的库,构建在 LangChain 之上(并旨在与 LangChain 一起使用)。它是低代码的,但不是无代码的。
设置存储库以便可以将应用程序上传到 Streamlit 云。这已经完成了,应用程序就在这里。.gitignore 和requirements.txt 特定于streamlit 云。
此存储库中的 mm_agent.py 包含应用程序的主要逻辑和所有 langchain 特定代码。如果您在自己的 Python 环境中将其作为主程序运行,它将使用 tkinter 而不是 Streamlit 作为 UI。
mm_st.py是streamlit版本的主程序,包含所有streamlit具体逻辑
mytools.py 是我的一些杂项实用程序。
mm_tkinter.py 包含 tkinter 特定代码。Streamliit 版本中未使用它。
用法
作为一个流式应用程序:
单击 URL https://meeting-reporter.streamlit.app/。您将需要付费层中的 OPENAI api 密钥。免费 api 密钥将不起作用,因为代理使用 GPT4。
作为部署您自己的 Streamlit 应用程序的基础。
-
克隆存储库。
-
进行您想要进行的任何更改。
-
请务必根据需要更新 .gitignore 和requirements.txt。
-
从 Streamlit 部署(当然,您需要一个帐户)。
在Python环境中
-
下载 mm_agent、mytools 和 mm_tkinter 模块
-
设置一个 .env 文件,其中 OPENAI_API_KEY 的条目设置等于您的付费 OpenAI 密钥,或者以其他方式设置具有该名称的环境变量
-
运行mm_agent.py。
作为自定义 GPT(无需 api 密钥或付费订阅)
单击 URL https://chatgpt.com/g/g-roNR24Ty6-collaborative-meeting-reporter。
增强想法
-
根据源内容选择提示
-
通过浏览合并事实检查
-
包括根据频繁批评改进提示的过程
-
将来源和故事添加到数据库(新闻术语中的停尸房)
-
使用 RAG 咨询太平间并了解背景
-
嵌入更大的协作新闻编辑室流程
-
接受音频文件作为输入
-
合并图形
欢迎拉取请求