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

Rename main module from curate_gpt to curategpt #93

Merged
merged 8 commits into from
Oct 7, 2024
Merged
Changes from 1 commit
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
Prev Previous commit
Next Next commit
Run isort on src and tests
  • Loading branch information
caufieldjh committed Oct 3, 2024
commit 2c3d82282d20c757a7233f6bac3fc4a56b12f2e2
1 change: 0 additions & 1 deletion src/curategpt/adhoc/gocam_predictor.py
Original file line number Diff line number Diff line change
@@ -9,7 +9,6 @@

import click
import yaml

from curate_gpt import BasicExtractor, DBAdapter
from curate_gpt.store import get_store
from curate_gpt.utils.eval_utils import Outcome, score_prediction
3 changes: 1 addition & 2 deletions src/curategpt/agents/agent_utils.py
Original file line number Diff line number Diff line change
@@ -4,10 +4,9 @@
from typing import Dict, List, Optional, Tuple

import yaml
from llm import Model

from curate_gpt.store.db_adapter import SEARCH_RESULT
from curate_gpt.utils.tokens import estimate_num_tokens, max_tokens_by_model
from llm import Model

logger = logging.getLogger(__name__)

5 changes: 2 additions & 3 deletions src/curategpt/agents/bootstrap_agent.py
Original file line number Diff line number Diff line change
@@ -2,12 +2,11 @@
from typing import Dict

import yaml
from jinja2 import Template
from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.conf.prompts import PROMPTS_DIR
from curate_gpt.extract import AnnotatedObject
from jinja2 import Template
from pydantic import BaseModel, ConfigDict


class KnowledgeBaseSpecification(BaseModel):
5 changes: 2 additions & 3 deletions src/curategpt/agents/chat_agent.py
Original file line number Diff line number Diff line change
@@ -6,12 +6,11 @@
from typing import Any, Dict, Optional

import yaml
from llm import Conversation
from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.utils.tokens import estimate_num_tokens, max_tokens_by_model
from curate_gpt.wrappers import BaseWrapper
from llm import Conversation
from pydantic import BaseModel, ConfigDict

logger = logging.getLogger(__name__)

3 changes: 1 addition & 2 deletions src/curategpt/agents/concept_recognition_agent.py
Original file line number Diff line number Diff line change
@@ -5,9 +5,8 @@
from enum import Enum
from typing import Dict, List, Optional, Tuple

from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from pydantic import BaseModel, ConfigDict

logger = logging.getLogger(__name__)

3 changes: 1 addition & 2 deletions src/curategpt/agents/dase_agent.py
Original file line number Diff line number Diff line change
@@ -4,12 +4,11 @@
from dataclasses import dataclass, field
from typing import Any, ClassVar, Dict, List, Optional, Union

from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.agents.chat_agent import ChatResponse
from curate_gpt.extract import AnnotatedObject
from curate_gpt.store import DBAdapter
from pydantic import BaseModel, ConfigDict

logger = logging.getLogger(__name__)

3 changes: 1 addition & 2 deletions src/curategpt/agents/dragon_agent.py
Original file line number Diff line number Diff line change
@@ -5,11 +5,10 @@
from typing import Any, ClassVar, Dict, Iterable, List, Optional, Tuple, Union

import yaml
from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.extract import AnnotatedObject
from curate_gpt.store import DBAdapter
from pydantic import BaseModel, ConfigDict

logger = logging.getLogger(__name__)

1 change: 0 additions & 1 deletion src/curategpt/agents/evidence_agent.py
Original file line number Diff line number Diff line change
@@ -4,7 +4,6 @@
from typing import Dict, List, Optional, Union

import yaml

from curate_gpt import BasicExtractor
from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.agents.chat_agent import ChatAgent, ChatResponse
3 changes: 1 addition & 2 deletions src/curategpt/agents/mapping_agent.py
Original file line number Diff line number Diff line change
@@ -10,12 +10,11 @@

import inflection
import yaml
from pydantic import BaseModel, ConfigDict

from curate_gpt.agents.base_agent import BaseAgent
from curate_gpt.formatters.format_utils import remove_formatting
from curate_gpt.store.db_adapter import SEARCH_RESULT
from curate_gpt.utils.tokens import estimate_num_tokens, max_tokens_by_model
from pydantic import BaseModel, ConfigDict

