OntoGPT
项目描述
OntoGPT
简介
OntoGPT 是一个用于从大型语言模型 (LLMs)、指令提示 和基于本体论的基础中提取结构化信息的 Python 包。
快速入门
OntoGPT 在命令行上运行,尽管还有最小化的网络应用程序界面(见下文 Web 应用程序
部分)。
-
确保您已安装 Python 3.9 或更高版本。
-
使用
pip
进行安装pip install ontogpt
-
设置您的 OpenAI API 密钥
runoak set-apikey -e openai <your openai api key>
-
查看所有 OntoGPT 命令的列表
ontogpt --help
-
尝试信息提取的简单示例
echo "One treatment for high blood pressure is carvedilol." > example.txt ontogpt extract -i example.txt -t drug
OntoGPT 将检索必要的本体并输出结果到命令行。您的输出将在
extracted_object
标题下提供所有提取的对象。
Web 应用程序
有一个简单的网络应用程序,用于运行 OntoGPT 和查看结果。
首先,通过运行以下命令使用 pip
安装所需依赖项
pip install ontogpt[web]
然后运行此命令以启动网络应用程序
web-ontogpt
注意:我们不推荐在没有身份验证的情况下公开托管此网络应用程序。
模型 API
OntoGPT 使用 litellm
包(https://litellm.vercel.app/)与 LLM 交互。
这意味着支持大多数 API,包括 OpenAI、Azure、Anthropic、Mistral、Replicate 等。
要使用的模型名称可以在以下命令中找到:ontogpt list-models
- 使用第一列中的名称,并通过--model
选项使用。
在大多数情况下,这需要设置特定服务的API密钥,如下所示。
runoak set-apikey -e anthropic-key <your anthropic api key>
某些端点,例如通过Azure的OpenAI模型,需要设置其他详细信息。这些设置方式类似。
runoak set-apikey -e azure-key <your azure api key>
runoak set-apikey -e azure-base <your azure endpoint url>
runoak set-apikey -e azure-version <your azure api version, e.g. "2023-05-15">
这些详细信息也可以按照以下方式设置为环境变量。
export AZURE_API_KEY="my-azure-api-key"
export AZURE_API_BASE="https://example-endpoint.openai.azure.com"
export AZURE_API_VERSION="2023-05-15"
开放模型
可以通过ollama
包(https://ollama.ac.cn/)检索和运行开放LLM。
您需要安装ollama
(见GitHub仓库),可能需要使用类似ollama serve
或sudo systemctl start ollama
的命令将其作为服务启动。
然后使用ollama pull <modelname>
检索模型,例如ollama pull llama3
。
然后可以通过在名称前加上ollama/
(例如ollama/llama3
),以及--model
选项在OntoGPT中使用该模型。
一些ollama模型可能不在ontogpt list-models
中列出,但可以使用ollama list
命令查看下载的LLM的完整列表。
评估
OntoGPT的功能已在测试数据上进行了评估。有关这些评估的详细信息以及如何复现它们,请参阅完整文档。
相关项目
- TALISMAN,一个用于生成基因集合中丰富函数摘要的工具。TALISMAN使用OntoGPT与LLM一起工作。
教程和演示
- 演示:“在大型语言模型的帮助下构建结构化生物知识” - Harry Caufield作为AgBioData联盟网络研讨会系列的一部分进行演示(2023年9月)
- 演示:“使用大型语言模型转换非结构化生物医学文本” - Harry Caufield作为ISMB/ECCB 2023的BOSC会议的一部分进行演示(2023年7月)
- 演示:“OntoGPT:一个用于处理本体和大型语言模型的框架” - Chris Mungall在联合食品本体工作组上的演讲(2023年5月)
引用
OntoGPT中使用的实体提取方法SPIRES在以下文献中进一步描述:Caufield JH,Hegde H,Emonet V,Harris NL,Joachimiak MP,Matentzoglu N,等。无监督学习填充知识库的方法:结构化提示查询和语义递归提取(SPIRES)。生物信息学,第40卷,第3期,2024年3月,btae104,https://doi.org/10.1093/bioinformatics/btae104。
致谢
本项目是Monarch Initiative的一部分。我们还要感谢Bosch Research对我们这个研究项目的大力支持。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。