Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add section on AI tools #691

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
133 changes: 111 additions & 22 deletions frontend/src/pages/resources/PageResources.vue
Original file line number Diff line number Diff line change
Expand Up @@ -36,32 +36,121 @@
</template>
</AppGallery>
</AppSection>

<AppSection>
<AppHeading>AI and LLM</AppHeading>

<p>
The Monarch Initiative is developing a suite of AI tools to help
researchers and clinicians make sense of the vast amount of data available
in the Monarch ecosystem. These tools include machine learning models,
embeddings, and other AI techniques to help with data integration, data
analysis, and data interpretation.
</p>
</AppSection>

<AppSection width="big">
<AppHeading>Tools</AppHeading>
<AppGallery>
<AppTile
v-for="(tool, toolIndex) in AiTools"
:key="toolIndex"
:to="tool.link"
:icon="tool.icon"
:title="tool.name"
:subtitle="tool.description"
/>
</AppGallery>
</AppSection>
</template>

<script setup lang="ts">
// import { ref, watch } from "vue";
// import { kebabCase } from "lodash";
import resources from "./resources.json";

// type Props = {
// name: string;
// icon?: string;
// link?: string;
// };

// const props = defineProps<Props>();
type AITool = {
link: string;
icon: string;
name: string;
description: string;
};

// const src = ref("");
// watch(
// () => props.name,
// async () => {
// const icon = kebabCase((props.name || "").toLowerCase());
// try {
// src.value = (await import(`../../assets/icons/resource-${icon}.svg`)).default;
// } catch (error) {
// src.value = (await import(`../../assets/icons/toolbox.svg`)).default;
// }
// },
// { immediate: true },
// );
const AiTools: AITool[] = [
{
name: "Agent Smith",
description:
"Designed to simplify instantiating AI agents that can safely and easily call APIs and locally defined functions to interact with the world. The Phenomics Assistant is an example of one such tool. ",
link: "https://github.com/monarch-initiative/agent-smith-ai#readme",
icon: "agent-smith",
},
{
name: "CurateGPT",
description:
"A prototype web application and framework for performing general AI-guided curation-related operations over collections of objects.",
link: "https://github.com/monarch-initiative/curate-gpt",
icon: "curate-gpt",
},
{
name: "Datasette LLM library",
description:
"A CLI utility and Python library for interacting with Large Language Models, both via remote APIs and models that can be installed and run on your own machine.",
link: "https://llm.datasette.io/en/stable/",
icon: "datasette-llm",
},
{
name: "Langchain",
description:
"A framework for developing applications powered by language models. Supports connecting a language model to sources of context and enabling reasoning.",
link: "https://python.langchain.com/",
icon: "langchain",
},
{
name: "LinkML",
description:
"A modeling language and framework for describing, working with, and validating data in a variety of formats. OntoGPT uses LinkML to define extraction schemas.",
link: "https://linkml.io/linkml/",
icon: "linkml",
},
{
name: "Phenomics Assistant",
description:
"An AI chatbot with access to the Monarch Initiative biomedical knowledgebase. ",
link: "https://github.com/monarch-initiative/phenomics-assistant",
icon: "phenomics-assistant",
},
{
name: "OGER",
description:
"A flexible, dictionary-based system for extracting biomedical terms from scientific articles.",
link: "https://github.com/OntoGene/OGER/wiki",
icon: "oger",
},
{
name: "OntoGPT",
description:
"A tool for linking unstructured data to structured vocabularies with consistent identifiers. Uses SPIRES and TALISMAN methods.",
link: "https://monarch-initiative.github.io/ontogpt/",
icon: "onto-gpt",
},
{
name: "Ontology Access Toolkit (OAK)",
description:
"Python library for common ontology operations over a variety of backends. Used by OntoGPT for term retrieval, labeling, mapping, etc.",
link: "https://incatools.github.io/ontology-access-kit/",
icon: "resource-oak",
},
{
name: "OntoRunner",
description:
"A wrapper for NER methods, intended for identifying ontology terms in text. Uses OGER and Spacy.",
link: "https://monarch-initiative.github.io/ontorunner/index.html",
icon: "onto-runner",
},
{
name: "Monarch ChatGPT Plugin",
description:
"A plugin for querying the Monarch Knowledge Graph with ChatGPT. Requires premium account.",
link: "https://github.com/monarch-initiative/oai-monarch-plugin",
icon: "chat-gpt",
},
];
</script>