Package: genius-agent
Genius AgentVersion: 2.11.0Deploy agents to solve problems using AutogenThis python library will accept an agent configuration file in YAML/JSON, or as a JSON String payload in CLI
or as a standalone uvicorn FastAPI ServerThis repository comes with a Dockerfile and a docker-compose.yml file to host this yourself.Agent Types:AssistantUser ProxyRetrieve AssistantRetrieve User ProxyTeachableMemGPTGPT AssistantMultimodal AssistantUsage:CLIShort FlagLong FlagDescription-h--helpSee Usage-f--fileYAML/JSON file for agent configurations to load-d--dataJSON data for agent configurations to load-p--promptPrompt for chat conversationAPI EndpointsMethodEndpointParametersPayloadDescriptionGET/api/healthHealth of API ServerGET/api/agents/{name}nameGet Agent configuration by nameGET/api/agentsGet all Agent configurationsPOST/api/agents{"name": "agent_name", "llm_config": {...}}Load agent configurationsPOST/api/chat/prompt{"prompt": "This is a prompt for the agents"}Prompt the agents providedExample:CLI Examplegenius-agent--prompt"Create Snake using Pygame"--file"./agent_configs.yml"Agent Config in YAML:---agents:-name:user_proxycode_execution_config:work_dir:codinguser_docker:falsellm_config:seed:42temperature:0config_list:-model:mistral-7b-instruct-v0.1.Q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-mistral-7b-instruct-v0.1.Q4_K_Srequest_timeout:3600repeat_penalty:1.1functions:-name:pythondescription:run arbitrary python and return the resultparameters:type:objectproperties:cell:type:stringdescription:Valid Python code to execute.required:-cell-name:bashdescription:run a shell script and return the execution result.parameters:type:objectproperties:script:type:stringdescription:Valid shell script to executerequired:-script-name:media_downloaderdescription:run media-downloader to download a video or audio from the internetparameters:type:objectproperties:url:type:stringdescription:Valid url to downloadaudio:type:booldescription:This optional argument is used if the link wants to be savedas an mp3 or audio onlydirectory:type:stringdescription:Directory to save the videorequired:-url-name:write_to_filedescription:Use this function to write content to a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to write tocontent:type:stringdescription:The content to writerequired:-filename-content-name:read_from_filedescription:Use this function to read the content of a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:read_pdfdescription:Use this function to read the content of a pdf fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:create_directorydescription:Use this function to create a directoryparameters:type:objectproperties:directory_path:type:stringdescription:The directory path to createrequired:-directory_pathfunction_map:python:exec_pythonbash:exec_bashmedia_download:exec_media_downloaderwrite_to_file:exec_write_to_fileread_from_file:exec_read_from_filecreate_directory:exec_create_directoryhuman_input_mode:NEVER# Never - Never wait for human input, Alawys - Always waits for input from user before AI begins, Terminate - Wait for input for user when conversation terminatesis_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'max_consecutive_auto_reply:10agent_type:user_proxy-name:validatorllm_config:seed:42temperature:0config_list:-model:mistral-7b-instruct-v0.1.Q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-mistral-7b-instruct-v0.1.Q4_K_Srequest_timeout:3600repeat_penalty:1.1functions:function_map:instructions:Validator. Execute the code written by the engineer and report theresult. Reply `TERMINATE` in the end when everything is done.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:user_proxy-name:engineerllm_config:seed:42temperature:0config_list:-model:mistral-7b-instruct-v0.1.Q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-mistral-7b-instruct-v0.1.Q4_K_Srequest_timeout:3600repeat_penalty:1.1functions:-name:pythondescription:run arbitrary python and return the resultparameters:type:objectproperties:cell:type:stringdescription:Valid Python code to execute.required:-cell-name:bashdescription:run a shell script and return the execution result.parameters:type:objectproperties:script:type:stringdescription:Valid shell script to executerequired:-script-name:media_downloaderdescription:run media-downloader to download a video or audio from the internetparameters:type:objectproperties:url:type:stringdescription:Valid url to downloadaudio:type:booldescription:This optional argument is used if the link wants to be savedas an mp3 or audio onlydirectory:type:stringdescription:Directory to save the videorequired:-url-name:write_to_filedescription:Use this function to write content to a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to write tocontent:type:stringdescription:The content to writerequired:-filename-content-name:read_from_filedescription:Use this function to read the content of a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:read_pdfdescription:Use this function to read the content of a pdf fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:create_directorydescription:Use this function to create a directoryparameters:type:objectproperties:directory_path:type:stringdescription:The directory path to createrequired:-directory_pathfunction_map:python:exec_pythonbash:exec_bashmedia_download:exec_media_downloaderwrite_to_file:exec_write_to_fileread_from_file:exec_read_from_filecreate_directory:exec_create_directoryinstructions:Engineer. You follow an approved plan. You write python/shell codeto solve tasks. Wrap the code in a code block that specifies the script type.The user can't modify your code. So do not suggest incomplete code which requiresothers to modify. Don't use a code block if it's not intended to be executed bythe executor. Don't include multiple code blocks in one response. Do not ask othersto copy and paste the result. Check the execution result returned by the executor.If the result indicates there is an error, fix the error and output the code again.Suggest the full code instead of partial code or code changes. If the error can'tbe fixed or if the task is not solved even after the code is executed successfully,analyze the problem, revisit your assumption, collect additional info you need,and think of a different approach to try. Reply `TERMINATE` in the end when everythingis done.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:assistant-name:financial_advisorllm_config:seed:42temperature:0config_list:-model:mistral-7b-instruct-v0.1.Q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-mistral-7b-instruct-v0.1.Q4_K_Srequest_timeout:3600repeat_penalty:1.1functions:-name:get_stock_pricedescription:Get the latest closing price of a stock using its ticker symbolparameters:type:objectproperties:cell:type:stringdescription:The ticker symbol of the stockrequired:-symbolfunction_map:get_stock_price:exec_get_stock_priceinstructions:Scientist. You follow an approved plan. You are able to categorizepapers after seeing their abstracts printed. You don't write code.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:assistant-name:plannerllm_config:seed:42temperature:0config_list:-model:mistral-7b-instruct-v0.1.Q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-mistral-7b-instruct-v0.1.Q4_K_Srequest_timeout:3600repeat_penalty:1.1functions:function_map:instructions:Planner. Suggest a plan. Revise the plan based on feedback fromadmin, critic, and aid, until admin approval. The plan may involve an engineerwho can write code and a scientist who doesn't write code. Explain the plan first.Be clear which step is performed by an engineer, and which step is performed bya scientist. Reply `TERMINATE` in the end when everything is done.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:assistant-name:retrieve_engineerllm_config:seed:42temperature:0config_list:-model:yarn-mistral-7b-128k.Q3_K_Lapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1-model:llama-2-7b-chat.ggmlv3.q4_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1-model:mistral-7b--instruct-v0.1.Q5_K_Sapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1-model:TheBloke/WizardLM-13B-V1.2-GGML/wizardlm-13b-v1.2.ggmlv3.q2_K.binapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1-model:codellama-7b-instructapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1-model:gpt-4-32kapi_key:NA-model:gpt-4-32kapi_key:NAapi_base:NAapi_type:azureapi_version:2023-06-01-preview-model:gpt-4-32k-0314api_key:NAapi_base:NAapi_type:azureapi_version:2023-06-01-previewfilter_dict:model:-yarn-mistral-7b-128k.Q3_K_L-llama-2-7b-chat.ggmlv3.q4_K_S-mistral-7b--instruct-v0.1.Q5_K_S-TheBloke/WizardLM-13B-V1.2-GGML/wizardlm-13b-v1.2.ggmlv3.q2_K.bin-mistral-7b-instruct-v0.1.Q8_0-codellama-7b-instructrequest_timeout:3600repeat_penalty:1.1functions:-name:pythondescription:run arbitrary python and return the resultparameters:type:objectproperties:cell:type:stringdescription:Valid Python code to execute.required:-cell-name:bashdescription:run a shell script and return the execution result.parameters:type:objectproperties:script:type:stringdescription:Valid shell script to executerequired:-script-name:media_downloaderdescription:run media-downloader to download a video or audio from the internetparameters:type:objectproperties:url:type:stringdescription:Valid url to downloadaudio:type:booldescription:This optional argument is used if the link wants to be savedas an mp3 or audio onlydirectory:type:stringdescription:Directory to save the videorequired:-url-name:write_to_filedescription:Use this function to write content to a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to write tocontent:type:stringdescription:The content to writerequired:-filename-content-name:read_from_filedescription:Use this function to read the content of a fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:read_pdfdescription:Use this function to read the content of a pdf fileparameters:type:objectproperties:filename:type:stringdescription:The filename to read fromrequired:-filename-name:create_directorydescription:Use this function to create a directoryparameters:type:objectproperties:directory_path:type:stringdescription:The directory path to createrequired:-directory_pathfunction_map:python:exec_pythonbash:exec_bashmedia_download:exec_media_downloaderwrite_to_file:exec_write_to_fileread_from_file:exec_read_from_filecreate_directory:exec_create_directoryinstructions:Geniusbot Engineer. You are the engineer that developed the Pythonmodules in the documents retrieved. Reply `TERMINATE` in the end when everythingis done.human_input_mode:NEVERis_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'max_consecutive_auto_reply:10retrieve_config:task:codedocs_path:-"https://raw.githubusercontent.com/Knuckles-Team/media-downloader/main/README.md"-"https://raw.githubusercontent.com/Knuckles-Team/repository-manager/main/README.md"get_or_create:trueembedding_model:"all-mpnet-base-v2"chunk_token_size:3000model:"gpt-4"# Only for determining token size: Options are: 32k 32000 , 16k for 16000 gpt-4 8000 or something else for 4000agent_type:retrieve_user_proxy-name:retrieve_assistantllm_config:seed:42temperature:0config_list:-model:yarn-mistral-7b-128k.Q3_K_Lapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-yarn-mistral-7b-128k.Q3_K_Lrequest_timeout:3600repeat_penalty:1.1functions:function_map:instructions:Retrieve assistant. You are in charge of providing information to the other agents relevant to the task at hand.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:retrieve_assistant-name:teachable_assistantllm_config:seed:42temperature:0config_list:-model:codellama-7b-instructapi_key:NAapi_base:http://localhost:8080/v1api_type:openaiapi_version:v1filter_dict:model:-codellama-7b-instructrequest_timeout:3600repeat_penalty:1.1functions:function_map:instructions:Critic. Double check plan, claims, code from other agents and providefeedback. "Check whether the plan includes adding verifiable info such as sourceURL. Reply `TERMINATE` in the end when everything is done.is_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'teach_config:verbosity:0reset_db:truepath_to_db_dir:"."recall_threshold:1.5agent_type:teachable-name:gpt_assistantllm_config:seed:42temperature:0assistant_id:""config_list:-model:gpt-4-32k-0314api_key:NAapi_base:NAapi_type:azureapi_version:2023-06-01-previewfilter_dict:model:-gpt-4-32k-0314request_timeout:3600tools:-type:"function"function:ossinsight_api_schemafunction_map:get_oss_insights:exec_get_ossinsightinstructions:Hello, Open Source Project Analyst. You'll conduct comprehensive evaluations of open source projectsor organizations on the GitHub platform,analyzing project trajectories, contributor engagements, open source trends, and other vital parameters.Please carefully read the context of the conversation to identify the current analysis question or problem that needs addis_termination_msg:'lambdax:isinstance(x,dict)andx.get("content")isnotNoneand"TERMINATE"==str(x.get("content",""))[-9:].upper()'agent_type:gpt_assistantAgent Config in JSON:{"agents":[{"name":"user_proxy","code_execution_config":{"work_dir":"coding","user_docker":false},"llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"mistral-7b-instruct-v0.1.Q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["mistral-7b-instruct-v0.1.Q4_K_S"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":[{"name":"python","description":"run arbitrary python and return the result","parameters":{"type":"object","properties":{"cell":{"type":"string","description":"Valid Python code to execute."}},"required":["cell"]}},{"name":"bash","description":"run a shell script and return the execution result.","parameters":{"type":"object","properties":{"script":{"type":"string","description":"Valid shell script to execute"}},"required":["script"]}},{"name":"media_downloader","description":"run media-downloader to download a video or audio from the internet","parameters":{"type":"object","properties":{"url":{"type":"string","description":"Valid url to download"},"audio":{"type":"bool","description":"This optional argument is used if the link wants to be saved as an mp3 or audio only"},"directory":{"type":"string","description":"Directory to save the video"}},"required":["url"]}},{"name":"write_to_file","description":"Use this function to write content to a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to write to"},"content":{"type":"string","description":"The content to write"}},"required":["filename","content"]}},{"name":"read_from_file","description":"Use this function to read the content of a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"read_pdf","description":"Use this function to read the content of a pdf file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"create_directory","description":"Use this function to create a directory","parameters":{"type":"object","properties":{"directory_path":{"type":"string","description":"The directory path to create"}},"required":["directory_path"]}}],"function_map":{"python":"exec_python","bash":"exec_bash","media_download":"exec_media_downloader","write_to_file":"exec_write_to_file","read_from_file":"exec_read_from_file","create_directory":"exec_create_directory"}},"human_input_mode":"NEVER","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","max_consecutive_auto_reply":10,"agent_type":"user_proxy"},{"name":"validator","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"mistral-7b-instruct-v0.1.Q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["mistral-7b-instruct-v0.1.Q4_K_S"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":null,"function_map":null},"instructions":"Validator. Execute the code written by the engineer and report the result. Reply `TERMINATE` in the end when everything is done.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"user_proxy"},{"name":"engineer","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"mistral-7b-instruct-v0.1.Q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["mistral-7b-instruct-v0.1.Q4_K_S"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":[{"name":"python","description":"run arbitrary python and return the result","parameters":{"type":"object","properties":{"cell":{"type":"string","description":"Valid Python code to execute."}},"required":["cell"]}},{"name":"bash","description":"run a shell script and return the execution result.","parameters":{"type":"object","properties":{"script":{"type":"string","description":"Valid shell script to execute"}},"required":["script"]}},{"name":"media_downloader","description":"run media-downloader to download a video or audio from the internet","parameters":{"type":"object","properties":{"url":{"type":"string","description":"Valid url to download"},"audio":{"type":"bool","description":"This optional argument is used if the link wants to be saved as an mp3 or audio only"},"directory":{"type":"string","description":"Directory to save the video"}},"required":["url"]}},{"name":"write_to_file","description":"Use this function to write content to a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to write to"},"content":{"type":"string","description":"The content to write"}},"required":["filename","content"]}},{"name":"read_from_file","description":"Use this function to read the content of a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"read_pdf","description":"Use this function to read the content of a pdf file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"create_directory","description":"Use this function to create a directory","parameters":{"type":"object","properties":{"directory_path":{"type":"string","description":"The directory path to create"}},"required":["directory_path"]}}],"function_map":{"python":"exec_python","bash":"exec_bash","media_download":"exec_media_downloader","write_to_file":"exec_write_to_file","read_from_file":"exec_read_from_file","create_directory":"exec_create_directory"}},"instructions":"Engineer. You follow an approved plan. You write python/shell code to solve tasks. Wrap the code in a code block that specifies the script type. The user can't modify your code. So do not suggest incomplete code which requires others to modify. Don't use a code block if it's not intended to be executed by the executor. Don't include multiple code blocks in one response. Do not ask others to copy and paste the result. Check the execution result returned by the executor. If the result indicates there is an error, fix the error and output the code again. Suggest the full code instead of partial code or code changes. If the error can't be fixed or if the task is not solved even after the code is executed successfully, analyze the problem, revisit your assumption, collect additional info you need, and think of a different approach to try. Reply `TERMINATE` in the end when everything is done.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"assistant"},{"name":"financial_advisor","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"mistral-7b-instruct-v0.1.Q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["mistral-7b-instruct-v0.1.Q4_K_S"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":[{"name":"get_stock_price","description":"Get the latest closing price of a stock using its ticker symbol","parameters":{"type":"object","properties":{"cell":{"type":"string","description":"The ticker symbol of the stock"}},"required":["symbol"]}}],"function_map":{"get_stock_price":"exec_get_stock_price"}},"instructions":"Scientist. You follow an approved plan. You are able to categorize papers after seeing their abstracts printed. You don't write code.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"assistant"},{"name":"planner","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"mistral-7b-instruct-v0.1.Q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["mistral-7b-instruct-v0.1.Q4_K_S"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":null,"function_map":null},"instructions":"Planner. Suggest a plan. Revise the plan based on feedback from admin, critic, and aid, until admin approval. The plan may involve an engineer who can write code and a scientist who doesn't write code. Explain the plan first. Be clear which step is performed by an engineer, and which step is performed by a scientist. Reply `TERMINATE` in the end when everything is done.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"assistant"},{"name":"retrieve_engineer","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"yarn-mistral-7b-128k.Q3_K_L","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"},{"model":"llama-2-7b-chat.ggmlv3.q4_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"},{"model":"mistral-7b--instruct-v0.1.Q5_K_S","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"},{"model":"TheBloke/WizardLM-13B-V1.2-GGML/wizardlm-13b-v1.2.ggmlv3.q2_K.bin","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"},{"model":"codellama-7b-instruct","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"},{"model":"gpt-4-32k","api_key":"NA"},{"model":"gpt-4-32k","api_key":"NA","api_base":"NA","api_type":"azure","api_version":"2023-06-01-preview"},{"model":"gpt-4-32k-0314","api_key":"NA","api_base":"NA","api_type":"azure","api_version":"2023-06-01-preview"}],"filter_dict":{"model":["yarn-mistral-7b-128k.Q3_K_L","llama-2-7b-chat.ggmlv3.q4_K_S","mistral-7b--instruct-v0.1.Q5_K_S","TheBloke/WizardLM-13B-V1.2-GGML/wizardlm-13b-v1.2.ggmlv3.q2_K.bin","mistral-7b-instruct-v0.1.Q8_0","codellama-7b-instruct"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":[{"name":"python","description":"run arbitrary python and return the result","parameters":{"type":"object","properties":{"cell":{"type":"string","description":"Valid Python code to execute."}},"required":["cell"]}},{"name":"bash","description":"run a shell script and return the execution result.","parameters":{"type":"object","properties":{"script":{"type":"string","description":"Valid shell script to execute"}},"required":["script"]}},{"name":"media_downloader","description":"run media-downloader to download a video or audio from the internet","parameters":{"type":"object","properties":{"url":{"type":"string","description":"Valid url to download"},"audio":{"type":"bool","description":"This optional argument is used if the link wants to be saved as an mp3 or audio only"},"directory":{"type":"string","description":"Directory to save the video"}},"required":["url"]}},{"name":"write_to_file","description":"Use this function to write content to a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to write to"},"content":{"type":"string","description":"The content to write"}},"required":["filename","content"]}},{"name":"read_from_file","description":"Use this function to read the content of a file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"read_pdf","description":"Use this function to read the content of a pdf file","parameters":{"type":"object","properties":{"filename":{"type":"string","description":"The filename to read from"}},"required":["filename"]}},{"name":"create_directory","description":"Use this function to create a directory","parameters":{"type":"object","properties":{"directory_path":{"type":"string","description":"The directory path to create"}},"required":["directory_path"]}}],"function_map":{"python":"exec_python","bash":"exec_bash","media_download":"exec_media_downloader","write_to_file":"exec_write_to_file","read_from_file":"exec_read_from_file","create_directory":"exec_create_directory"}},"instructions":"Geniusbot Engineer. You are the engineer that developed the Python modules in the documents retrieved. Reply `TERMINATE` in the end when everything is done.","human_input_mode":"NEVER","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","max_consecutive_auto_reply":10,"retrieve_config":{"task":"code","docs_path":["https://raw.githubusercontent.com/Knuckles-Team/media-downloader/main/README.md","https://raw.githubusercontent.com/Knuckles-Team/repository-manager/main/README.md"],"get_or_create":true,"embedding_model":"all-mpnet-base-v2","chunk_token_size":3000,"model":"gpt-4"},"agent_type":"retrieve_user_proxy"},{"name":"retrieve_assistant","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"yarn-mistral-7b-128k.Q3_K_L","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["yarn-mistral-7b-128k.Q3_K_L"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":null,"function_map":null},"instructions":"Retrieve assistant. You are in charge of providing information to the other agents relevant to the task at hand.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"retrieve_assistant"},{"name":"teachable_assistant","llm_config":{"seed":42,"temperature":0,"config_list":[{"model":"codellama-7b-instruct","api_key":"NA","api_base":"http://localhost:8080/v1","api_type":"openai","api_version":"v1"}],"filter_dict":{"model":["codellama-7b-instruct"]},"request_timeout":3600,"repeat_penalty":1.1,"functions":null,"function_map":null},"instructions":"Critic. Double check plan, claims, code from other agents and provide feedback. \"Check whether the plan includes adding verifiable info such as source URL. Reply `TERMINATE` in the end when everything is done.","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","teach_config":{"verbosity":0,"reset_db":true,"path_to_db_dir":".","recall_threshold":1.5},"agent_type":"teachable"},{"name":"gpt_assistant","llm_config":{"seed":42,"temperature":0,"assistant_id":"","config_list":[{"model":"gpt-4-32k-0314","api_key":"NA","api_base":"NA","api_type":"azure","api_version":"2023-06-01-preview"}],"filter_dict":{"model":["gpt-4-32k-0314"]},"request_timeout":3600,"tools":[{"type":"function","function":"ossinsight_api_schema"}],"function_map":{"get_oss_insights":"exec_get_ossinsight"}},"instructions":"Hello, Open Source Project Analyst. You'll conduct comprehensive evaluations of open source projects or organizations on the GitHub platform, analyzing project trajectories, contributor engagements, open source trends, and other vital parameters. Please carefully read the context of the conversation to identify the current analysis question or problem that needs add","is_termination_msg":"lambda x: isinstance(x, dict) and x.get(\"content\") is not None and \"TERMINATE\" == str(x.get(\"content\", \"\"))[-9:].upper()","agent_type":"gpt_assistant"}]}Standalone API Serveruvicorngenius_agent_api:app--reload--host"0.0.0.0"--port7999Test servercurl--header"Content-Type: application/json"--requestPOST--data'{"prompt":"Write a game in python"}'http://localhost:3001/api/chatDocker API ServerDockerfileFROMpython:3.11.6-slim-bookwormASbaseRUNaptupdate&&aptupgrade-y&&pipinstall--upgradepipRUNpipinstall--upgradegenius-agent[rag,openai,chromadb,pgvector,api,memgpt]CMD["uvicorn","genius_agent_api:app","--reload","--host","0.0.0.0","--port","7999"]docker-compose.yml---version:'3.9'services:genius-agent:build:.container_name:genius-agenthostname:genius-agentrestart:unless-stoppedlogging:options:max-size:"10m"max-file:"5"environment:-VIRTUAL_HOST=genius-agent.com# NGINX Reverse Proxy-VIRTUAL_PORT=7999ports:-"7999:7999"Run:dockercomposeup--build-dExecute API Callcurl-vXPOSThttp://localhost:7999/agents_config/load-d@agent_configs.json--header"Content-Type: application/json"Installation Instructions:Core dependenciespython-mpipinstallgenius-agentAll dependenciespython-mpipinstallgenius-agent[rag,openai,chromadb,pgvector,api,memgpt]Repository Owners:Credits to OpenAI and Microsoft for usage in project!