galai

GitHub
2.7k 266 简单 1 次阅读 今天Apache-2.0语言模型其他
AI 解读 由 AI 自动生成,仅供参考

galai 是专为科学领域打造的大语言模型 GALACTICA 的官方 Python 接口库。它旨在解决通用 AI 在处理专业科学任务时准确性不足的问题,能够高效执行文献引用预测、数学公式推导(支持 LaTeX)、分子属性分析及蛋白质注释等高难度科研任务。

这款工具特别适合科研人员、数据科学家及 AI 开发者使用。无论是需要快速验证科学假设的研究者,还是希望将科学智能集成到应用中的开发人员,都能通过 galai 轻松调用不同规模的模型(从 1.25 亿参数到 1200 亿参数)。其独特亮点在于经过海量科学语料训练,具备深厚的领域知识,并提供了灵活的调用方式:既可以通过简洁的高级 API 快速上手,也能利用 Hugging Face transformers 库进行底层精细控制。需要注意的是,galai 原生模型未经过指令微调,用户需配合特定的提示词格式(如 [START_REF])以激发其最佳性能,从而获得严谨可靠的科学生成内容。

使用场景

一名计算生物学研究员正在撰写关于新型蛋白质结构的学术论文,急需整理大量参考文献并准确描述复杂的分子公式。

没有 galai 时

  • 研究人员需手动在 Google Scholar 和 PubMed 间反复切换,耗时数小时才能凑齐相关领域的经典文献引用。
  • 编写包含复杂数学推导或化学分子式的 LaTeX 代码时,极易出现语法错误,导致编译失败或格式混乱。
  • 通用大模型往往产生“幻觉”,编造不存在的论文标题或作者,迫使研究者逐条核实真实性。
  • 将非结构化的实验数据转化为规范的学术表述需要大量人工润色,严重拖慢写作进度。

使用 galai 后

  • 利用 [START_REF] 提示词,galai 能基于上下文直接预测并生成真实存在的权威文献引用,瞬间完成参考文献梳理。
  • 输入简单的自然语言描述,galai 即可输出语法完美、排版专业的 LaTeX 公式代码,大幅降低编码门槛。
  • 依托科学语料训练的优势,galai 生成的蛋白质注释和分子属性预测内容高度可信,显著减少事实性错误。
  • 能够理解科学术语的特殊语境,自动将粗糙的实验记录转化为符合学术规范的流畅段落,提升成稿效率。

galai 通过专精的科学推理与引用能力,将科研人员从繁琐的文献检索和格式调整中解放出来,使其专注于核心科学发现。

运行环境要求

GPU

未说明(支持 CPU 和 GPU,具体显存需求取决于模型大小:mini 125M 至 huge 120B)

内存

未说明(取决于加载的模型大小,120B 模型需大量内存/显存)

依赖
notes该工具提供从 1.25 亿到 1200 亿参数的五种模型,运行大型模型需要高性能硬件。代码示例显示可通过 device_map='auto'自动分配设备。模型权重托管在 Hugging Face Hub 上,可直接通过 transformers 库加载使用。
python未说明
galai
transformers
accelerate
galai hero image

快速开始



GitHub GitHub release

GALACTICA 是一款通用的科学语言模型。它基于大量的科学文本和数据进行训练,能够高效地完成各种科学自然语言处理任务,例如引用预测、数学推理、分子性质预测以及蛋白质注释等。更多信息请访问 galactica.org

安装

通过 pip 安装:

pip install galai

从仓库安装:

pip install git+https://github.com/paperswithcode/galai

模型

目前共有五种 GALACTICA 模型可供选择,具体如下:

规模 参数量
mini 125 M
base 1.3 B
standard 6.7 B
large 30 B
huge 120 B

快速入门

import galai as gal

model = gal.load_model("standard")
model.generate("缩放点积注意力:\n\n\\[")
# 缩放点积注意力:\n\n\\[ \\displaystyle\\text{Attention}(Q,K,V)=\\text{softmax}(\\frac{QK^{T}}{\\sqrt{d_{k}}}%\n)V \\]

