ChemCrow完整上手指南:用LangChain化学AI工作流让分子查询、安全验证与文献调研一次跑通
ChemCrow完整上手指南用LangChain化学AI工作流让分子查询、安全验证与文献调研一次跑通【免费下载链接】chemcrow-publicChemcrow项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public假设你手上有一个新分子需要回答三个问题它的分子量是多少它是不是受管控的化学物质最近有哪些论文研究过它手动去PubChem、查管控清单、再翻文献加起来至少一小时。而ChemCrow 化学AI工作流把这套流程压缩成了几句自然语言。这篇文章不打算给你堆功能清单而是带你以完成这趟查询任务为主线一步步把 ChemCrow 跑起来并看懂它在背后做了什么。上图是 ChemCrow 在 HuggingFace 上的交互演示界面。你可以直接用自然语言提问也能在侧边栏看到代理每一步调用了哪个化学工具。先弄明白ChemCrow 到底是什么东西一句话版ChemCrow 是一个把会聊天的 LLM和会计算的化学工具绑定在一起的智能代理。你平时用 ChatGPT 问化学问题它经常一本正经地胡说八道因为大模型是背出来的知识不会真的去查数据库、做计算。ChemCrow 的解决思路很朴素既然模型不会算就让它学会用工具——遇到分子量问题就调用 RDKit 去算遇到安全性问题就去查 PubChem遇到文献问题就调 paper-qa 检索论文。整个项目建立在 LangChain 的 Agent 机制上核心类就一个在 chemcrow/agents/chemcrow.py 里。它的运行循环大致是你提问LLM 决定下一步用哪个工具Action工具返回真实结果ObservationLLM 根据结果继续思考直到凑齐答案最后把整个推理过程整理成一段通顺的中文/英文回答。所以你会发现ChemCrow 的答案每一步都有据可查而不是模型凭空生成。这正是它和直接问大模型最大的区别。任务第一步5 分钟跑通最小可用版本上手成本其实比你想的低一个pip install一个 API key三行代码。pip install chemcrow export OPENAI_API_KEY你的-openai-api-key然后建一个 Python 文件写入from chemcrow.agents import ChemCrow chem_model ChemCrow(modelgpt-4-0613, temp0.1, streamingFalse) result chem_model.run(What is the molecular weight of tylenol?) print(result)这段代码在做的事新建一个 ChemCrow 代理指定 GPT-4 作为推理大脑temp0.1让回答更偏确定性然后问它泰诺的分子量是多少。运行后你会看到代理在终端里输出一串 Thought思考→ Action动作→ Observation观察结果最后给出答案。有几个值得留意的参数tools_model默认是gpt-3.5-turbo-0613用来决定调用哪个工具比主模型便宜是省钱的小设计max_iterations默认 40限制代理最多思考多少轮防止它陷入死循环api_keys字典参数可以把 SERP、RXN4CHEM 等第三方 key 一起传进去一次性配置完。安装时要注意项目在 setup.py 里声明了 Python 版本要求3.9, 3.12如果你在用 Python 3.12建议先用 conda 建一个 3.10 或 3.11 的虚拟环境再装。任务第二步让它自己选工具而不是你替它选回到开头的分子查询任务。你不需要告诉 ChemCrow先去 PubChem 查 SMILES再用 RDKit 算分子量——它自己会做这个规划。这是因为 ChemCrow 内置了一批化学工具注册在 chemcrow/agents/tools.py 的make_tools()函数里。你不需要记住全部但知道有哪些牌可以打很有用你想做的事对应的工具输入数据来源名字转 SMILESName2SMILES分子名PubChem / ChemSpace分子量计算SMILES2WeightSMILESRDKit 本地计算官能团识别FunctionalGroupsSMILESRDKit 本地计算分子相似度MolSimilarity两个 SMILESRDKit 本地计算是否已申请专利PatentCheckSMILESSureChEMBL是否受管控ControlChemCheckCAS 号或 SMILES内置管控清单是否易爆ExplosiveCheckCAS 号PubChem GHS 分类文献检索问答LiteratureSearch具体问题Semantic Scholar paper-qa反应预测ReactionPredict反应物 SMILESIBM RXN4Chemistry逆合成分析ReactionRetrosynthesis产物 SMILESIBM RXN4Chemistry查化合物报价GetMoleculePriceSMILESChemSpace有个细节能看出这套设计的用心一部分工具按 API key 动态加载。比如GetMoleculePrice、WebSearch、ReactionPredict都需要额外密钥你没配置对应 key它们就不会被注册代理也就不会想用但用不了。这既省 token 也避免报错。每个工具的实现本身也值得一看。以 chemcrow/tools/rdkit.py 为例所有工具都是 LangChain 的BaseTool子类核心就两个方法_run()同步执行和_arun()异步执行目前大多未实现。比如SMILES2Weight用rdMolDescriptors.CalcExactMolWt()算分子量输入不是合法 SMILES 就返回 Invalid SMILES string。简单、干净、可读。任务第三步让安全性检查成为默认动作继续开头的任务——如果你的分子碰巧是受管控化学品ChemCrow 会不会拦下来答案是会而且是强制流程。看 chemcrow/agents/prompts.py 里的QUESTION_PROMPT你会发现系统给代理定了四条铁律凡是涉及设计合成路线、找相似分子、改造分子的任务第一步必须检查分子是否为受管控化学品是就立刻停止并报错只要问题里出现分子就先查是否受管控是就在最终答案里加警告规划合成路线前检查反应物和产物是否易爆是就警告执行合成前同样查易爆是就需要先征求你的许可。翻译成大白话ChemCrow 默认把伦理与安全前置而不是后置。它不会等你问这玩意儿安全吗而是每次动手前自己先查一遍。支撑这个能力的有两个数据源内置管控化学品清单chemcrow/data/chem_wep_smi.csv包含物质对应的 SMILES 与 CAS 号。ControlChemCheck先做精确匹配查不到再算 Tanimoto 相似度相似度超过 0.35 就提示与已知管控化学品高度相似PubChem 公开数据ExplosiveCheck和SafetySummary会去拉 PubChem 的 GHS 分类、毒性摘要、NFPA 危险分级再由 LLM 汇总成一份面向操作者、环境和社会的安全简报。这也是我把 ChemCrow 推荐给新手的原因之一它把负责任地做化学写进了默认行为而不是靠使用者自觉。任务第四步把文献调研也交给它如果你的下一步是写论文或设计实验ChemCrow 还集成了文献检索能力对应 chemcrow/tools/search.py 里的LiteratureSearch。它的流程值得一提先让 LLM 把你的问题压缩成一个不超过 10 词的检索式再通过 Semantic Scholar 找论文、下载 PDF用 paper-qa 建立索引最后基于检索到的论文回答你的问题并标注引用来源。整个过程从搜到读到总结是自动衔接的你不用手动下载任何 PDF。不过要提醒一句这套流程依赖paper-qa和 OpenAI Embeddings属于重操作耗时和 token 消耗都比前面的查询类任务高适合真正需要读文献的场景日常闲聊别用它。任务延伸给自己加一个专属化学工具这是我认为 ChemCrow 最值得花时间的地方——扩展它。工具的通用模板非常简单from langchain.tools import BaseTool class MyTool(BaseTool): name MyTool description 一句话说明这个工具能做什么、输入什么、返回什么。 def _run(self, query: str) - str: # 在这里写你的化学计算或数据库查询逻辑 return 工具返回的字符串结果 async def _arun(self, query: str) - str: raise NotImplementedError(Async not implemented.)三点需要注意description是给 LLM 看的。代理完全靠这段描述决定什么时候该用你的工具所以描述要写清输入格式和适用场景越具体越好——参考MolSimilarity的写法Input two molecule SMILES (separated by .), returns Tanimoto similarity._run()必须返回字符串因为观察结果要回传给 LLM 继续推理把自定义工具传给ChemCrow(tools[MyTool(), ...])就会替换掉默认工具集你可以在make_tools()的基础上拼接出自己的组合。整个项目的模块划分也很适合新手按图索骥chemcrow/agents/ —— 代理本体、提示词、工具装配chemcrow/tools/ —— 所有化学工具按功能拆成 rdkit / search / safety / rxn4chem / chemspace / converters 六个文件chemcrow/data/ —— 内置数据集如管控化学品清单chemcrow/frontend/ —— Streamlit 交互界面的回调与工具函数。给你的下一步做一个三连问小实验读完这篇你不需要记住所有工具名。真正值得动手做的是一个小实验用ChemCrow连续问三个问题——What is the molecular weight of ibuprofen?看它调 SMILES 工具Is ibuprofen a controlled chemical?看它走安全前置流程Find recent papers about ibuprofen toxicity.看它跑文献检索观察终端里的 Thought/Action 序列你会直观感受到工具调用和模型背书的区别分子量是算出来的管控状态是查清单查出来的文献答案是读了论文总结出来的。这就是 ChemCrow 化学AI工作流和普通聊天 AI 的本质差别也是它值得你在自己项目里复用的原因。如果你装了 chemcrow/frontend/ 相关依赖还可以用 Streamlit 把这套流程包装成网页界面把它变成组里人人都能用的化学查询小工具。从一条命令行到一组可信的化学答案这就是 ChemCrow 给你的完整路径。【免费下载链接】chemcrow-publicChemcrow项目地址: https://gitcode.com/gh_mirrors/ch/chemcrow-public创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

