bioguider 0.2.52__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- bioguider/__init__.py +0 -0
- bioguider/agents/__init__.py +0 -0
- bioguider/agents/agent_task.py +92 -0
- bioguider/agents/agent_tools.py +176 -0
- bioguider/agents/agent_utils.py +504 -0
- bioguider/agents/collection_execute_step.py +182 -0
- bioguider/agents/collection_observe_step.py +125 -0
- bioguider/agents/collection_plan_step.py +156 -0
- bioguider/agents/collection_task.py +184 -0
- bioguider/agents/collection_task_utils.py +142 -0
- bioguider/agents/common_agent.py +137 -0
- bioguider/agents/common_agent_2step.py +215 -0
- bioguider/agents/common_conversation.py +61 -0
- bioguider/agents/common_step.py +85 -0
- bioguider/agents/consistency_collection_step.py +102 -0
- bioguider/agents/consistency_evaluation_task.py +57 -0
- bioguider/agents/consistency_evaluation_task_utils.py +14 -0
- bioguider/agents/consistency_observe_step.py +110 -0
- bioguider/agents/consistency_query_step.py +77 -0
- bioguider/agents/dockergeneration_execute_step.py +186 -0
- bioguider/agents/dockergeneration_observe_step.py +154 -0
- bioguider/agents/dockergeneration_plan_step.py +158 -0
- bioguider/agents/dockergeneration_task.py +158 -0
- bioguider/agents/dockergeneration_task_utils.py +220 -0
- bioguider/agents/evaluation_installation_task.py +270 -0
- bioguider/agents/evaluation_readme_task.py +767 -0
- bioguider/agents/evaluation_submission_requirements_task.py +172 -0
- bioguider/agents/evaluation_task.py +206 -0
- bioguider/agents/evaluation_tutorial_task.py +169 -0
- bioguider/agents/evaluation_tutorial_task_prompts.py +187 -0
- bioguider/agents/evaluation_userguide_prompts.py +179 -0
- bioguider/agents/evaluation_userguide_task.py +154 -0
- bioguider/agents/evaluation_utils.py +127 -0
- bioguider/agents/identification_execute_step.py +181 -0
- bioguider/agents/identification_observe_step.py +104 -0
- bioguider/agents/identification_plan_step.py +140 -0
- bioguider/agents/identification_task.py +270 -0
- bioguider/agents/identification_task_utils.py +22 -0
- bioguider/agents/peo_common_step.py +64 -0
- bioguider/agents/prompt_utils.py +253 -0
- bioguider/agents/python_ast_repl_tool.py +69 -0
- bioguider/agents/rag_collection_task.py +130 -0
- bioguider/conversation.py +67 -0
- bioguider/database/code_structure_db.py +500 -0
- bioguider/database/summarized_file_db.py +146 -0
- bioguider/generation/__init__.py +39 -0
- bioguider/generation/benchmark_metrics.py +610 -0
- bioguider/generation/change_planner.py +189 -0
- bioguider/generation/document_renderer.py +157 -0
- bioguider/generation/llm_cleaner.py +67 -0
- bioguider/generation/llm_content_generator.py +1128 -0
- bioguider/generation/llm_injector.py +809 -0
- bioguider/generation/models.py +85 -0
- bioguider/generation/output_manager.py +74 -0
- bioguider/generation/repo_reader.py +37 -0
- bioguider/generation/report_loader.py +166 -0
- bioguider/generation/style_analyzer.py +36 -0
- bioguider/generation/suggestion_extractor.py +436 -0
- bioguider/generation/test_metrics.py +189 -0
- bioguider/managers/benchmark_manager.py +785 -0
- bioguider/managers/evaluation_manager.py +215 -0
- bioguider/managers/generation_manager.py +686 -0
- bioguider/managers/generation_test_manager.py +107 -0
- bioguider/managers/generation_test_manager_v2.py +525 -0
- bioguider/rag/__init__.py +0 -0
- bioguider/rag/config.py +117 -0
- bioguider/rag/data_pipeline.py +651 -0
- bioguider/rag/embedder.py +24 -0
- bioguider/rag/rag.py +138 -0
- bioguider/settings.py +103 -0
- bioguider/utils/code_structure_builder.py +59 -0
- bioguider/utils/constants.py +135 -0
- bioguider/utils/default.gitignore +140 -0
- bioguider/utils/file_utils.py +215 -0
- bioguider/utils/gitignore_checker.py +175 -0
- bioguider/utils/notebook_utils.py +117 -0
- bioguider/utils/pyphen_utils.py +73 -0
- bioguider/utils/python_file_handler.py +65 -0
- bioguider/utils/r_file_handler.py +551 -0
- bioguider/utils/utils.py +163 -0
- bioguider-0.2.52.dist-info/LICENSE +21 -0
- bioguider-0.2.52.dist-info/METADATA +51 -0
- bioguider-0.2.52.dist-info/RECORD +84 -0
- bioguider-0.2.52.dist-info/WHEEL +4 -0
bioguider/utils/utils.py
ADDED
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import logging
|
|
2
|
+
from pathlib import Path
|
|
3
|
+
import re
|
|
4
|
+
import subprocess
|
|
5
|
+
from typing import Optional
|
|
6
|
+
from enum import Enum
|
|
7
|
+
from pydantic import BaseModel
|
|
8
|
+
import tiktoken
|
|
9
|
+
from bs4 import BeautifulSoup
|
|
10
|
+
|
|
11
|
+
from bioguider.utils.constants import DEFAULT_TOKEN_USAGE
|
|
12
|
+
logger = logging.getLogger(__name__)
|
|
13
|
+
|
|
14
|
+
def count_tokens(text: str, local_ollama: bool = False) -> int:
|
|
15
|
+
"""
|
|
16
|
+
Count the number of tokens in a text string using tiktoken.
|
|
17
|
+
|
|
18
|
+
Args:
|
|
19
|
+
text (str): The text to count tokens for.
|
|
20
|
+
local_ollama (bool, optional): Whether using local Ollama embeddings. Default is False.
|
|
21
|
+
|
|
22
|
+
Returns:
|
|
23
|
+
int: The number of tokens in the text.
|
|
24
|
+
"""
|
|
25
|
+
try:
|
|
26
|
+
if local_ollama:
|
|
27
|
+
encoding = tiktoken.get_encoding("cl100k_base")
|
|
28
|
+
else:
|
|
29
|
+
encoding = tiktoken.encoding_for_model("text-embedding-3-small")
|
|
30
|
+
|
|
31
|
+
return len(encoding.encode(text))
|
|
32
|
+
except Exception as e:
|
|
33
|
+
# Fallback to a simple approximation if tiktoken fails
|
|
34
|
+
logger.warning(f"Error counting tokens with tiktoken: {e}")
|
|
35
|
+
# Rough approximation: 4 characters per token
|
|
36
|
+
return len(text) // 4
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def run_command(command: list, cwd: str = None, timeout: int = None):
|
|
40
|
+
"""
|
|
41
|
+
Run a shell command with optional timeout and return stdout, stderr, and return code.
|
|
42
|
+
"""
|
|
43
|
+
try:
|
|
44
|
+
result = subprocess.run(
|
|
45
|
+
command,
|
|
46
|
+
cwd=cwd,
|
|
47
|
+
stdout=subprocess.PIPE,
|
|
48
|
+
stderr=subprocess.PIPE,
|
|
49
|
+
text=True,
|
|
50
|
+
timeout=timeout
|
|
51
|
+
)
|
|
52
|
+
return result.stdout, result.stderr, result.returncode
|
|
53
|
+
except subprocess.TimeoutExpired as e:
|
|
54
|
+
return e.stdout or "", e.stderr or f"Command timed out after {timeout} seconds", -1
|
|
55
|
+
|
|
56
|
+
def escape_braces(text: str) -> str:
|
|
57
|
+
def fix_braces(m):
|
|
58
|
+
s = m.group(0)
|
|
59
|
+
# If odd number of braces, double the last one
|
|
60
|
+
if len(s) % 2 == 1:
|
|
61
|
+
return s + s[-1]
|
|
62
|
+
return s
|
|
63
|
+
# Handle both { and } sequences
|
|
64
|
+
text = re.sub(r'{+|}+', fix_braces, text)
|
|
65
|
+
return text
|
|
66
|
+
|
|
67
|
+
def increase_token_usage(
|
|
68
|
+
token_usage: Optional[dict] = None,
|
|
69
|
+
incremental: dict = {**DEFAULT_TOKEN_USAGE},
|
|
70
|
+
):
|
|
71
|
+
if token_usage is None:
|
|
72
|
+
token_usage = {**DEFAULT_TOKEN_USAGE}
|
|
73
|
+
token_usage["total_tokens"] += incremental["total_tokens"]
|
|
74
|
+
token_usage["completion_tokens"] += incremental["completion_tokens"]
|
|
75
|
+
token_usage["prompt_tokens"] += incremental["prompt_tokens"]
|
|
76
|
+
|
|
77
|
+
return token_usage
|
|
78
|
+
|
|
79
|
+
def clean_action_input(action_input: str) -> str:
|
|
80
|
+
replaced_input = ""
|
|
81
|
+
|
|
82
|
+
while (True):
|
|
83
|
+
replaced_input = action_input.strip()
|
|
84
|
+
replaced_input = replaced_input.strip("`")
|
|
85
|
+
replaced_input = replaced_input.strip('"')
|
|
86
|
+
replaced_input = replaced_input.strip()
|
|
87
|
+
replaced_input = replaced_input.strip("`")
|
|
88
|
+
replaced_input = replaced_input.strip('"')
|
|
89
|
+
replaced_input = replaced_input.strip()
|
|
90
|
+
if (replaced_input == action_input):
|
|
91
|
+
break
|
|
92
|
+
action_input = replaced_input
|
|
93
|
+
|
|
94
|
+
action_input = action_input.replace("'", '"')
|
|
95
|
+
action_input = action_input.replace("`", '"')
|
|
96
|
+
return action_input
|
|
97
|
+
|
|
98
|
+
# Convert BaseModel objects to dictionaries for JSON serialization
|
|
99
|
+
def convert_to_serializable(obj):
|
|
100
|
+
if isinstance(obj, BaseModel):
|
|
101
|
+
return obj.model_dump()
|
|
102
|
+
elif hasattr(obj, 'model_dump'):
|
|
103
|
+
return obj.model_dump()
|
|
104
|
+
elif isinstance(obj, Enum):
|
|
105
|
+
return obj.value
|
|
106
|
+
elif isinstance(obj, dict):
|
|
107
|
+
return {k: convert_to_serializable(v) for k, v in obj.items()}
|
|
108
|
+
elif isinstance(obj, list):
|
|
109
|
+
return [convert_to_serializable(item) for item in obj]
|
|
110
|
+
elif isinstance(obj, tuple):
|
|
111
|
+
return [convert_to_serializable(item) for item in obj]
|
|
112
|
+
elif hasattr(obj, '__dict__') and not isinstance(obj, (str, int, float, bool, type(None))):
|
|
113
|
+
# Handle regular class instances by converting their __dict__ to a dictionary
|
|
114
|
+
# Exclude built-in types that might have __dict__ but shouldn't be converted
|
|
115
|
+
return {k: convert_to_serializable(v) for k, v in vars(obj).items()}
|
|
116
|
+
else:
|
|
117
|
+
return obj
|
|
118
|
+
|
|
119
|
+
def convert_html_to_text(html_path: str | Path, exclude_tags: list[str] = ["script", "style", "img", "svg", "meta", "link"]) -> str:
|
|
120
|
+
"""
|
|
121
|
+
This function is used to convert html string to text, that is,
|
|
122
|
+
extract text from html content, including tables.
|
|
123
|
+
"""
|
|
124
|
+
html_path = Path(html_path)
|
|
125
|
+
if not html_path.exists():
|
|
126
|
+
raise FileNotFoundError(f"File {html_path} does not exist")
|
|
127
|
+
with html_path.open("r", encoding="utf-8") as f:
|
|
128
|
+
html_content = f.read()
|
|
129
|
+
soup = BeautifulSoup(html_content, "html.parser")
|
|
130
|
+
if exclude_tags is not None:
|
|
131
|
+
for tag in exclude_tags:
|
|
132
|
+
for element in soup.find_all(tag):
|
|
133
|
+
element.decompose()
|
|
134
|
+
text = soup.get_text(separator="\n", strip=True)
|
|
135
|
+
return text
|
|
136
|
+
|
|
137
|
+
def get_overall_score(grade_levels: list[int | bool | float | str | None], weights: list[int]) -> int:
|
|
138
|
+
max_score = 100
|
|
139
|
+
min_score = 0
|
|
140
|
+
def get_grade_level_score(grade_level: int | bool | float | str | None) -> int:
|
|
141
|
+
if grade_level is None:
|
|
142
|
+
return 0
|
|
143
|
+
if isinstance(grade_level, bool):
|
|
144
|
+
if grade_level:
|
|
145
|
+
return max_score
|
|
146
|
+
else:
|
|
147
|
+
return min_score
|
|
148
|
+
try:
|
|
149
|
+
return int(float(grade_level))
|
|
150
|
+
except Exception:
|
|
151
|
+
logger.warning(f"Failed to convert grade level {grade_level} to int")
|
|
152
|
+
return 0
|
|
153
|
+
if len(grade_levels) != len(weights):
|
|
154
|
+
raise ValueError("The length of grade_levels and weights must be the same")
|
|
155
|
+
score = round(sum(
|
|
156
|
+
get_grade_level_score(grade_level) * weight for grade_level, weight in zip(grade_levels, weights)
|
|
157
|
+
) / sum(weight * max_score for weight in weights), 2)
|
|
158
|
+
|
|
159
|
+
return int(score*max_score) if score > 0 else min_score
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
|
|
163
|
+
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 OSU_BMBL
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
|
+
Name: bioguider
|
|
3
|
+
Version: 0.2.52
|
|
4
|
+
Summary: An AI-Powered package to help biomedical developers to generate clear documentation
|
|
5
|
+
License: MIT
|
|
6
|
+
Author: Cankun Wang
|
|
7
|
+
Author-email: Cankun.Wang@osumc.edu
|
|
8
|
+
Requires-Python: >=3.11,<4.0
|
|
9
|
+
Classifier: Intended Audience :: Developers
|
|
10
|
+
Classifier: Intended Audience :: Science/Research
|
|
11
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
12
|
+
Classifier: Natural Language :: English
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
|
|
20
|
+
Requires-Dist: adalflow (>=1.0.4,<2.0.0)
|
|
21
|
+
Requires-Dist: azure-ai-formrecognizer (>=3.3.3,<4.0.0)
|
|
22
|
+
Requires-Dist: azure-ai-textanalytics (>=5.3.0,<6.0.0)
|
|
23
|
+
Requires-Dist: azure-core (>=1.36.0,<2.0.0)
|
|
24
|
+
Requires-Dist: azure-identity (>=1.25.1,<2.0.0)
|
|
25
|
+
Requires-Dist: beautifulsoup4 (>=4.13.3,<5.0.0)
|
|
26
|
+
Requires-Dist: binaryornot (>=0.4.4,<0.5.0)
|
|
27
|
+
Requires-Dist: faiss-cpu (>=1.11.0,<2.0.0)
|
|
28
|
+
Requires-Dist: grandalf (>=0.8,<0.9)
|
|
29
|
+
Requires-Dist: langchain (>=0.3.20,<0.4.0)
|
|
30
|
+
Requires-Dist: langchain-anthropic (>=0.3.10,<0.4.0)
|
|
31
|
+
Requires-Dist: langchain-deepseek (>=0.1.2,<0.2.0)
|
|
32
|
+
Requires-Dist: langchain-experimental (>=0.3.4,<0.4.0)
|
|
33
|
+
Requires-Dist: langchain-google-genai (>=2.1.4,<3.0.0)
|
|
34
|
+
Requires-Dist: langchain-openai (>=0.3.8,<0.4.0)
|
|
35
|
+
Requires-Dist: langgraph (>=0.3.11,<0.4.0)
|
|
36
|
+
Requires-Dist: markdownify (>=1.1.0,<2.0.0)
|
|
37
|
+
Requires-Dist: nanoid (>=2.0.0,<3.0.0)
|
|
38
|
+
Requires-Dist: pydantic (>=2.10.6,<3.0.0)
|
|
39
|
+
Requires-Dist: pydantic-settings (>=2.8.1,<3.0.0)
|
|
40
|
+
Requires-Dist: pyphen (>=0.17.2,<0.18.0)
|
|
41
|
+
Requires-Dist: pytest (>=8.3.5,<9.0.0)
|
|
42
|
+
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
43
|
+
Requires-Dist: python-iso639 (>=2025.2.18,<2026.0.0)
|
|
44
|
+
Requires-Dist: python-magic (>=0.4.27,<0.5.0)
|
|
45
|
+
Requires-Dist: tenacity (>=9.1.2,<10.0.0)
|
|
46
|
+
Requires-Dist: textstat (>=0.7.6,<0.8.0)
|
|
47
|
+
Requires-Dist: tiktoken (>=0.9.0,<0.10.0)
|
|
48
|
+
Requires-Dist: tqdm (>=4.67.1,<5.0.0)
|
|
49
|
+
Description-Content-Type: text/markdown
|
|
50
|
+
|
|
51
|
+
# bioguider
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
bioguider/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
bioguider/agents/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
bioguider/agents/agent_task.py,sha256=TL0Zx8zOmiAVslmNbfMPQ38qTQ73QospY6Dwrwf8POg,2890
|
|
4
|
+
bioguider/agents/agent_tools.py,sha256=r21wHV6a-Ic2T0dk4YzA-_d7PodHPM3GzRxJqv-llSw,7286
|
|
5
|
+
bioguider/agents/agent_utils.py,sha256=PX0776MafJ2hAzjBJbfHLvwy8S-uKsdalr4tTVL7WIM,17671
|
|
6
|
+
bioguider/agents/collection_execute_step.py,sha256=jE_oSQZI5WDaz0bJjUWoAfqWfVbGUqN--cvITSWCGiI,5614
|
|
7
|
+
bioguider/agents/collection_observe_step.py,sha256=1xOw6N3uIoyh4h4_vcULAc5x5KZ9G-zZo42AhRidyn8,5373
|
|
8
|
+
bioguider/agents/collection_plan_step.py,sha256=Nn0f8AOkEDCDtnhaqE7yCQoi7PVpsHmiUcsIqC0T0dQ,5956
|
|
9
|
+
bioguider/agents/collection_task.py,sha256=sP6b2Bz7KNRWKB9pXImnGCswYzp7V-L9a8w3Mj2gIsU,7459
|
|
10
|
+
bioguider/agents/collection_task_utils.py,sha256=mCmjHFD4HY1mSwkfqPaJbZ8sm6ijjdhnNKj40xudE98,5424
|
|
11
|
+
bioguider/agents/common_agent.py,sha256=TpfxbYskwuwWrjs1g9RaG7sdA5rOLdiVac7If7uK2sg,4558
|
|
12
|
+
bioguider/agents/common_agent_2step.py,sha256=rGiDzUkmmUIFnmJJxzXK5M5BfIyINHXLZ0pmPRUVqQg,7911
|
|
13
|
+
bioguider/agents/common_conversation.py,sha256=_9l6SunRmOZ_3R4Q8CTO9oE_qmP7aYYKFX1EiFBIrm8,2589
|
|
14
|
+
bioguider/agents/common_step.py,sha256=GdOCbmj1pwh4etg-futVFYVDQuoUG89DnIrw-B6QbzM,2594
|
|
15
|
+
bioguider/agents/consistency_collection_step.py,sha256=evgb0W3PD5pXfViuP_0T5LqLnNxQCuvP14oY0KEtwSc,3424
|
|
16
|
+
bioguider/agents/consistency_evaluation_task.py,sha256=OOeZGADiKqfMcWIRzTgdSUs4XbpDu1QV2UTfZfWbWj0,1908
|
|
17
|
+
bioguider/agents/consistency_evaluation_task_utils.py,sha256=TIUeXiAGuzt-tX33lQRqJvOaDL1iytB_38mIJMFapkU,444
|
|
18
|
+
bioguider/agents/consistency_observe_step.py,sha256=Mj_vbjG5qD9LX17V6-xjmcKhk7sTq9PUMjhWL6DMQGg,4658
|
|
19
|
+
bioguider/agents/consistency_query_step.py,sha256=SCsCd-WGUKdMoMuKlSl3NH1WT8v6thdsqGspc_w6EiQ,4039
|
|
20
|
+
bioguider/agents/dockergeneration_execute_step.py,sha256=F92jDlkc6KjAvTkX7q1FsCYP8J15SCaNgmwh3YPqfDo,6500
|
|
21
|
+
bioguider/agents/dockergeneration_observe_step.py,sha256=Bo5Td0fzMYLbLki0FvwamzqRFOy4eu3AvIUa8oFApE4,6131
|
|
22
|
+
bioguider/agents/dockergeneration_plan_step.py,sha256=SB8tQM9PkIKsD2o1DFD7bedcxz6r6hSy8n_EVK60Fz0,7235
|
|
23
|
+
bioguider/agents/dockergeneration_task.py,sha256=mYmorLKnJ-Jku3Qq_Y_kcSTsbYIo3RiVdD0puxqXY5Q,6221
|
|
24
|
+
bioguider/agents/dockergeneration_task_utils.py,sha256=v7emqrJlVW-A5ZdLmPSdiaMSKCR8uzy9UYzx_1cgzyo,9041
|
|
25
|
+
bioguider/agents/evaluation_installation_task.py,sha256=Ae9OUTdlNkzT6dfZxUT4iSl2OABicT1yX-afCT4a2Rk,12577
|
|
26
|
+
bioguider/agents/evaluation_readme_task.py,sha256=Yl02Uhew73rzUKvA-ebk6DnCreGfY57HjihS60SWubw,39605
|
|
27
|
+
bioguider/agents/evaluation_submission_requirements_task.py,sha256=J_6C-M2AfYue2C-gWBHl7KqGrTBuFBn9zmMV5vSRk-U,7834
|
|
28
|
+
bioguider/agents/evaluation_task.py,sha256=uu0BjalctF9hQjGtT53whbeJHv2RVvs8_2woVUmOLRE,8132
|
|
29
|
+
bioguider/agents/evaluation_tutorial_task.py,sha256=L3B081RSQvOVjKnSW8Xk3shvvVXTNXMrtGe6IWOsufk,8938
|
|
30
|
+
bioguider/agents/evaluation_tutorial_task_prompts.py,sha256=DmHnvEBvBCXQkEo030WGKMU4Bd4nc3WEvkHdV-2-OeU,13566
|
|
31
|
+
bioguider/agents/evaluation_userguide_prompts.py,sha256=ugl1AFaaeDhrjlVj9NdB_2D949NLGLMtff9Cp3jusxs,12717
|
|
32
|
+
bioguider/agents/evaluation_userguide_task.py,sha256=F_P8JnhN-c-OjRAhUiAA03BCNDiP3m_IWLvLr2Aj77E,7081
|
|
33
|
+
bioguider/agents/evaluation_utils.py,sha256=0DDTfcZg7gVi1O3JZUqgodXRB2A49EyQS4noPp1x4yk,4071
|
|
34
|
+
bioguider/agents/identification_execute_step.py,sha256=w3IjL8f2WiHCyiLjVSoySnIAXpi1-hK1DLKCnXbAN2Y,5587
|
|
35
|
+
bioguider/agents/identification_observe_step.py,sha256=Me5mhEM4e7FGnVFcluNtqfhIxzng6guGIu39xi1TrS8,4341
|
|
36
|
+
bioguider/agents/identification_plan_step.py,sha256=owsTK1NZIuiZL7QPVknJyp9TBRK-mhnuf2RwK4YzaxU,5442
|
|
37
|
+
bioguider/agents/identification_task.py,sha256=6lhH5K1RQWPDkQE01RKFfhNYnluCk-I_A-71gfhagUA,10149
|
|
38
|
+
bioguider/agents/identification_task_utils.py,sha256=Lf0Rj0L0KSiyJmPAgeSz0vLUFQr6TSFuzgufimEN4H0,630
|
|
39
|
+
bioguider/agents/peo_common_step.py,sha256=iw2c1h7X11WJzSE2tSRg0UAoXH0QOlQDxW9CCzSVMOY,2677
|
|
40
|
+
bioguider/agents/prompt_utils.py,sha256=foHE0afvU3UQ7fdkOqhN_f02ItUCO9Kr0gRL9XV6R6o,19509
|
|
41
|
+
bioguider/agents/python_ast_repl_tool.py,sha256=o7-4P1h8jS8ikhGSA4CI_OWQ2a0Eg5tEdmuAp_qrO-0,2519
|
|
42
|
+
bioguider/agents/rag_collection_task.py,sha256=r_jPAMjQcC7dIydKxX77UuMqjJ3MiVKswNZ-yNw7yx8,5199
|
|
43
|
+
bioguider/conversation.py,sha256=DIvk_d7pz_guuORByK1eaaF09FAK-8shcNTrbSUHz9Y,1779
|
|
44
|
+
bioguider/database/code_structure_db.py,sha256=q9tGZLWrjPi7a3u1b2iUnMO30lNWKbeMOkpDRffev2M,16973
|
|
45
|
+
bioguider/database/summarized_file_db.py,sha256=U60c62e2Bx7PwsTAcCQgljNxD5u5awjpj5qpHEgJbac,4801
|
|
46
|
+
bioguider/generation/__init__.py,sha256=esV02QgCsY67-HBwSHDbA5AcbKzNRIT3wDwwh6N4OFM,945
|
|
47
|
+
bioguider/generation/benchmark_metrics.py,sha256=IRNdTp3ECkxUKfGVmT9CQfxOI9Q0JuVG1U4ZxMJsmdk,21654
|
|
48
|
+
bioguider/generation/change_planner.py,sha256=0N10jvkfn2J9b598FKOKPQecwmQv68yeuUvMZn81nOI,9715
|
|
49
|
+
bioguider/generation/document_renderer.py,sha256=Md8NMo0CXNIqatWOdKE-_4k02Y3T_BCLmEPLTEiYUCA,7984
|
|
50
|
+
bioguider/generation/llm_cleaner.py,sha256=qFgS5xi7bBO8HAJ9WFNzH3p9AhOsAkYjchKQHuAUWWM,2917
|
|
51
|
+
bioguider/generation/llm_content_generator.py,sha256=QOo71Bope8hpTevbj9Cb1x61NF7FyPZ0t8obWe_4du8,50398
|
|
52
|
+
bioguider/generation/llm_injector.py,sha256=Q7ihhDgoi0X_vCrmkLpV-fV7ywgttlWRnGJ-RDTEgtU,37623
|
|
53
|
+
bioguider/generation/models.py,sha256=MlJOLjPHk8xs-UGW-TGN_M9cevTuxTG4tjm1d1L15go,2699
|
|
54
|
+
bioguider/generation/output_manager.py,sha256=u45yS2fMOXVpxUbjxRTd2aM9e9iRTyhcAW_4iRwWwRY,2648
|
|
55
|
+
bioguider/generation/repo_reader.py,sha256=ivTURU61fR8er4ev7gSpOxER3FJv2d9GAx_X5JoVTvQ,1177
|
|
56
|
+
bioguider/generation/report_loader.py,sha256=bxajeTDxod36iFsbSZhXSQjotxqP7LuAg5MC9OqX_p0,5911
|
|
57
|
+
bioguider/generation/style_analyzer.py,sha256=Vn9FAK1qJBNLolLC1tz362k4UBaPl107BlvkQc8pV2I,983
|
|
58
|
+
bioguider/generation/suggestion_extractor.py,sha256=UKQPUUEvbfJI-EuvH6O5DPRyRn8GaQMNvUWBkuuUhDk,28694
|
|
59
|
+
bioguider/generation/test_metrics.py,sha256=ACXmSZc2L_UkkmC5h2s4tG44MXW1d-hClFwPCD5_BFI,7505
|
|
60
|
+
bioguider/managers/benchmark_manager.py,sha256=zSJziLxwCr4hccloWGNwDKCrjnVo5p0aaznxH4iuqao,31355
|
|
61
|
+
bioguider/managers/evaluation_manager.py,sha256=ZKQfak4taD04UFcQL0EMAkV4CAA7BG0GpGN3H52XSPw,8906
|
|
62
|
+
bioguider/managers/generation_manager.py,sha256=oawFH6If0Ex5Wv_0WNXn_5XEsKB1uDjDnoOb41uvCBg,38833
|
|
63
|
+
bioguider/managers/generation_test_manager.py,sha256=3mOBzQVpsLo_LpSspJcofn3CNtvgagS1DMr9Zuwkzq4,5307
|
|
64
|
+
bioguider/managers/generation_test_manager_v2.py,sha256=USoGyewTWtZKPnT2O0t4Djbq4G-6v3H1AGIs6iDxNW0,22835
|
|
65
|
+
bioguider/rag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
66
|
+
bioguider/rag/config.py,sha256=5g4IqTzgyfZfax9Af9CTkXShgItPOt4_9TEMSekCPik,4602
|
|
67
|
+
bioguider/rag/data_pipeline.py,sha256=hyBmjOpP1ka_y_4X0lUwlNKEBjmPNOmETEfQf-s86ZY,27316
|
|
68
|
+
bioguider/rag/embedder.py,sha256=jofR8hOj3Aj2IyBQ9y6FeAc84tgq5agbIfCGyFxYpJ8,650
|
|
69
|
+
bioguider/rag/rag.py,sha256=JFPwrJlKDSyd3U3Gce_NSxI5343eNUbqPG9Fs5Pfoq0,4696
|
|
70
|
+
bioguider/settings.py,sha256=BD_iz9aYarxmWUl0XaKl4-D4oTXMhFzljsXLNn2phis,3143
|
|
71
|
+
bioguider/utils/code_structure_builder.py,sha256=26F6yUzILzCJQ-l0HOE7NAMcLY3keM1ytyl5MrbrsBY,2358
|
|
72
|
+
bioguider/utils/constants.py,sha256=i-B38izpE3z4ES50hS8tzjmR43AmhUBHJEpxN6X3bGo,9379
|
|
73
|
+
bioguider/utils/default.gitignore,sha256=XjPdyO2KV8z8iyuqluaNR_70tBQftMpyKL8HboVNyeI,1605
|
|
74
|
+
bioguider/utils/file_utils.py,sha256=90mXkH2PjEdZSfwhnK251DjnSg3XgU9ISauwUYLf1rw,6530
|
|
75
|
+
bioguider/utils/gitignore_checker.py,sha256=pOYUwsS9D5014LxcZb0cj3s2CAYaD2uF_pYJpaNKcho,6532
|
|
76
|
+
bioguider/utils/notebook_utils.py,sha256=SfU1iLuwgbDzNN-TUh_qbnfUSgn-PI6NrK6QfmdpMqQ,4009
|
|
77
|
+
bioguider/utils/pyphen_utils.py,sha256=cdZc3qphkvMDeL5NiZ8Xou13M_uVNP7ifJ-FwxO-0BE,2680
|
|
78
|
+
bioguider/utils/python_file_handler.py,sha256=BERiE2RHxpu3gAzv26jr8ZQetkrtnMZOv9SjpQ7WIdg,2650
|
|
79
|
+
bioguider/utils/r_file_handler.py,sha256=y57Y04wjgtFWve0lPg1EOrNNOccPfnNF0z2WnlFMX74,19616
|
|
80
|
+
bioguider/utils/utils.py,sha256=88KdSgGcCVXjiokIfxoX4LwP51NcE5Wr_T5RuTQlWzA,5845
|
|
81
|
+
bioguider-0.2.52.dist-info/LICENSE,sha256=qzkvZcKwwA5DuSuhXMOm2LcO6BdEr4V7jwFZVL2-jL4,1065
|
|
82
|
+
bioguider-0.2.52.dist-info/METADATA,sha256=DG5kjkx1USRpcc9HC9uIRQ70nZVMsXIbUPOg54nrGTc,2165
|
|
83
|
+
bioguider-0.2.52.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
84
|
+
bioguider-0.2.52.dist-info/RECORD,,
|