gitextract_nm3aplsu/ ├── .coveragerc ├── .github/ │ └── workflows/ │ ├── build.yml │ ├── docs.yml │ └── minimal.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .pylintrc ├── CITATION.cff ├── LICENSE ├── Makefile ├── README.md ├── docker/ │ ├── api/ │ │ └── Dockerfile │ ├── aws/ │ │ ├── Dockerfile │ │ ├── api.py │ │ └── workflow.py │ ├── base/ │ │ └── Dockerfile │ ├── schedule/ │ │ └── Dockerfile │ └── workflow/ │ └── Dockerfile ├── docs/ │ ├── agent/ │ │ ├── configuration.md │ │ ├── index.md │ │ └── methods.md │ ├── api/ │ │ ├── cluster.md │ │ ├── configuration.md │ │ ├── customization.md │ │ ├── index.md │ │ ├── mcp.md │ │ ├── methods.md │ │ ├── openai.md │ │ └── security.md │ ├── cloud.md │ ├── embeddings/ │ │ ├── configuration/ │ │ │ ├── ann.md │ │ │ ├── cloud.md │ │ │ ├── database.md │ │ │ ├── general.md │ │ │ ├── graph.md │ │ │ ├── index.md │ │ │ ├── scoring.md │ │ │ └── vectors.md │ │ ├── format.md │ │ ├── index.md │ │ ├── indexing.md │ │ ├── methods.md │ │ └── query.md │ ├── examples.md │ ├── faq.md │ ├── further.md │ ├── images/ │ │ ├── agent.excalidraw │ │ ├── api.excalidraw │ │ ├── architecture.excalidraw │ │ ├── cloud.excalidraw │ │ ├── embeddings.excalidraw │ │ ├── examples.excalidraw │ │ ├── faq.excalidraw │ │ ├── flows.excalidraw │ │ ├── format.excalidraw │ │ ├── further.excalidraw │ │ ├── indexing.excalidraw │ │ ├── install.excalidraw │ │ ├── llm.excalidraw │ │ ├── models.excalidraw │ │ ├── pipeline.excalidraw │ │ ├── query.excalidraw │ │ ├── rag.excalidraw │ │ ├── schedule.excalidraw │ │ ├── search.excalidraw │ │ ├── task.excalidraw │ │ ├── why.excalidraw │ │ └── workflow.excalidraw │ ├── index.md │ ├── install.md │ ├── models.md │ ├── observability.md │ ├── overrides/ │ │ └── main.html │ ├── pipeline/ │ │ ├── audio/ │ │ │ ├── audiomixer.md │ │ │ ├── audiostream.md │ │ │ ├── microphone.md │ │ │ ├── texttoaudio.md │ │ │ ├── texttospeech.md │ │ │ └── transcription.md │ │ ├── data/ │ │ │ ├── filetohtml.md │ │ │ ├── htmltomd.md │ │ │ ├── segmentation.md │ │ │ ├── tabular.md │ │ │ ├── textractor.md │ │ │ └── tokenizer.md │ │ ├── image/ │ │ │ ├── caption.md │ │ │ ├── imagehash.md │ │ │ └── objects.md │ │ ├── index.md │ │ ├── llm/ │ │ │ ├── llm.md │ │ │ └── rag.md │ │ ├── text/ │ │ │ ├── entity.md │ │ │ ├── labels.md │ │ │ ├── reranker.md │ │ │ ├── similarity.md │ │ │ ├── summary.md │ │ │ └── translation.md │ │ └── train/ │ │ ├── hfonnx.md │ │ ├── mlonnx.md │ │ └── trainer.md │ ├── poweredby.md │ ├── usecases.md │ ├── why.md │ └── workflow/ │ ├── index.md │ ├── schedule.md │ └── task/ │ ├── console.md │ ├── export.md │ ├── file.md │ ├── image.md │ ├── index.md │ ├── retrieve.md │ ├── service.md │ ├── storage.md │ ├── template.md │ ├── url.md │ └── workflow.md ├── examples/ │ ├── 01_Introducing_txtai.ipynb │ ├── 02_Build_an_Embeddings_index_with_Hugging_Face_Datasets.ipynb │ ├── 03_Build_an_Embeddings_index_from_a_data_source.ipynb │ ├── 04_Add_semantic_search_to_Elasticsearch.ipynb │ ├── 05_Extractive_QA_with_txtai.ipynb │ ├── 06_Extractive_QA_with_Elasticsearch.ipynb │ ├── 07_Apply_labels_with_zero_shot_classification.ipynb │ ├── 08_API_Gallery.ipynb │ ├── 09_Building_abstractive_text_summaries.ipynb │ ├── 10_Extract_text_from_documents.ipynb │ ├── 11_Transcribe_audio_to_text.ipynb │ ├── 12_Translate_text_between_languages.ipynb │ ├── 13_Similarity_search_with_images.ipynb │ ├── 14_Run_pipeline_workflows.ipynb │ ├── 15_Distributed_embeddings_cluster.ipynb │ ├── 16_Train_a_text_labeler.ipynb │ ├── 17_Train_without_labels.ipynb │ ├── 18_Export_and_run_models_with_ONNX.ipynb │ ├── 19_Train_a_QA_model.ipynb │ ├── 20_Extractive_QA_to_build_structured_data.ipynb │ ├── 21_Export_and_run_other_machine_learning_models.ipynb │ ├── 22_Transform_tabular_data_with_composable_workflows.ipynb │ ├── 23_Tensor_workflows.ipynb │ ├── 24_Whats_new_in_txtai_4_0.ipynb │ ├── 25_Generate_image_captions_and_detect_objects.ipynb │ ├── 26_Entity_extraction_workflows.ipynb │ ├── 27_Workflow_scheduling.ipynb │ ├── 28_Push_notifications_with_workflows.ipynb │ ├── 29_Anatomy_of_a_txtai_index.ipynb │ ├── 30_Embeddings_SQL_custom_functions.ipynb │ ├── 31_Near_duplicate_image_detection.ipynb │ ├── 32_Model_explainability.ipynb │ ├── 33_Query_translation.ipynb │ ├── 34_Build_a_QA_database.ipynb │ ├── 35_Pictures_are_worth_a_thousand_words.ipynb │ ├── 36_Run_txtai_in_native_code.ipynb │ ├── 37_Embeddings_index_components.ipynb │ ├── 38_Introducing_the_Semantic_Graph.ipynb │ ├── 39_Classic_Topic_Modeling_with_BM25.ipynb │ ├── 40_Text_to_Speech_Generation.ipynb │ ├── 41_Train_a_language_model_from_scratch.ipynb │ ├── 42_Prompt_driven_search_with_LLMs.ipynb │ ├── 43_Embeddings_in_the_Cloud.ipynb │ ├── 44_Prompt_templates_and_task_chains.ipynb │ ├── 45_Customize_your_own_embeddings_database.ipynb │ ├── 46_Whats_new_in_txtai_6_0.ipynb │ ├── 47_Building_an_efficient_sparse_keyword_index_in_Python.ipynb │ ├── 48_Benefits_of_hybrid_search.ipynb │ ├── 49_External_database_integration.ipynb │ ├── 50_All_about_vector_quantization.ipynb │ ├── 51_Custom_API_Endpoints.ipynb │ ├── 52_Build_RAG_pipelines_with_txtai.ipynb │ ├── 53_Integrate_LLM_Frameworks.ipynb │ ├── 54_API_Authorization_and_Authentication.ipynb │ ├── 55_Generate_knowledge_with_Semantic_Graphs_and_RAG.ipynb │ ├── 56_External_vectorization.ipynb │ ├── 57_Build_knowledge_graphs_with_LLM_driven_entity_extraction.ipynb │ ├── 58_Advanced_RAG_with_graph_path_traversal.ipynb │ ├── 59_Whats_new_in_txtai_7_0.ipynb │ ├── 60_Advanced_RAG_with_guided_generation.ipynb │ ├── 61_Integrate_txtai_with_Postgres.ipynb │ ├── 62_RAG_with_llama_cpp_and_external_API_services.ipynb │ ├── 63_How_RAG_with_txtai_works.ipynb │ ├── 64_Embeddings_index_format_for_open_data_access.ipynb │ ├── 65_Speech_to_Speech_RAG.ipynb │ ├── 66_Generative_Audio.ipynb │ ├── 67_Whats_new_in_txtai_8_0.ipynb │ ├── 68_Analyzing_Hugging_Face_Posts_with_Graphs_and_Agents.ipynb │ ├── 69_Granting_autonomy_to_agents.ipynb │ ├── 70_Getting_started_with_LLM_APIs.ipynb │ ├── 71_Analyzing_LinkedIn_Company_Posts_with_Graphs_and_Agents.ipynb │ ├── 72_Parsing_the_stars_with_txtai.ipynb │ ├── 73_Chunking_your_data_for_RAG.ipynb │ ├── 74_OpenAI_Compatible_API.ipynb │ ├── 75_Medical_RAG_Research_with_txtai.ipynb │ ├── 76_Whats_new_in_txtai_9_0.ipynb │ ├── 77_GraphRAG_with_Wikipedia_and_GPT_OSS.ipynb │ ├── 78_Accessing_Low_Level_Vector_APIs.ipynb │ ├── 79_RAG_is_more_than_Vector_Search.ipynb │ ├── 80_Distilling_Knowledge_into_Tiny_LLMs.ipynb │ ├── 81_OpenCode_as_a_txtai_LLM.ipynb │ ├── 82_Agentic_College_Search.ipynb │ ├── 83_TxtAI_got_skills.ipynb │ ├── 84_Agent_Tools.ipynb │ ├── agent_quickstart.py │ ├── article.py │ ├── baseball.py │ ├── benchmarks.py │ ├── books.py │ ├── images.py │ ├── rag_quickstart.py │ ├── similarity.py │ ├── wiki.py │ ├── workflow_quickstart.py │ └── workflows.py ├── mkdocs.yml ├── pyproject.toml ├── setup.py ├── src/ │ └── python/ │ └── txtai/ │ ├── __init__.py │ ├── agent/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── factory.py │ │ ├── model.py │ │ ├── placeholder.py │ │ └── tool/ │ │ ├── __init__.py │ │ ├── bash.py │ │ ├── edit.py │ │ ├── embeddings.py │ │ ├── factory.py │ │ ├── function.py │ │ ├── glob.py │ │ ├── grep.py │ │ ├── read.py │ │ ├── skill.py │ │ ├── todo.py │ │ └── write.py │ ├── ann/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── dense/ │ │ │ ├── __init__.py │ │ │ ├── annoy.py │ │ │ ├── factory.py │ │ │ ├── faiss.py │ │ │ ├── ggml.py │ │ │ ├── hnsw.py │ │ │ ├── numpy.py │ │ │ ├── pgvector.py │ │ │ ├── sqlite.py │ │ │ └── torch.py │ │ └── sparse/ │ │ ├── __init__.py │ │ ├── factory.py │ │ ├── ivfsparse.py │ │ └── pgsparse.py │ ├── api/ │ │ ├── __init__.py │ │ ├── application.py │ │ ├── authorization.py │ │ ├── base.py │ │ ├── cluster.py │ │ ├── extension.py │ │ ├── factory.py │ │ ├── responses/ │ │ │ ├── __init__.py │ │ │ ├── factory.py │ │ │ ├── json.py │ │ │ └── messagepack.py │ │ ├── route.py │ │ └── routers/ │ │ ├── __init__.py │ │ ├── agent.py │ │ ├── caption.py │ │ ├── embeddings.py │ │ ├── entity.py │ │ ├── extractor.py │ │ ├── labels.py │ │ ├── llm.py │ │ ├── objects.py │ │ ├── openai.py │ │ ├── rag.py │ │ ├── reranker.py │ │ ├── segmentation.py │ │ ├── similarity.py │ │ ├── summary.py │ │ ├── tabular.py │ │ ├── textractor.py │ │ ├── texttospeech.py │ │ ├── transcription.py │ │ ├── translation.py │ │ ├── upload.py │ │ └── workflow.py │ ├── app/ │ │ ├── __init__.py │ │ └── base.py │ ├── archive/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── compress.py │ │ ├── factory.py │ │ ├── tar.py │ │ └── zip.py │ ├── cloud/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── factory.py │ │ ├── hub.py │ │ └── storage.py │ ├── console/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ └── base.py │ ├── data/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── labels.py │ │ ├── questions.py │ │ ├── sequences.py │ │ ├── texts.py │ │ └── tokens.py │ ├── database/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── client.py │ │ ├── duckdb.py │ │ ├── embedded.py │ │ ├── encoder/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── factory.py │ │ │ ├── image.py │ │ │ └── serialize.py │ │ ├── factory.py │ │ ├── rdbms.py │ │ ├── schema/ │ │ │ ├── __init__.py │ │ │ ├── orm.py │ │ │ └── statement.py │ │ ├── sql/ │ │ │ ├── __init__.py │ │ │ ├── aggregate.py │ │ │ ├── base.py │ │ │ ├── expression.py │ │ │ └── token.py │ │ └── sqlite.py │ ├── embeddings/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── index/ │ │ │ ├── __init__.py │ │ │ ├── action.py │ │ │ ├── autoid.py │ │ │ ├── configuration.py │ │ │ ├── documents.py │ │ │ ├── functions.py │ │ │ ├── indexes.py │ │ │ ├── indexids.py │ │ │ ├── reducer.py │ │ │ ├── stream.py │ │ │ └── transform.py │ │ └── search/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── errors.py │ │ ├── explain.py │ │ ├── hybrid.py │ │ ├── ids.py │ │ ├── query.py │ │ ├── scan.py │ │ └── terms.py │ ├── graph/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── factory.py │ │ ├── networkx.py │ │ ├── query.py │ │ ├── rdbms.py │ │ └── topics.py │ ├── models/ │ │ ├── __init__.py │ │ ├── models.py │ │ ├── onnx.py │ │ ├── pooling/ │ │ │ ├── __init__.py │ │ │ ├── base.py │ │ │ ├── cls.py │ │ │ ├── factory.py │ │ │ ├── late.py │ │ │ ├── mean.py │ │ │ └── muvera.py │ │ ├── registry.py │ │ └── tokendetection.py │ ├── pipeline/ │ │ ├── __init__.py │ │ ├── audio/ │ │ │ ├── __init__.py │ │ │ ├── audiomixer.py │ │ │ ├── audiostream.py │ │ │ ├── microphone.py │ │ │ ├── signal.py │ │ │ ├── texttoaudio.py │ │ │ ├── texttospeech.py │ │ │ └── transcription.py │ │ ├── base.py │ │ ├── data/ │ │ │ ├── __init__.py │ │ │ ├── filetohtml.py │ │ │ ├── htmltomd.py │ │ │ ├── segmentation.py │ │ │ ├── tabular.py │ │ │ ├── textractor.py │ │ │ └── tokenizer.py │ │ ├── factory.py │ │ ├── hfmodel.py │ │ ├── hfpipeline.py │ │ ├── image/ │ │ │ ├── __init__.py │ │ │ ├── caption.py │ │ │ ├── imagehash.py │ │ │ └── objects.py │ │ ├── llm/ │ │ │ ├── __init__.py │ │ │ ├── factory.py │ │ │ ├── generation.py │ │ │ ├── huggingface.py │ │ │ ├── litellm.py │ │ │ ├── llama.py │ │ │ ├── llm.py │ │ │ ├── opencode.py │ │ │ └── rag.py │ │ ├── nop.py │ │ ├── tensors.py │ │ ├── text/ │ │ │ ├── __init__.py │ │ │ ├── crossencoder.py │ │ │ ├── entity.py │ │ │ ├── labels.py │ │ │ ├── lateencoder.py │ │ │ ├── questions.py │ │ │ ├── reranker.py │ │ │ ├── similarity.py │ │ │ ├── summary.py │ │ │ └── translation.py │ │ └── train/ │ │ ├── __init__.py │ │ ├── hfonnx.py │ │ ├── hftrainer.py │ │ └── mlonnx.py │ ├── scoring/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── bm25.py │ │ ├── factory.py │ │ ├── normalize.py │ │ ├── pgtext.py │ │ ├── sif.py │ │ ├── sparse.py │ │ ├── terms.py │ │ └── tfidf.py │ ├── serialize/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── errors.py │ │ ├── factory.py │ │ ├── messagepack.py │ │ ├── pickle.py │ │ └── serializer.py │ ├── util/ │ │ ├── __init__.py │ │ ├── resolver.py │ │ ├── sparsearray.py │ │ └── template.py │ ├── vectors/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── dense/ │ │ │ ├── __init__.py │ │ │ ├── external.py │ │ │ ├── factory.py │ │ │ ├── huggingface.py │ │ │ ├── litellm.py │ │ │ ├── llama.py │ │ │ ├── m2v.py │ │ │ ├── sbert.py │ │ │ └── words.py │ │ ├── recovery.py │ │ └── sparse/ │ │ ├── __init__.py │ │ ├── base.py │ │ ├── factory.py │ │ └── sbert.py │ ├── version.py │ └── workflow/ │ ├── __init__.py │ ├── base.py │ ├── execute.py │ ├── factory.py │ └── task/ │ ├── __init__.py │ ├── base.py │ ├── console.py │ ├── export.py │ ├── factory.py │ ├── file.py │ ├── image.py │ ├── retrieve.py │ ├── service.py │ ├── storage.py │ ├── stream.py │ ├── template.py │ ├── url.py │ └── workflow.py └── test/ └── python/ ├── testagent.py ├── testann/ │ ├── __init__.py │ ├── testdense.py │ └── testsparse.py ├── testapi/ │ ├── __init__.py │ ├── testapiagent.py │ ├── testapiembeddings.py │ ├── testapipipeline.py │ ├── testapiworkflow.py │ ├── testauthorization.py │ ├── testcluster.py │ ├── testencoding.py │ ├── testextension.py │ ├── testmcp.py │ └── testopenai.py ├── testapp.py ├── testarchive.py ├── testcloud.py ├── testconsole.py ├── testdatabase/ │ ├── __init__.py │ ├── testclient.py │ ├── testcustom.py │ ├── testdatabase.py │ ├── testduckdb.py │ ├── testencoder.py │ ├── testrdbms.py │ ├── testsql.py │ └── testsqlite.py ├── testembeddings.py ├── testgraph.py ├── testmodels/ │ ├── __init__.py │ ├── testmodels.py │ └── testpooling.py ├── testoptional.py ├── testpipeline/ │ ├── __init__.py │ ├── testaudio/ │ │ ├── __init__.py │ │ ├── testaudiomixer.py │ │ ├── testaudiostream.py │ │ ├── testmicrophone.py │ │ ├── testtexttoaudio.py │ │ ├── testtexttospeech.py │ │ └── testtranscription.py │ ├── testdata/ │ │ ├── __init__.py │ │ ├── testfiletohtml.py │ │ ├── testtabular.py │ │ ├── testtextractor.py │ │ └── testtokenizer.py │ ├── testimage/ │ │ ├── __init__.py │ │ ├── testcaption.py │ │ ├── testimagehash.py │ │ └── testobjects.py │ ├── testllm/ │ │ ├── __init__.py │ │ ├── testgenerator.py │ │ ├── testlitellm.py │ │ ├── testllama.py │ │ ├── testllm.py │ │ ├── testopencode.py │ │ ├── testrag.py │ │ └── testsequences.py │ ├── testtext/ │ │ ├── __init__.py │ │ ├── testentity.py │ │ ├── testlabels.py │ │ ├── testreranker.py │ │ ├── testsimilarity.py │ │ ├── testsummary.py │ │ └── testtranslation.py │ └── testtrain/ │ ├── __init__.py │ ├── testonnx.py │ ├── testquantization.py │ └── testtrainer.py ├── testscoring/ │ ├── __init__.py │ ├── testkeyword.py │ └── testsparse.py ├── testserialize.py ├── testvectors/ │ ├── __init__.py │ ├── testdense/ │ │ ├── __init__.py │ │ ├── testcustom.py │ │ ├── testexternal.py │ │ ├── testhuggingface.py │ │ ├── testlitellm.py │ │ ├── testllama.py │ │ ├── testm2v.py │ │ ├── testsbert.py │ │ ├── testvectors.py │ │ └── testwordvectors.py │ └── testsparse/ │ ├── __init__.py │ ├── testsbert.py │ └── testvectors.py ├── testworkflow.py └── utils.py