两个视频看着差不多,压缩后细节却全没了?这款开源视频对比工具替你逐帧找出答案

两个视频看着差不多,压缩后细节却全没了?这款开源视频对比工具替你逐帧找出答案

两个视频看着差不多,压缩后细节却全没了?这款开源视频对比工具替你逐帧找出答案 【免费下载链接】video-compare Split-screen video comparison tool using FFmpeg and SDL2 项目地址: https://gitcode.com/gh_mirrors/vi/video-compare 你盯着屏…

2026/8/22 4:48:21 阅读更多 →
LeaderWorkerSet 生态全景:vLLM、SGLang、TensorRT-LLM 与 NVIDIA NIM 集成实战

LeaderWorkerSet 生态全景:vLLM、SGLang、TensorRT-LLM 与 NVIDIA NIM 集成实战

LeaderWorkerSet 生态全景:vLLM、SGLang、TensorRT-LLM 与 NVIDIA NIM 集成实战 【免费下载链接】lws LeaderWorkerSet: An API for deploying a group of pods as a unit of replication 项目地址: https://gitcode.com/gh_mirrors/lws2/lws LeaderWorkerSe…

2026/8/22 20:00:16 阅读更多 →
google-oauth-java-client 安全最佳实践清单:令牌存储、CSRF 防护与 401 处理的 8 个要点

