[BUGFIX][Conversation] [swarm.tools]

pull/339/head
Kye 1 year ago committed by evelynmitchell
parent d67b39f48d
commit 9622fd5d82

@ -25,6 +25,39 @@ from swarms.structs.schemas import (
) )
#################### ####################
from swarms.structs.agent import Agent
from swarms.structs.autoscaler import AutoScaler
from swarms.structs.base import BaseStructure
from swarms.structs.base_swarm import AbstractSwarm
from swarms.structs.base_workflow import BaseWorkflow
from swarms.structs.concurrent_workflow import ConcurrentWorkflow
from swarms.structs.conversation import Conversation
from swarms.structs.groupchat import GroupChat, GroupChatManager
from swarms.structs.model_parallizer import ModelParallelizer
from swarms.structs.multi_agent_collab import MultiAgentCollaboration
from swarms.structs.nonlinear_workflow import NonlinearWorkflow
from swarms.structs.recursive_workflow import RecursiveWorkflow
from swarms.structs.schemas import (
Artifact,
ArtifactUpload,
StepInput,
TaskInput,
)
from swarms.structs.sequential_workflow import SequentialWorkflow
from swarms.structs.swarm_net import SwarmNetwork
from swarms.structs.utils import (
distribute_tasks,
extract_key_from_json,
extract_tokens_from_text,
find_agent_by_id,
find_token_in_text,
parse_tasks,
)
from dotenv import load_dotenv
load_dotenv() load_dotenv()
api_key = os.getenv("OPENAI_API_KEY") api_key = os.getenv("OPENAI_API_KEY")
@ -35,19 +68,25 @@ model = OpenAIChat(
) )
def process_documentation(cls): def process_documentation(
item,
module: str = "swarms.structs",
docs_folder_path: str = "docs/swarms/structs",
):
""" """
Process the documentation for a given class using OpenAI model and save it in a Markdown file. Process the documentation for a given class or function using OpenAI model and save it in a Python file.
""" """
doc = inspect.getdoc(cls) doc = inspect.getdoc(item)
source = inspect.getsource(cls) source = inspect.getsource(item)
is_class = inspect.isclass(item)
item_type = "Class Name" if is_class else "Name"
input_content = ( input_content = (
"Class Name:" f"{item_type}:"
f" {cls.__name__}\n\nDocumentation:\n{doc}\n\nSource" f" {item.__name__}\n\nDocumentation:\n{doc}\n\nSource"
f" Code:\n{source}" f" Code:\n{source}"
) )
# Process with OpenAI model (assuming the model's __call__ method takes this input and returns processed content) # Process with OpenAI model
processed_content = model( processed_content = model(
DOCUMENTATION_WRITER_SOP(input_content, "swarms.structs") DOCUMENTATION_WRITER_SOP(input_content, "swarms.structs")
) )
@ -59,8 +98,8 @@ def process_documentation(cls):
dir_path = "docs/swarms/structs" dir_path = "docs/swarms/structs"
os.makedirs(dir_path, exist_ok=True) os.makedirs(dir_path, exist_ok=True)
# Write the processed documentation to a Markdown file # Write the processed documentation to a Python file
file_path = os.path.join(dir_path, f"{cls.__name__.lower()}.md") file_path = os.path.join(dir_path, f"{item.__name__.lower()}.md")
with open(file_path, "w") as file: with open(file_path, "w") as file:
file.write(doc_content) file.write(doc_content)
@ -82,9 +121,35 @@ def main():
ArtifactUpload, ArtifactUpload,
StepInput, StepInput,
TaskInput, TaskInput,
items = [
Agent,
SequentialWorkflow,
AutoScaler,
Conversation,
TaskInput,
Artifact,
ArtifactUpload,
StepInput,
SwarmNetwork,
ModelParallelizer,
MultiAgentCollaboration,
AbstractSwarm,
GroupChat,
GroupChatManager,
parse_tasks,
find_agent_by_id,
distribute_tasks,
find_token_in_text,
extract_key_from_json,
extract_tokens_from_text,
ConcurrentWorkflow,
RecursiveWorkflow,
NonlinearWorkflow,
BaseWorkflow,
BaseStructure,
] ]
threads = [] threads = []
for cls in classes: for cls in items:
thread = threading.Thread( thread = threading.Thread(
target=process_documentation, args=(cls,) target=process_documentation, args=(cls,)
) )

@ -26,6 +26,7 @@ from swarms.structs.utils import (
find_agent_by_id, find_agent_by_id,
find_token_in_text, find_token_in_text,
parse_tasks, parse_tasks,
detect_markdown,
) )
__all__ = [ __all__ = [
@ -57,8 +58,13 @@ __all__ = [
======= =======
"BaseWorkflow", "BaseWorkflow",
<<<<<<< HEAD <<<<<<< HEAD
<<<<<<< HEAD
>>>>>>> db2dbf3 ([CODE QUALITY]) >>>>>>> db2dbf3 ([CODE QUALITY])
======= =======
"BaseStructure" "BaseStructure"
>>>>>>> a9b3d7d ([CLEANUP][__init__]) >>>>>>> a9b3d7d ([CLEANUP][__init__])
=======
"BaseStructure",
"detect_markdown",
>>>>>>> 1df42a3 ([BUGFIX][Conversation] [swarm.tools])
] ]

@ -11,7 +11,19 @@ from swarms.telemetry.sys_info import (
interpreter_info, interpreter_info,
system_info, system_info,
) )
from swarms.telemetry.sys_info import (
get_cpu_info,
get_oi_version,
get_os_version,
get_package_mismatches,
get_pip_version,
get_python_version,
get_ram_info,
interpreter_info,
system_info,
)
from swarms.telemetry.user_utils import ( from swarms.telemetry.user_utils import (
generate_unique_identifier,
generate_unique_identifier, generate_unique_identifier,
generate_user_id, generate_user_id,
get_machine_id, get_machine_id,
@ -25,7 +37,11 @@ __all__ = [
"get_machine_id", "get_machine_id",
"get_system_info", "get_system_info",
"generate_unique_identifier", "generate_unique_identifier",
<<<<<<< HEAD
"get_python_version", # from swarms/telemetry/sys_info.py
=======
"get_python_version", "get_python_version",
>>>>>>> 1df42a3 ([BUGFIX][Conversation] [swarm.tools])
"get_pip_version", "get_pip_version",
"get_oi_version", "get_oi_version",
"get_os_version", "get_os_version",

Loading…
Cancel
Save