logger = logging.getLogger(__name__)

10 changes: 3 additions & 7 deletions src/curategpt/app/app.py
Original file line number Diff line number Diff line change
@@ -7,26 +7,22 @@
import numpy as np
import streamlit as st
import yaml
from scipy.spatial import distance_matrix

from curate_gpt import BasicExtractor
from curate_gpt.agents import MappingAgent
from curate_gpt.agents.chat_agent import ChatAgent, ChatResponse
from curate_gpt.agents.dase_agent import DatabaseAugmentedStructuredExtraction
from curate_gpt.agents.dragon_agent import DragonAgent
from curate_gpt.agents.evidence_agent import EvidenceAgent
from curate_gpt.app.components import (
DimensionalityReductionOptions,
limit_slider_component,
vectors_to_fig,
)
from curate_gpt.app.components import (DimensionalityReductionOptions,
limit_slider_component, vectors_to_fig)
from curate_gpt.app.helper import get_applicable_examples, get_case_collection
from curate_gpt.app.state import get_state
from curate_gpt.extract import OpenAIExtractor, RecursiveExtractor
from curate_gpt.wrappers import BaseWrapper
from curate_gpt.wrappers.investigation.jgi_wrapper import JGIWrapper
from curate_gpt.wrappers.literature import WikipediaWrapper
from curate_gpt.wrappers.literature.pubmed_wrapper import PubmedWrapper
from scipy.spatial import distance_matrix

PUBMED = "PubMed (via API)"
WIKIPEDIA = "Wikipedia (via API)"
1 change: 0 additions & 1 deletion src/curategpt/app/helper.py
Original file line number Diff line number Diff line change
@@ -3,7 +3,6 @@
from typing import Dict, List, Optional

import yaml

from curate_gpt.conf import EXAMPLES_DIR

HELP_CASES = EXAMPLES_DIR / "bio.yaml"
25 changes: 14 additions & 11 deletions src/curategpt/cli.py
Original file line number Diff line number Diff line change
@@ -16,24 +16,21 @@
import requests
import yaml
from click_default_group import DefaultGroup
from linkml_runtime.dumpers import json_dumper
from linkml_runtime.utils.yamlutils import YAMLRoot
from llm import UnknownModelError, get_model, get_plugins
from llm.cli import load_conversation
from oaklib import get_adapter
from pydantic import BaseModel

from curate_gpt import ChromaDBAdapter, __version__
from curate_gpt.agents.bootstrap_agent import BootstrapAgent, KnowledgeBaseSpecification
from curate_gpt.agents.bootstrap_agent import (BootstrapAgent,
KnowledgeBaseSpecification)
from curate_gpt.agents.chat_agent import ChatAgent, ChatResponse
from curate_gpt.agents.concept_recognition_agent import AnnotationMethod, ConceptRecognitionAgent
from curate_gpt.agents.concept_recognition_agent import (
AnnotationMethod, ConceptRecognitionAgent)
from curate_gpt.agents.dase_agent import DatabaseAugmentedStructuredExtraction
from curate_gpt.agents.dragon_agent import DragonAgent
from curate_gpt.agents.evidence_agent import EvidenceAgent
from curate_gpt.agents.huggingface_agent import HuggingFaceAgent
from curate_gpt.agents.summarization_agent import SummarizationAgent
from curate_gpt.evaluation.dae_evaluator import DatabaseAugmentedCompletionEvaluator
from curate_gpt.evaluation.evaluation_datamodel import StratifiedCollection, Task
from curate_gpt.evaluation.dae_evaluator import \
DatabaseAugmentedCompletionEvaluator
from curate_gpt.evaluation.evaluation_datamodel import (StratifiedCollection,
Task)
from curate_gpt.evaluation.runner import run_task
from curate_gpt.evaluation.splitter import stratify_collection
from curate_gpt.extract import AnnotatedObject
@@ -44,6 +41,12 @@
from curate_gpt.wrappers import BaseWrapper, get_wrapper
from curate_gpt.wrappers.literature.pubmed_wrapper import PubmedWrapper
from curate_gpt.wrappers.ontology import OntologyWrapper
from linkml_runtime.dumpers import json_dumper
from linkml_runtime.utils.yamlutils import YAMLRoot
from llm import UnknownModelError, get_model, get_plugins
from llm.cli import load_conversation
from oaklib import get_adapter
from pydantic import BaseModel