google-oauth-java-client 安全最佳实践清单:令牌存储、CSRF 防护与 401 处理的 8 个要点

google-oauth-java-client 安全最佳实践清单:令牌存储、CSRF 防护与 401 处理的 8 个要点 【免费下载链接】google-oauth-java-client Google OAuth Client Library for Java 项目地址: https://gitcode.com/gh_mirrors/go/google-oauth-java-client 如果你正…

2026/8/22 7:51:12 阅读更多 →

最新新闻

Cherry Studio 安装与配置完全指南:10 分钟装好并跑通第一次对话

Cherry Studio 安装与配置完全指南:10 分钟装好并跑通第一次对话

Cherry Studio 安装与配置完全指南:10 分钟装好并跑通第一次对话 【免费下载链接】cherry-studio 🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端 项目地址: https://gitcode.com/CherryHQ/cherry-studio Cherry Studio 是一款支持多个…

2026/8/24 8:28:04 阅读更多 →
C++函数模板:从类型参数化到泛型编程实践

C++函数模板:从类型参数化到泛型编程实践

1. 从“重复造轮子”到“一劳永逸”:为什么我们需要函数模板?如果你写过一段时间的C,尤其是在处理一些通用算法或者数据结构时,肯定遇到过这样的场景:你需要一个函数来比较两个整数的大小,于是你写了一个in…

2026/8/24 8:28:04 阅读更多 →
SQL分组查询实战:GROUP BY与聚合函数COUNT/SUM的深度解析与应用

SQL分组查询实战:GROUP BY与聚合函数COUNT/SUM的深度解析与应用

1. 项目概述:从“查数据”到“看数据”的思维跃迁 干了这么多年数据开发和分析,我越来越觉得,SQL里最考验功力的,往往不是那些花里胡哨的窗口函数或复杂连接,而是对基础聚合函数的深刻理解和灵活运用。很多新手朋友写S…

2026/8/24 8:28:04 阅读更多 →
C++类模板:从通用蓝图到可变参数模板的深度解析与实践