您可以通过 PDFJupyter Notebook 阅读关于 Galactica 模型的完整介绍。

此外,您还可以在 Hugging Face Hub 上找到所有模型的权重、模型卡片以及推理小工具。这些模型均可直接与 transformers 库配合使用。

pip install transformers accelerate

您可以使用高级别的 pipeline API 进行推理:

from transformers import pipeline

model = pipeline("text-generation", model="facebook/galactica-6.7b")
input_text = "Transformer 架构 [START_REF]"
model(input_text)

或者,如果您需要更精细的控制,可以使用较低级别的 OPTForCausalLM 类。请参考相应仓库中的模型卡片,了解如何在 CPU、GPU 上以不同精度运行模型。

from transformers import AutoTokenizer, OPTForCausalLM

tokenizer = AutoTokenizer.from_pretrained("facebook/galactica-6.7b")
model = OPTForCausalLM.from_pretrained("facebook/galactica-6.7b", device_map="auto")

input_text = "Transformer 架构 [START_REF]"
input_ids = tokenizer(input_text, return_tensors="pt").input_ids.to("cuda")

outputs = model.generate(input_ids)
print(tokenizer.decode(outputs[0]))

功能特性

GALACTICA 是一个独立的语言模型,未经指令微调。因此,为了获得理想的结果,您需要使用合适的提示词。在本说明中,我们将介绍一些特殊的标记符号及提示风格,以帮助您更好地利用该模型。

以下我们以标准版(67亿参数)为例进行演示。

📚 预测引用

您需要使用 [START_REF] 标记:

model.generate("Transformer 架构 [START_REF]")
# Transformer 架构 [START_REF] Attention is All you Need, Vaswani[END_REF] 是一种序列到序列模型,它利用自注意力机制捕捉输入和输出标记之间的长距离依赖关系。研究表明,Transformer 在众多自然

🔢 生成 LaTeX 公式

model.generate("史瓦西半径的定义为:\\[")
# 史瓦西半径的定义为:\\[r_{s}=\\frac{2GM}{c^{2}}\\]\n\n其中 \\(G\\) 是万有引力常数,\\(M\\) 是黑洞的质量,且

🤔 逻辑推理

进行推理时需使用特殊标记 <work>

model.generate("一个物体受到 0.6N 的力作用,加速度为 3m/s²。它的质量是多少?<work>")
# 要使质量为 3kg 的物体以 10m/s² 的加速度运动,应施加多大的力?<work>\n我们可以使用牛顿第二定律:F = ma。代入变量后得到:\n\n\\[ F = \\left(66kg

⚛️ 生成分子结构

model.generate("[START_I_SMILES]", max_length=200)
# [START_I_SMILES]CCC1=CC=C(C=C1)C(=O)NC2=CC=CC(=C2)C(=O)NC3=CC=C(C=C3)S(=O)(=O)N[END_I_SMILES]\n\n### 分子式\n\nC22H21N3O4S\n\n## 化学与物理性质\n\n以下是 3-[[3-(4-乙基苯基)-3-氧代-丙酰基]氨基]-N-(4-磺酰胺基苯基)苯甲酰胺的化学性质。\n\n### 计算得出的性质\n\n| 属性名称 | 属性值\n| --- | ----------- |\n| 分子量 | 423.5\n| XLogP3-AA Log P | 3.2\n| 氢键供体数 | 3\n| 氢键受体数 

🧑‍🔬 预测蛋白质注释