__all__ = [
"main",
9 changes: 3 additions & 6 deletions src/curategpt/evaluation/calc_statistics.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,9 @@
from typing import Any, Iterator, List, Tuple, Union

import yaml

from curate_gpt.evaluation.evaluation_datamodel import (
AggregationMethod,
ClassificationMetrics,
ClassificationOutcome,
)
from curate_gpt.evaluation.evaluation_datamodel import (AggregationMethod,
ClassificationMetrics,
ClassificationOutcome)


def calculate_metrics(
12 changes: 5 additions & 7 deletions src/curategpt/evaluation/dae_evaluator.py
Original file line number Diff line number Diff line change
@@ -4,15 +4,13 @@
from typing import List, TextIO

import yaml

from curate_gpt.agents.dragon_agent import DragonAgent
from curate_gpt.evaluation.base_evaluator import BaseEvaluator
from curate_gpt.evaluation.calc_statistics import (
aggregate_metrics,
calculate_metrics,
evaluate_predictions,
)
from curate_gpt.evaluation.evaluation_datamodel import ClassificationMetrics, ClassificationOutcome
from curate_gpt.evaluation.calc_statistics import (aggregate_metrics,
calculate_metrics,
evaluate_predictions)
from curate_gpt.evaluation.evaluation_datamodel import (ClassificationMetrics,
ClassificationOutcome)

logger = logging.getLogger(__name__)

4 changes: 2 additions & 2 deletions src/curategpt/evaluation/runner.py
Original file line number Diff line number Diff line change
@@ -6,10 +6,10 @@
from typing import TextIO

import yaml

from curate_gpt import BasicExtractor, ChromaDBAdapter
from curate_gpt.agents.dragon_agent import DragonAgent
from curate_gpt.evaluation.dae_evaluator import DatabaseAugmentedCompletionEvaluator
from curate_gpt.evaluation.dae_evaluator import \
DatabaseAugmentedCompletionEvaluator
from curate_gpt.evaluation.evaluation_datamodel import Task
from curate_gpt.evaluation.splitter import stratify_collection_to_store

3 changes: 1 addition & 2 deletions src/curategpt/extract/basic_extractor.py
Original file line number Diff line number Diff line change
@@ -8,9 +8,8 @@
from typing import List

import yaml
from pydantic import ConfigDict

from curate_gpt.formatters.format_utils import remove_formatting
from pydantic import ConfigDict

from ..utils.tokens import estimate_num_tokens, max_tokens_by_model
from .extractor import AnnotatedObject, Extractor
3 changes: 1 addition & 2 deletions src/curategpt/extract/extractor.py
Original file line number Diff line number Diff line change
@@ -7,12 +7,11 @@
from typing import Any, Dict, List, Optional, Tuple

import llm
from curate_gpt.store.schema_proxy import SchemaProxy
from linkml_runtime import SchemaView
from pydantic import BaseModel as BaseModel
from pydantic import ConfigDict

from curate_gpt.store.schema_proxy import SchemaProxy

logger = logging.getLogger(__name__)


3 changes: 1 addition & 2 deletions src/curategpt/extract/openai_extractor.py
Original file line number Diff line number Diff line change
@@ -6,9 +6,8 @@
from dataclasses import dataclass
from typing import List

from openai import OpenAI, OpenAIError

from curate_gpt.extract.extractor import AnnotatedObject, Extractor
from openai import OpenAI, OpenAIError

FUNC_NAME = "extract_data"

12 changes: 6 additions & 6 deletions src/curategpt/store/chromadb_adapter.py
Original file line number Diff line number Diff line change
@@ -5,7 +5,8 @@
import os
import time
from dataclasses import dataclass, field
from typing import Callable, ClassVar, Iterable, Iterator, List, Mapping, Optional, Union
from typing import (Callable, ClassVar, Iterable, Iterator, List, Mapping,
Optional, Union)

import chromadb
import yaml
@@ -14,15 +15,14 @@
from chromadb.api import EmbeddingFunction
from chromadb.types import Collection
from chromadb.utils import embedding_functions
from linkml_runtime.dumpers import json_dumper
from linkml_runtime.utils.yamlutils import YAMLRoot
from oaklib.utilities.iterator_utils import chunk
from pydantic import BaseModel

from curate_gpt.store.db_adapter import DBAdapter
from curate_gpt.store.metadata import CollectionMetadata
from curate_gpt.store.vocab import OBJECT, PROJECTION, QUERY, SEARCH_RESULT
from curate_gpt.utils.vector_algorithms import mmr_diversified_search
from linkml_runtime.dumpers import json_dumper
from linkml_runtime.utils.yamlutils import YAMLRoot
from oaklib.utilities.iterator_utils import chunk
from pydantic import BaseModel

logger = logging.getLogger(__name__)

20 changes: 6 additions & 14 deletions src/curategpt/store/db_adapter.py
Original file line number Diff line number Diff line change
@@ -5,26 +5,18 @@
from abc import ABC, abstractmethod
from dataclasses import dataclass
from pathlib import Path
from typing import ClassVar, Dict, Iterable, Iterator, List, Optional, TextIO, Union
from typing import (ClassVar, Dict, Iterable, Iterator, List, Optional, TextIO,
Union)

import pandas as pd
import yaml
from click.utils import LazyFile
from jsonlines import jsonlines

from curate_gpt.store.metadata import CollectionMetadata
from curate_gpt.store.schema_proxy import SchemaProxy
from curate_gpt.store.vocab import (
DEFAULT_COLLECTION,
DOCUMENTS,
EMBEDDINGS,
FILE_LIKE,
METADATAS,
OBJECT,
PROJECTION,
QUERY,
SEARCH_RESULT,
)
from curate_gpt.store.vocab import (DEFAULT_COLLECTION, DOCUMENTS, EMBEDDINGS,
FILE_LIKE, METADATAS, OBJECT, PROJECTION,
QUERY, SEARCH_RESULT)
from jsonlines import jsonlines

logger = logging.getLogger(__name__)

30 changes: 10 additions & 20 deletions src/curategpt/store/duckdb_adapter.py
Original file line number Diff line number Diff line change
@@ -8,40 +8,30 @@
import os
import re
from dataclasses import dataclass, field
from typing import Any, Callable, ClassVar, Dict, Iterable, Iterator, List, Mapping, Optional, Union
from typing import (Any, Callable, ClassVar, Dict, Iterable, Iterator, List,
Mapping, Optional, Union)

import duckdb
import llm
import numpy as np
import openai
import psutil
import yaml
from curate_gpt.store.db_adapter import DBAdapter
from curate_gpt.store.duckdb_result import DuckDBSearchResult
from curate_gpt.store.metadata import CollectionMetadata
from curate_gpt.store.vocab import (DEFAULT_MODEL, DEFAULT_OPENAI_MODEL,
DISTANCES, DOCUMENTS, EMBEDDINGS, IDS,
METADATAS, MODEL_MAP, OBJECT, PROJECTION,
QUERY, SEARCH_RESULT)
from curate_gpt.utils.vector_algorithms import mmr_diversified_search
from linkml_runtime.dumpers import json_dumper
from linkml_runtime.utils.yamlutils import YAMLRoot
from oaklib.utilities.iterator_utils import chunk
from openai import OpenAI
from pydantic import BaseModel
from sentence_transformers import SentenceTransformer

from curate_gpt.store.db_adapter import DBAdapter
from curate_gpt.store.duckdb_result import DuckDBSearchResult
from curate_gpt.store.metadata import CollectionMetadata
from curate_gpt.store.vocab import (
DEFAULT_MODEL,
DEFAULT_OPENAI_MODEL,
DISTANCES,
DOCUMENTS,
EMBEDDINGS,
IDS,
METADATAS,
MODEL_MAP,
OBJECT,
PROJECTION,
QUERY,
SEARCH_RESULT,
)
from curate_gpt.utils.vector_algorithms import mmr_diversified_search

logger = logging.getLogger(__name__)


Loading