一个用于使用chatGPT处理和分析图像的napari插件。
项目描述
Omega的家园,Omega是一个专门用于图像处理和分析的基于自主LLM的代理。
一个napari插件,利用OpenAI的聊天GPT大语言模型实现Omega,一个能够以对话方式执行图像处理和分析任务的napari感知代理。
此存储库最初是由Loic A. Royer的“周末项目”,Loic A. Royer领导着一个研究小组在Chan Zuckerberg Biohub。它通过LangChain Python库利用OpenAI的ChatGPT API,以及napari,一个快速的、交互式的多维度图像查看器,由Loic和Juan Nunez-Iglesias开始。
什么是Omega?
Omega是一个基于LLM和工具的自主代理,展示了大型语言模型(LLM)在图像处理、分析和可视化中的应用潜力。基于LLM的代理能够编写图像处理代码和napari小部件、纠正编码错误、执行后续分析以及控制napari查看器吗?答案似乎是肯定的。
预印本可以在此处下载:10.5281/zenodo.10828225
在这段视频中,我要求Omega使用SLIC算法对图像进行分割。它首先尝试使用scikit-image中的实现,但由于不存在的'multichannel'参数而失败。意识到这一点后,Omega再次尝试,这次成功了。
https://user-images.githubusercontent.com/1870994/235768559-ca8bfa84-21f5-47b6-b2bd-7fcc07cedd92.mp4
在加载了napari中的细胞核的样本3D图像后,我要求Omega使用Otsu方法分割核。我的第一次请求过于模糊,所以它只分割了前景和背景。然后我要求将前景分割成每个连通组件的独立段。Omega犯了一个新手错误,忘记导入'np'。没问题;它注意到了,再次尝试,并成功了。
https://user-images.githubusercontent.com/1870994/235769990-a281a118-1369-47aa-834a-b491f706bd48.mp4
在这段视频中,我最喜欢的一段,我要求Omega制作一个'Max颜色投影小部件'。这不是一个简单任务,但它做到了!
https://github.com/royerlab/napari-ChatGPT/assets/1870994/bb9b35a4-d0aa-4f82-9e7c-696ef5859a2f
随着LLM的改进,Omega将更加擅长处理复杂的图像处理和分析任务。与GPT 3.5相比,GPT 4.0是一个重大升级,许多视频(见下文和此处)具有高度的可重复性,通常成功率高达90%(见预印本中的可重复性分析)。虽然开源模型很有希望且正在迅速改进,但它们必须变得更可靠才能运行Omega。OpenAI的竞争对手,如谷歌和Anthropic,的更近期的模型是个好消息,但Omega仍需要完全支持这些新模型——似乎每周都会有一批新模型。
Omega最终可以帮助非专家处理和分析图像,特别是在生物图像领域。它对教育目的也有潜在的价值,因为它可以帮助教学图像处理和分析,使其更加容易接近。虽然驱动Omega的ChatGPT可能仍然需要与专家图像分析师或计算机视觉专家相匹配,但这只是时间问题...
Omega与用户进行对话,并使用不同的工具来回答问题、下载和处理图像、为napari编写小部件等。
Omega内置的AI增强代码编辑器
Omega AI增强代码编辑器是Omega中的新功能,旨在增强Omega的用户体验。这个编辑器不仅是一个文本编辑器;它是一个强大的界面,与Omega对话代理交互,以生成、优化和管理高级图像分析任务的代码。
主要功能
- 代码高亮和自动完成:为了便于阅读和编写,代码编辑器内置了语法高亮和智能代码自动完成功能。
- LLM增强工具:编辑器配备了AI工具,可以帮助注释、清理、修复、修改和执行代码的安全性检查。
- 持久代码片段:用户可以保存和管理代码片段,跨多个Napari会话保留他们的工作。
- 网络代码共享(代码滴定):促进在本地网络中共享代码片段,推动协作工作和知识共享。
使用场景
- 小部件创建:专家用户可以使用Omega对话代理创建小部件,并保留它们以备将来使用。
- 协作:与同事或社区分享自定义小部件,即使他们没有访问API密钥。
- 学习:新用户可以从AI增强建议中学习,提高他们的Python和图像分析工作流程的编码技能。
您可以在相应的wiki页面中找到更多信息。
Omega的安装说明
假设您有一个带有可工作的napari安装的Python环境,您可以简单地进行操作。
pip install napari-chatgpt
或者从 Napari 的插件安装器中安装插件。
有关详细说明和变体,请查看我们的 wiki 中的此页面。
要求
您需要一个 OpenAI 密钥;这是不可避免的,我已经尝试过其他模型,包括开源模型,但到目前为止,ChatGPT 4(以及在一定程度上 3.5)的结果最好。有关如何获取 OpenAI 密钥的详细信息,请查看此处。特别是,有关如何获取 GPT-4 模型的访问权限,请查看此。
用法
有关如何启动 Omega 的详细信息,请查看我们的wiki 页面。
技巧、窍门和示例提示
请查看我们关于如何提示 Omega 以及一些示例的指南此处。
视频演示
您可以在此处查看原始发布视频。您也可以在Vimeo上找到最新的预印本视频。
Omega 是如何工作的?
请查看我们在此处的预印本:10.5281/zenodo.8240289,以及关于 Omega 设计和架构的wiki 页面。
成本
开发 Omega 的初始版本花费了我 13.97 美元,几乎不算是财富。ChatGPT 4 的 OpenAI定价非常合理,每 1K 令牌 0.01 美元,这意味着每 750000 个单词 1 美元。
注意:您可以限制每月的燃烧率到一定的美元金额,以防您让 Omega 在周末思考并忘记停止它(不用担心,这实际上不可能)。
免责声明
不要轻率地使用此软件;它会自行下载库并编写它认为必要的任何代码;它可能会执行您要求的事情,即使这是一个非常糟糕的想法。此外,请注意,它可能会对您的要求产生误解,然后以您无法理解的方式做些坏事。例如,使用 Omega 删除系统中的'某些'文件是不明智的;如果您的请求不够明确,它可能会删除更多。
只要您不提出危险的要求,Omega 通常很安全。为了100%的安全,如果您对 Omega 的实验可能存在潜在问题,我建议在沙盒虚拟机中使用此软件。API 密钥的安全性取决于整体机器的安全性,请参阅下文关于 API 密钥卫生的章节。
软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、特定用途的适用性和非侵权性。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该责任是因合同、侵权或其他行为引起的,与软件或软件的使用或其他交易有关。
API 密钥卫生
管理您的 API 密钥的最佳实践
- 主机计算机卫生:确保您安装 napari-chagot/Onega 的机器是安全的,没有恶意软件和病毒,并且没有其他妥协。请确保在 Windows 上安装防病毒软件。
- 安全性:将 API 密钥视为密码。不要与他人共享它,也不要将其公开在公共存储库或论坛中。
- 成本控制:在您的 OpenAI 账户上设置支出限制(请参阅此处)。
- 重新生成密钥:如果您认为您的API密钥已被泄露,请立即在OpenAI API仪表板上取消并重新生成。
- 密钥存储:Omega内置了“API密钥保险库”,使用密码加密密钥,这是首选方法。您还可以将密钥存储在环境变量中,但这不是加密的,可能会危及密钥。
贡献
欢迎贡献。可以使用tox运行测试,请在提交拉取请求之前确保覆盖率至少保持不变。
许可证
在BSD-3许可证下分发,“napari-ChatGPT”是免费和开源软件
问题
如果您遇到任何问题,请提交问题,并提供详细描述。
项目详情
napari_ChatGPT-2024.8.31.tar.gz的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 85d8d9a1f7151ed37e17cf383fb059fece90a57eeaa2dea531d857b6275b5646 |
|
MD5 | c4a6d207854e06f1d2707e136327c4b6 |
|
BLAKE2b-256 | 349edb03db63e2de8e59d88cb4334146f29cbe929ee393f97955c04e17834047 |
napari_ChatGPT-2024.8.31-py3-none-any.whl的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0a7aa69333bf32dc66b71be524476e9c590dd4e5fb8975498317d636fcf29e3c |
|
MD5 | 8b3f75f209d45f60e8ba048c90280b3e |
|
BLAKE2b-256 | f20e632262e87580a4bdfa66a732edf278e90c0c0122a6c0933bd7108b8c89c0 |