This commit is contained in:
Saifeddine ALOUI 2024-07-23 02:38:58 +02:00
parent 10fd3dd530
commit c35838948c
5 changed files with 1888 additions and 4 deletions

4
app.py
View File

@ -15,7 +15,7 @@ if not PackageManager.check_package_installed_with_version("ascii_colors", ):
from ascii_colors import ASCIIColors
ASCIIColors.success("OK")
expected_pipmaster_version = "0.1.8"
expected_pipmaster_version = "0.2.2"
ASCIIColors.yellow(f"Checking pipmaster ({expected_pipmaster_version}) ...", end="", flush=True)
if not PackageManager.check_package_installed_with_version("pipmaster", expected_pipmaster_version):
PackageManager.install_or_update("pipmaster")
@ -27,7 +27,7 @@ if not PackageManager.check_package_installed_with_version("lollmsvectordb", exp
PackageManager.install_or_update("lollmsvectordb")
ASCIIColors.success("OK")
expected_freedom_search_version = "0.1.6"
expected_freedom_search_version = "0.1.7"
ASCIIColors.yellow(f"Checking freedom_search ({expected_freedom_search_version}) ...", end="", flush=True)
if not PackageManager.check_package_installed_with_version("freedom_search", expected_freedom_search_version):
PackageManager.install_or_update("freedom-search")

View File

@ -0,0 +1,108 @@
# Information for personality.py
self is of type APScript
### APScript
```python
class APScript:
def __init__(self, personality: AIPersonality, personality_config: TypedConfig, states_list: dict = {}, callback = None) -> None
def sink(self, s = None, i = None, d = None) -> Any
def settings_updated(self) -> Any
def mounted(self) -> Any
def get_welcome(self, welcome_message: str, client: Client) -> Any
def selected(self) -> Any
def execute_command(self, command: str, parameters: list = [], client: Client = None) -> Any
def load_personality_config(self) -> Any
def install(self) -> Any
def uninstall(self) -> Any
def add_file(self, path, client: Client, callback = None, process = True) -> Any
def remove_file(self, path) -> Any
def load_config_file(self, path, default_config = None) -> Any
def save_config_file(self, path, data) -> Any
def generate_with_images(self, prompt, images, max_size = None, temperature = None, top_k = None, top_p = None, repeat_penalty = None, repeat_last_n = None, callback = None, debug = False) -> Any
def generate(self, prompt, max_size = None, temperature = None, top_k = None, top_p = None, repeat_penalty = None, repeat_last_n = None, callback = None, debug = False) -> Any
def run_workflow(self, prompt: str, previous_discussion_text: str = '', callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None, context_details: dict = None, client: Client = None) -> Any
def compile_latex(self, file_path, pdf_latex_path = None) -> Any
def find_numeric_value(self, text) -> Any
def remove_backticks(self, text) -> Any
def search_duckduckgo(self, query: str, max_results: int = 10, instant_answers: bool = True, regular_search_queries: bool = True, get_webpage_content: bool = False) -> List[Dict[(str, Union[str, None])]]
def translate(self, text_chunk, output_language = 'french', max_generation_size = 3000) -> Any
def summarize_text(self, text, summary_instruction = 'summarize', doc_name = 'chunk', answer_start = '', max_generation_size = 3000, max_summary_size = 512, callback = None, chunk_summary_post_processing = None, summary_mode = SUMMARY_MODE.SUMMARY_MODE_SEQUENCIAL) -> Any
def smart_data_extraction(self, text, data_extraction_instruction = 'summarize', final_task_instruction = 'reformulate with better wording', doc_name = 'chunk', answer_start = '', max_generation_size = 3000, max_summary_size = 512, callback = None, chunk_summary_post_processing = None, summary_mode = SUMMARY_MODE.SUMMARY_MODE_SEQUENCIAL) -> Any
def summarize_chunks(self, chunks, summary_instruction = 'summarize', doc_name = 'chunk', answer_start = '', max_generation_size = 3000, callback = None, chunk_summary_post_processing = None, summary_mode = SUMMARY_MODE.SUMMARY_MODE_SEQUENCIAL) -> Any
def sequencial_chunks_summary(self, chunks, summary_instruction = 'summarize', doc_name = 'chunk', answer_start = '', max_generation_size = 3000, callback = None, chunk_summary_post_processing = None) -> Any
def build_prompt_from_context_details(self, context_details: dict, custom_entries = '', suppress = []) -> Any
def build_prompt(self, prompt_parts: List[str], sacrifice_id: int = -1, context_size: int = None, minimum_spare_context_size: int = None) -> Any
def add_collapsible_entry(self, title, content, subtitle = '') -> Any
def internet_search_with_vectorization(self, query, quick_search: bool = False) -> Any
def vectorize_and_query(self, title, url, text, query, max_chunk_size = 512, overlap_size = 20, internet_vectorization_nb_chunks = 3) -> Any
def step_start(self, step_text, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def step_end(self, step_text, status = True, callback: Callable[([str, int, dict, list], bool)] = None) -> Any
def step(self, step_text, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def exception(self, ex, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def warning(self, warning: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def json(self, title: str, json_infos: dict, callback: Callable[([str, int, dict, list], bool)] = None, indent = 4) -> Any
def ui(self, html_ui: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def ui_in_iframe(self, html_ui: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def code(self, code: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def chunk(self, full_text: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def full(self, full_text: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None, msg_type: MSG_TYPE = MSG_TYPE.MSG_TYPE_FULL) -> Any
def full_invisible_to_ai(self, full_text: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def full_invisible_to_user(self, full_text: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def execute_python(self, code, code_folder = None, code_file_name = None) -> Any
def build_python_code(self, prompt, max_title_length = 4096) -> Any
def make_title(self, prompt, max_title_length: int = 50) -> Any
def plan_with_images(self, request: str, images: list, actions_list: list = [LoLLMsAction], context: str = '', max_answer_length: int = 512) -> List[LoLLMsAction]
def plan(self, request: str, actions_list: list = [LoLLMsAction], context: str = '', max_answer_length: int = 512) -> List[LoLLMsAction]
def parse_directory_structure(self, structure) -> Any
def extract_code_blocks(self, text: str) -> List[dict]
def build_and_execute_python_code(self, context, instructions, execution_function_signature, extra_imports = '') -> Any
def yes_no(self, question: str, context: str = '', max_answer_length: int = 50, conditionning = '') -> bool
def multichoice_question(self, question: str, possible_answers: list, context: str = '', max_answer_length: int = 50, conditionning = '') -> int
def multichoice_ranking(self, question: str, possible_answers: list, context: str = '', max_answer_length: int = 50, conditionning = '') -> int
def build_html5_integration(self, html, ifram_name = 'unnamed') -> Any
def InfoMessage(self, content, client_id = None, verbose: bool = None) -> Any
def info(self, info_text: str, callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def step_progress(self, step_text: str, progress: float, callback: Callable[([str, MSG_TYPE, dict, list, AIPersonality], bool)] = None) -> Any
def new_message(self, message_text: str, message_type: MSG_TYPE = MSG_TYPE.MSG_TYPE_FULL, metadata = [], callback: Callable[([str, int, dict, list, AIPersonality], bool)] = None) -> Any
def finished_message(self, message_text: str = '', callback: Callable[([str, MSG_TYPE, dict, list], bool)] = None) -> Any
def print_prompt(self, title, prompt) -> Any
def fast_gen_with_images(self, prompt: str, images: list, max_generation_size: int = None, placeholders: dict = {}, sacrifice: list = ['previous_discussion'], debug: bool = False, callback = None, show_progress = False) -> str
def fast_gen(self, prompt: str, max_generation_size: int = None, placeholders: dict = {}, sacrifice: list = ['previous_discussion'], debug: bool = False, callback = None, show_progress = False) -> str
def mix_it_up(self, prompt: str, models, master_model, nb_rounds = 2, max_generation_size: int = None, placeholders: dict = {}, sacrifice: list = ['previous_discussion'], debug: bool = False, callback = None, show_progress = False) -> dict
def generate_with_function_calls(self, context_details: dict, functions: List[Dict[(str, Any)]], max_answer_length: Optional[int] = None, callback = None) -> List[Dict[(str, Any)]]
def generate_with_function_calls_and_images(self, context_details: dict, images: list, functions: List[Dict[(str, Any)]], max_answer_length: Optional[int] = None, callback = None) -> List[Dict[(str, Any)]]
def execute_function(self, code, function_definitions = None) -> Any
def execute_function_calls(self, function_calls: List[Dict[(str, Any)]], function_definitions: List[Dict[(str, Any)]]) -> List[Any]
def transform_functions_to_text(self, functions) -> Any
def transform_functions(self, functions) -> Any
def _upgrade_prompt_with_function_info(self, context_details: dict, functions: List[Dict[(str, Any)]]) -> str
def extract_function_calls_as_json(self, text: str) -> List[Dict[(str, Any)]]
def interact(self, context_details, callback = None) -> Any
def interact_with_function_call(self, context_details, function_definitions, prompt_after_execution = True, callback = None, hide_function_call = False, separate_output = False, max_nested_function_calls = 10) -> Any
def path2url(file) -> Any
def build_a_document_block(self, title = 'Title', link = '', content = 'content') -> Any
def build_a_folder_link(self, folder_path, link_text = 'Open Folder') -> Any
def build_a_file_link(self, file_path, link_text = 'Open Folder') -> Any
def compress_js(self, code) -> Any
def compress_python(self, code) -> Any
def compress_html(self, code) -> Any
def select_model(self, binding_name, model_name) -> Any
def verify_rag_entry(self, query, rag_entry) -> Any
def start_header_id_template(self) -> str
def end_header_id_template(self) -> str
def system_message_template(self) -> str
def separator_template(self) -> str
def start_user_header_id_template(self) -> str
def end_user_header_id_template(self) -> str
def end_user_message_id_template(self) -> str
def start_ai_header_id_template(self) -> str
def end_ai_header_id_template(self) -> str
def end_ai_message_id_template(self) -> str
def system_full_header(self) -> str
def user_full_header(self) -> str
def ai_full_header(self) -> str
def system_custom_header(self, ai_name) -> str
def ai_custom_header(self, ai_name) -> str
```

File diff suppressed because it is too large Load Diff

@ -1 +1 @@
Subproject commit 8049b42091390277b5996fddf168fb199ea2b851
Subproject commit 9bebf3f132c59dc3f0328d445809121273f794bc

@ -1 +1 @@
Subproject commit c595d82cdaa115cbf74ed0b67bb72fbcb557290b
Subproject commit 76815d5c291eb81673d6705333de978bbe771a1d