model.generate("[START_AMINO]GHMQSITAGQKVISKHKNGRFYQCEVVRLTTETFYEVNFDDGSFSDNLYPEDIVSQDCLQFGPPAEGEVVQVRWTDGQVYGAKFVASHPIQMYQVEFEDGSQLVVKRDDVYTLDEELP[END_AMINO] ## 关键词", max_length=200)
# '[START_AMINO]GHMQSITAGQKVISKHKNGRFYQCEVVRLTTETFYEVNFDDGSFSDNLYPEDIVSQDCLQFGPPAEGEVVQVRWTDGQVYGAKFVASHPIQMYQVEFEDGSQLVVKRDDVYTLDEELP[END_AMINO] ## 关键词\n\n细胞质, 甲基转移酶, rRNA 加工, S-腺苷甲硫氨酸, 转移酶\n\n## 参考文献\n\n问题:关于核糖体 RNA 小亚基甲基转移酶 H 的相关文献有哪些?\n\n答案:\n\n[START_REF] 28 株沙门氏菌分离株的比较基因组学:CRISPR 介导的适应性亚谱系进化的证据,Fricke[END_REF]\n\n</s>'

🖱️ 自由形式生成

如果您希望实现基于自动补全的功能,不妨尝试将 new_doc=True 设置为 False。这样可以让模型更倾向于认为自己处于文档的中间部分,而不是开头。

model.generate("Transformer 取代 RNN 的原因在于", new_doc=False)
# Transformer 取代 RNN 的原因在于它们能够捕捉输入序列中的长期依赖关系。\n\n# 2.2.2. 注意力机制\n\n注意力机制最早出现在 [START_REF] “通过联合学习对齐与翻译实现神经机器翻译”,Bahdan

问答

在论文中,我们通常会在问题前加上“Q:”或“Question:”。典型的格式是“Question: 问题。\n\nAnswer:”,例如:

model.generate("Question: Notch 信号通路是什么?\n\nAnswer:")

# 问题:Notch信号通路是什么?\n\n答案:\n\nNotch信号通路是一种细胞间通讯途径,能够在发育过程中调控细胞命运的决定。它参与细胞增殖、分化、凋亡和细胞迁移等过程。Notch信号通路通过……的结合而被激活。

📄 文档

在开始撰写文档时,为了获得更好的效果,必须使用文档起始标记。为此,在调用generate函数时,需设置new_doc=True

对于某些类型的文档,例如维基百科风格的文章、讲义和GitHub仓库,可以使用#作为开头,例如:

model.generate("# 多头注意力机制\n\n", new_doc=True)
# # 多头注意力机制\n\n多头注意力机制是单头注意力机制的推广。它由多个单头注意力机制组合而成。多头注意力机制如图2所示。\n\n多

对于论文类文档,可以使用标题,例如:

model.generate("标题:自监督学习综述\n\n作者:约翰·史密斯\n\n", new_doc=True)
# 标题:自监督学习综述\n\n作者:约翰·史密斯\n\n# 摘要\n\n自监督学习是一类无需人工标注即可学习数据表示的机器学习方法。\n在本综述中,我们对这一领域进行了全面概述

你还可以尝试其他采样技术以减少重复内容,例如:

model.generate("第1讲:伊辛模型\n\n", new_doc=True, top_p=0.7, max_length=200)
# '第1讲:伊辛模型\n\n# 13 引言\n\n现在我们将介绍一个用于描述磁性的简单模型——伊辛模型,它是一种格点模型,其中每个格点只有两种自旋状态:向上或向下。我们希望理解这些自旋之间如何相互作用,以及它们如何排列成特定的状态。\n\n首先,我们将讨论一维的情况,然后逐步扩展到二维格点,最后再考虑更高维度的情形。\n\n# 14 一维伊辛模型\n\n# 14.1 模型\n\n一维伊辛模型是最简单的形式,其格点结构为一条由\\(N\\)个自旋组成的直线,每个自旋都有两种可能的状态:向上或向下。换句话说,我们考虑的是一个由\\(N\\)个自旋排成的一条直线,每个自旋都可以指向上方或下方'

📜 摘要

你可以添加“TLDR:”来生成简明扼要的摘要:

TEXT = """信息过载是科学进步的主要障碍。科学文献和数据的爆炸式增长使得从海量信息中发现有用见解变得愈发困难。如今,人们主要通过搜索引擎获取科学知识,但仅靠搜索引擎无法有效组织科学知识。本文我们提出了Galactica:一个能够存储、整合并推理科学知识的大规模语言模型。我们在包含大量论文、参考材料、知识库及其他来源的科学语料上进行训练。在多项科学任务上,我们的模型均优于现有模型。例如,在LaTeX方程等技术性知识测试中,Galactica的表现比最新的GPT-3高出68.2%对49.0%。此外,Galactica在推理能力方面也表现出色,其数学MMLU得分达到41.3%,高于Chinchilla的35.7%;在MATH竞赛中,Galactica获得了20.4%的分数,而PaLM 540B仅为8.8%。它还在PubMedQA和MedMCQA等下游任务上创造了新的SOTA记录,分别达到77.6%和52.9%。尽管未接受通用语料的训练,Galactica在BIG-bench测试中仍超越了BLOOM和OPT-175B。我们认为,这些结果表明语言模型有望成为科学领域的新接口。我们已将该模型开源,以造福科学界。"""

model.generate(TEXT + "\n\nTLDR:", max_length=400)
# ...TLDR:我们提出了Galactica,一个能够存储、整合并推理科学知识的大规模语言模型。</s>

💎 实体抽取

可以从文档中提取实体。我们沿用上一节中的摘要示例(TEXT),并添加问题:

ENT_TEXT = TEXT + '\n\n上述摘要中提到了哪些科学实体?\n\n'

model.generate(ENT_TEXT, max_length=400)
# ...上述摘要中提到了哪些科学实体?\n\n答:LaTeX方程、数学MMLU、MATH、PubMedQA、MedMCQA、BIG-bench</s>

👨‍🔬 IUPAC名称预测

针对此任务,我们基于PubChem文档编写了提示,并要求模型完成。以下使用的是67亿参数的模型:

context = "[START_I_SMILES]C(C(=O)O)N[END_I_SMILES]\n\n## 化学与物理性质\n\n以下是……的化学性质"
model.generate(context, max_length=400)
# [START_I_SMILES]C(C(=O)O)N[END_I_SMILES]\n\n## 化学与物理性质\n\n以下是2-氨基-2-氧代乙酸的化学性质
# 注意:此处预测错误

参考文献

@inproceedings{GALACTICA,
    title={GALACTICA:面向科学的大规模语言模型},
    author={罗斯·泰勒、马尔钦·卡尔达斯、吉列姆·库库鲁尔、托马斯·希亚洛姆、安东尼·哈特肖恩、埃尔维斯·萨拉维亚、安德鲁·普尔顿、维克托·克尔凯兹、罗伯特·斯托伊尼奇},
    year={2022}
}

版本历史

1.0.02022/11/15

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

142.7k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|昨天
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|2天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85k|★★☆☆☆|昨天
图像数据工具视频

ragflow

RAGFlow 是一款领先的开源检索增强生成(RAG)引擎,旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体(Agent)能力相结合,不仅支持从各类文档中高效提取知识,还能让模型基于这些知识进行逻辑推理和任务执行。 在大模型应用中,幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构(如表格、图表及混合排版),显著提升了信息检索的准确度,从而有效减少模型“胡编乱造”的现象,确保回答既有据可依又具备时效性。其内置的智能体机制更进一步,使系统不仅能回答问题,还能自主规划步骤解决复杂问题。 这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统,还是致力于探索大模型在垂直领域落地的创新者,都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口,既降低了非算法背景用户的上手门槛,也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目,它正成为连接通用大模型与行业专有知识之间的重要桥梁。

77.1k|★★★☆☆|3天前
Agent图像开发框架

PaddleOCR

PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来,转换成计算机可读取的结构化数据,让机器真正“看懂”图文内容。 面对海量纸质或电子文档,PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域,它扮演着连接图像与大型语言模型(LLM)的桥梁角色,能将视觉信息直接转化为文本输入,助力智能问答、文档分析等应用场景落地。 PaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显:不仅支持全球 100 多种语言的识别,还能在 Windows、Linux、macOS 等多个系统上运行,并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目,PaddleOCR 既能满足快速集成的需求,也能支撑前沿的视觉语言研究,是处理文字识别任务的理想选择。

75k|★★★☆☆|今天
语言模型图像开发框架