C++类模板:从通用蓝图到可变参数模板的深度解析与实践

1. 类模板&#xff1a;从“通用蓝图”到“现代C基石”如果你写过C&#xff0c;肯定遇到过这样的场景&#xff1a;你需要一个int类型的栈&#xff0c;又需要一个string类型的栈&#xff0c;甚至还需要一个std::vector<MyClass>类型的栈。最笨的办法是什么&#xff1f;复制…

2026/8/24 8:28:04 阅读更多 →
AI Agent开发面试核心考察与实战解析

AI Agent开发面试核心考察与实战解析

1. 项目概述&#xff1a;AI Agent开发岗面试的核心考察维度最近刚经历了一场90分钟的AI Agent开发岗模拟面试&#xff0c;面试官从学术理论到工程实践进行了全方位"拷问"。这场面试完美呈现了当前大模型领域对AI Agent开发者的能力要求——既需要扎实的LLM理论基础&a…

2026/8/24 8:28:04 阅读更多 →
MediaHelp智能重命名:杂乱文件名如何自动规范化,自定义模板实战

MediaHelp智能重命名:杂乱文件名如何自动规范化,自定义模板实战

MediaHelp智能重命名&#xff1a;杂乱文件名如何自动规范化&#xff0c;自定义模板实战 【免费下载链接】MediaHelp 网盘资源搜索订阅、网盘一键转存、定时任务自动转存、emby自动刷新全套流程方案落地 项目地址: https://gitcode.com/gh_mirrors/me/MediaHelp MediaHel…

2026/8/24 8:27:04 阅读更多 →

日新闻

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践

前端内容安全与依赖审计实践 前端安全依赖分层防护。没有任何单一配置能替代输出编码、权限校验和依赖更新。 把不可信内容当作数据 默认使用框架的转义能力&#xff1b;确需渲染 HTML 时&#xff0c;先在服务端或可信的客户端库中进行白名单过滤。避免把用户输入直接赋给 inne…

2026/8/24 1:08:15 阅读更多 →
Windows登录密码存储机制全解析:从哈希算法到安全加固实战

Windows登录密码存储机制全解析:从哈希算法到安全加固实战

1. 项目概述&#xff1a;Windows登录密码的“黑匣子”每次你按下CtrlAltDel&#xff0c;输入密码&#xff0c;然后看到那个熟悉的桌面&#xff0c;这背后发生了一系列复杂而精密的操作。作为一名长期与Windows系统打交道的从业者&#xff0c;我经常被问到&#xff1a;“我的密码…

2026/8/24 1:08:15 阅读更多 →
AI面试系统安全挑战与解决方案

AI面试系统安全挑战与解决方案

1. 项目概述&#xff1a;AI面试系统的安全挑战去年参与某跨国企业AI面试系统部署时&#xff0c;遇到一个典型案例&#xff1a;候选人在视频面试中无意提到竞争对手产品名称&#xff0c;系统竟自动将该信息关联到企业知识库并生成竞品分析报告。这个看似"智能"的功能&…

2026/8/24 1:08:15 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态&#xff0c;宏观上观察到的光是由无数个微观的光量子组成的&#xff0c;每个光子在产生的瞬间&#xff0c;其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前&#xff0c;在微观层面&#xff0c;每个光量子的运动轨迹是以波函数所展现…

2026/8/24 0:06:02 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”&#xff0c;而是SIP会话的动态重定向你有没有遇到过这样的场景&#xff1a;客服坐席A正在和客户通电话&#xff0c;突然需要把这通对话无缝转给专家坐席B&#xff0c;客户完全感知不到中间的断连——既没听到忙音&#xff0c;也没被要求重新拨号…

2026/8/24 0:20:20 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack&#xff1f;如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法&#xff0c;那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/24 0:14:11 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速&#xff1a;macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/23 18:47:06 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南&#xff1a;3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗&#xff1f;ncmdump解密工具帮你轻松解决这个困…

2026/8/23 12:10:44 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片&#xff1a;为英语学习 App 打造桌面级学习助手适用平台&#xff1a;HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0&#xff08;API 26 Beta&#xff09;新增了 AgentCard 智能体卡片能力&#xff0c;这是继 HMAF&#xff08;鸿蒙智能体框架&#x…

2026/8/22 3:22:48 阅读更多 →