ai-parrot 0.15.16__cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.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.
Potentially problematic release.
This version of ai-parrot might be problematic. Click here for more details.
- ai_parrot-0.15.16.dist-info/METADATA +447 -0
- ai_parrot-0.15.16.dist-info/RECORD +417 -0
- ai_parrot-0.15.16.dist-info/WHEEL +7 -0
- ai_parrot-0.15.16.dist-info/licenses/LICENSE +21 -0
- ai_parrot-0.15.16.dist-info/top_level.txt +6 -0
- crew-builder/.prettierrc +15 -0
- crew-builder/QUICKSTART.md +259 -0
- crew-builder/README.md +113 -0
- crew-builder/env.example +17 -0
- crew-builder/jsconfig.json +14 -0
- crew-builder/package-lock.json +4242 -0
- crew-builder/package.json +37 -0
- crew-builder/scripts/postinstall/apply-patches.mjs +260 -0
- crew-builder/src/app.css +18 -0
- crew-builder/src/app.d.ts +13 -0
- crew-builder/src/app.html +12 -0
- crew-builder/src/components/LoadingSpinner.svelte +64 -0
- crew-builder/src/components/ThemeSwitcher.svelte +149 -0
- crew-builder/src/components/index.js +7 -0
- crew-builder/src/lib/api/client.ts +56 -0
- crew-builder/src/lib/api/crew/crew.ts +136 -0
- crew-builder/src/lib/api/index.ts +3 -0
- crew-builder/src/lib/api/o365/auth.ts +65 -0
- crew-builder/src/lib/auth/auth.ts +54 -0
- crew-builder/src/lib/components/AgentNode.svelte +43 -0
- crew-builder/src/lib/components/ConfigPanel.svelte +278 -0
- crew-builder/src/lib/components/JsonTreeNode.svelte +76 -0
- crew-builder/src/lib/components/JsonViewer.svelte +24 -0
- crew-builder/src/lib/components/MarkdownEditor.svelte +48 -0
- crew-builder/src/lib/components/ThemeToggle.svelte +36 -0
- crew-builder/src/lib/components/Toast.svelte +67 -0
- crew-builder/src/lib/components/Toolbar.svelte +157 -0
- crew-builder/src/lib/components/index.ts +10 -0
- crew-builder/src/lib/stores/auth.svelte.ts +158 -0
- crew-builder/src/lib/stores/crewStore.ts +369 -0
- crew-builder/src/lib/stores/theme.svelte.js +145 -0
- crew-builder/src/lib/stores/toast.svelte.ts +69 -0
- crew-builder/src/lib/utils/markdown.ts +122 -0
- crew-builder/src/routes/+layout.svelte +20 -0
- crew-builder/src/routes/+page.svelte +510 -0
- crew-builder/src/routes/builder/+page.svelte +204 -0
- crew-builder/src/routes/crew/ask/+page.svelte +1052 -0
- crew-builder/src/routes/crew/ask/+page.ts +1 -0
- crew-builder/src/routes/integrations/o365/+page.svelte +304 -0
- crew-builder/src/routes/login/+page.svelte +197 -0
- crew-builder/static/README.md +1 -0
- crew-builder/svelte.config.js +11 -0
- crew-builder/tailwind.config.ts +53 -0
- crew-builder/tsconfig.json +3 -0
- crew-builder/vite.config.ts +10 -0
- mcp_servers/calculator_server.py +309 -0
- parrot/__init__.py +39 -0
- parrot/__pycache__/__init__.cpython-310.pyc +0 -0
- parrot/__pycache__/__init__.cpython-311.pyc +0 -0
- parrot/__pycache__/version.cpython-310.pyc +0 -0
- parrot/__pycache__/version.cpython-311.pyc +0 -0
- parrot/_version.py +34 -0
- parrot/agents/__init__.py +28 -0
- parrot/bots/__init__.py +13 -0
- parrot/bots/abstract.py +2851 -0
- parrot/bots/agent.py +1040 -0
- parrot/bots/basic.py +9 -0
- parrot/bots/chatbot.py +669 -0
- parrot/bots/data.py +963 -0
- parrot/bots/database/__init__.py +5 -0
- parrot/bots/database/abstract.py +3065 -0
- parrot/bots/database/cache.py +286 -0
- parrot/bots/database/models.py +468 -0
- parrot/bots/database/prompts.py +154 -0
- parrot/bots/database/retries.py +98 -0
- parrot/bots/database/router.py +271 -0
- parrot/bots/database/sql.py +42 -0
- parrot/bots/database/tools.py +389 -0
- parrot/bots/db/__init__.py +4 -0
- parrot/bots/db/abstract.py +493 -0
- parrot/bots/db/cache.py +85 -0
- parrot/bots/db/elastic.py +1014 -0
- parrot/bots/db/influx.py +898 -0
- parrot/bots/db/mock.py +96 -0
- parrot/bots/db/multi.py +783 -0
- parrot/bots/db/prompts.py +183 -0
- parrot/bots/db/sql.py +1087 -0
- parrot/bots/db/tools.py +169 -0
- parrot/bots/document.py +680 -0
- parrot/bots/hrbot.py +15 -0
- parrot/bots/kb.py +161 -0
- parrot/bots/mcp.py +36 -0
- parrot/bots/orchestration/README.md +463 -0
- parrot/bots/orchestration/__init__.py +1 -0
- parrot/bots/orchestration/agent.py +127 -0
- parrot/bots/orchestration/crew.py +3329 -0
- parrot/bots/orchestration/fsm.py +1179 -0
- parrot/bots/orchestration/hr.py +434 -0
- parrot/bots/orchestration/storage/__init__.py +4 -0
- parrot/bots/orchestration/storage/memory.py +100 -0
- parrot/bots/orchestration/storage/mixin.py +120 -0
- parrot/bots/orchestration/verify.py +202 -0
- parrot/bots/product.py +204 -0
- parrot/bots/prompts/__init__.py +91 -0
- parrot/bots/prompts/agents.py +150 -0
- parrot/bots/prompts/data.py +216 -0
- parrot/bots/prompts/output_generation.py +40 -0
- parrot/bots/scraper/__init__.py +3 -0
- parrot/bots/scraper/models.py +122 -0
- parrot/bots/scraper/scraper.py +1173 -0
- parrot/bots/scraper/templates.py +115 -0
- parrot/bots/webdev.py +81 -0
- parrot/clients/__init__.py +42 -0
- parrot/clients/base.py +1356 -0
- parrot/clients/claude.py +1090 -0
- parrot/clients/google.py +4097 -0
- parrot/clients/gpt.py +1832 -0
- parrot/clients/groq.py +916 -0
- parrot/clients/hf.py +586 -0
- parrot/clients/vertex.py +862 -0
- parrot/conf.py +290 -0
- parrot/embeddings/__init__.py +5 -0
- parrot/embeddings/base.py +143 -0
- parrot/embeddings/google.py +52 -0
- parrot/embeddings/huggingface.py +67 -0
- parrot/embeddings/processor.py +88 -0
- parrot/exceptions.c +13868 -0
- parrot/exceptions.cpython-311-x86_64-linux-gnu.so +0 -0
- parrot/exceptions.pxd +22 -0
- parrot/exceptions.pxi +15 -0
- parrot/exceptions.pyx +44 -0
- parrot/generators/__init__.py +29 -0
- parrot/generators/base.py +200 -0
- parrot/generators/html.py +293 -0
- parrot/generators/react.py +205 -0
- parrot/generators/streamlit.py +203 -0
- parrot/generators/template.py +105 -0
- parrot/handlers/__init__.py +4 -0
- parrot/handlers/agent.py +798 -0
- parrot/handlers/agents/__init__.py +1 -0
- parrot/handlers/agents/abstract.py +900 -0
- parrot/handlers/agents/manager.py +296 -0
- parrot/handlers/bots.py +338 -0
- parrot/handlers/chat.py +914 -0
- parrot/handlers/creation.sql +192 -0
- parrot/handlers/crew/ARCHITECTURE.md +362 -0
- parrot/handlers/crew/__init__.py +0 -0
- parrot/handlers/crew/handler.py +801 -0
- parrot/handlers/crew/models.py +229 -0
- parrot/handlers/jobs/__init__.py +10 -0
- parrot/handlers/jobs/job.py +384 -0
- parrot/handlers/jobs/mixin.py +627 -0
- parrot/handlers/jobs/models.py +115 -0
- parrot/handlers/jobs/worker.py +31 -0
- parrot/handlers/models.py +596 -0
- parrot/handlers/o365_auth.py +105 -0
- parrot/handlers/stream.py +261 -0
- parrot/interfaces/__init__.py +6 -0
- parrot/interfaces/credentials.py +113 -0
- parrot/interfaces/database.py +27 -0
- parrot/interfaces/google.py +1121 -0
- parrot/interfaces/hierarchy.py +507 -0
- parrot/interfaces/http.py +651 -0
- parrot/interfaces/images/__init__.py +0 -0
- parrot/interfaces/images/plugins/__init__.py +24 -0
- parrot/interfaces/images/plugins/abstract.py +58 -0
- parrot/interfaces/images/plugins/analisys.py +148 -0
- parrot/interfaces/images/plugins/classify.py +150 -0
- parrot/interfaces/images/plugins/classifybase.py +182 -0
- parrot/interfaces/images/plugins/detect.py +150 -0
- parrot/interfaces/images/plugins/exif.py +1103 -0
- parrot/interfaces/images/plugins/hash.py +52 -0
- parrot/interfaces/images/plugins/vision.py +104 -0
- parrot/interfaces/images/plugins/yolo.py +66 -0
- parrot/interfaces/images/plugins/zerodetect.py +197 -0
- parrot/interfaces/o365.py +978 -0
- parrot/interfaces/onedrive.py +822 -0
- parrot/interfaces/sharepoint.py +1435 -0
- parrot/interfaces/soap.py +257 -0
- parrot/loaders/__init__.py +57 -0
- parrot/loaders/abstract.py +1120 -0
- parrot/loaders/audio.py +199 -0
- parrot/loaders/basepdf.py +53 -0
- parrot/loaders/basevideo.py +1454 -0
- parrot/loaders/csv.py +409 -0
- parrot/loaders/docx.py +116 -0
- parrot/loaders/epubloader.py +316 -0
- parrot/loaders/excel.py +199 -0
- parrot/loaders/files/__init__.py +0 -0
- parrot/loaders/files/abstract.py +39 -0
- parrot/loaders/files/html.py +26 -0
- parrot/loaders/files/text.py +63 -0
- parrot/loaders/html.py +152 -0
- parrot/loaders/markdown.py +442 -0
- parrot/loaders/pdf.py +373 -0
- parrot/loaders/pdfmark.py +320 -0
- parrot/loaders/pdftables.py +506 -0
- parrot/loaders/ppt.py +476 -0
- parrot/loaders/qa.py +63 -0
- parrot/loaders/splitters/__init__.py +10 -0
- parrot/loaders/splitters/base.py +140 -0
- parrot/loaders/splitters/md.py +228 -0
- parrot/loaders/splitters/token.py +143 -0
- parrot/loaders/txt.py +26 -0
- parrot/loaders/video.py +89 -0
- parrot/loaders/videolocal.py +218 -0
- parrot/loaders/videounderstanding.py +377 -0
- parrot/loaders/vimeo.py +167 -0
- parrot/loaders/web.py +599 -0
- parrot/loaders/youtube.py +504 -0
- parrot/manager/__init__.py +5 -0
- parrot/manager/manager.py +639 -0
- parrot/mcp/__init__.py +21 -0
- parrot/mcp/integration.py +962 -0
- parrot/mcp/oauth.py +242 -0
- parrot/mcp/server.py +575 -0
- parrot/memory/__init__.py +14 -0
- parrot/memory/abstract.py +209 -0
- parrot/memory/cache.py +175 -0
- parrot/memory/core.py +555 -0
- parrot/memory/file.py +153 -0
- parrot/memory/mem.py +131 -0
- parrot/memory/redis.py +613 -0
- parrot/models/__init__.py +46 -0
- parrot/models/basic.py +94 -0
- parrot/models/compliance.py +208 -0
- parrot/models/crew.py +395 -0
- parrot/models/detections.py +654 -0
- parrot/models/generation.py +85 -0
- parrot/models/google.py +222 -0
- parrot/models/groq.py +24 -0
- parrot/models/openai.py +30 -0
- parrot/models/outputs.py +275 -0
- parrot/models/responses.py +871 -0
- parrot/notifications/__init__.py +743 -0
- parrot/openapi/__init__.py +3 -0
- parrot/openapi/components.yaml +641 -0
- parrot/openapi/config.py +322 -0
- parrot/outputs/__init__.py +32 -0
- parrot/outputs/formats/__init__.py +60 -0
- parrot/outputs/formats/altair.py +119 -0
- parrot/outputs/formats/base.py +330 -0
- parrot/outputs/formats/charts.py +158 -0
- parrot/outputs/formats/html.py +572 -0
- parrot/outputs/formats/jinja2.py +46 -0
- parrot/outputs/formats/json.py +38 -0
- parrot/outputs/formats/map.py +102 -0
- parrot/outputs/formats/markdown.py +261 -0
- parrot/outputs/formats/template_report.py +143 -0
- parrot/outputs/formats/terminal.py +98 -0
- parrot/outputs/formats/yaml.py +61 -0
- parrot/outputs/formatter.py +121 -0
- parrot/outputs/renderer.py +236 -0
- parrot/outputs/templates/__init__.py +95 -0
- parrot/pipelines/__init__.py +0 -0
- parrot/pipelines/abstract.py +210 -0
- parrot/pipelines/detector.py +124 -0
- parrot/pipelines/models.py +90 -0
- parrot/pipelines/planogram.py +3002 -0
- parrot/pipelines/table.sql +97 -0
- parrot/plugins/__init__.py +94 -0
- parrot/plugins/importer.py +79 -0
- parrot/py.typed +0 -0
- parrot/registry/__init__.py +17 -0
- parrot/registry/registry.py +545 -0
- parrot/scheduler/__init__.py +1189 -0
- parrot/scheduler/models.py +60 -0
- parrot/security/__init__.py +16 -0
- parrot/security/prompt_injection.py +268 -0
- parrot/security/security_events.sql +25 -0
- parrot/services/__init__.py +1 -0
- parrot/services/o365_remote_auth.py +235 -0
- parrot/stores/__init__.py +7 -0
- parrot/stores/abstract.py +352 -0
- parrot/stores/arango.py +1090 -0
- parrot/stores/bigquery.py +1377 -0
- parrot/stores/cache.py +106 -0
- parrot/stores/empty.py +10 -0
- parrot/stores/faiss_store.py +1042 -0
- parrot/stores/kb/__init__.py +7 -0
- parrot/stores/kb/abstract.py +62 -0
- parrot/stores/kb/cache.py +165 -0
- parrot/stores/kb/doc.py +325 -0
- parrot/stores/kb/prompt.py +28 -0
- parrot/stores/kb/redis.py +659 -0
- parrot/stores/kb/store.py +111 -0
- parrot/stores/kb/user.py +374 -0
- parrot/stores/models.py +37 -0
- parrot/stores/pgvector.py +3 -0
- parrot/stores/postgres.py +2853 -0
- parrot/stores/utils/__init__.py +0 -0
- parrot/stores/utils/chunking.py +197 -0
- parrot/telemetry/__init__.py +3 -0
- parrot/telemetry/mixin.py +111 -0
- parrot/template/__init__.py +3 -0
- parrot/template/engine.py +259 -0
- parrot/tools/__init__.py +38 -0
- parrot/tools/abstract.py +559 -0
- parrot/tools/agent.py +363 -0
- parrot/tools/arangodbsearch.py +537 -0
- parrot/tools/arxiv_tool.py +188 -0
- parrot/tools/calculator/__init__.py +3 -0
- parrot/tools/calculator/operations/__init__.py +38 -0
- parrot/tools/calculator/operations/calculus.py +80 -0
- parrot/tools/calculator/operations/statistics.py +76 -0
- parrot/tools/calculator/tool.py +150 -0
- parrot/tools/codeinterpreter/__init__.py +127 -0
- parrot/tools/codeinterpreter/executor.py +371 -0
- parrot/tools/codeinterpreter/internals.py +473 -0
- parrot/tools/codeinterpreter/models.py +643 -0
- parrot/tools/codeinterpreter/prompts.py +224 -0
- parrot/tools/codeinterpreter/tool.py +664 -0
- parrot/tools/company_info/__init__.py +6 -0
- parrot/tools/company_info/tool.py +1138 -0
- parrot/tools/correlationanalysis.py +437 -0
- parrot/tools/databasequery.py +938 -0
- parrot/tools/db.py +758 -0
- parrot/tools/ddgo.py +370 -0
- parrot/tools/decorators.py +270 -0
- parrot/tools/dftohtml.py +282 -0
- parrot/tools/document.py +549 -0
- parrot/tools/edareport.py +368 -0
- parrot/tools/epson/__init__.py +96 -0
- parrot/tools/excel.py +683 -0
- parrot/tools/file/__init__.py +13 -0
- parrot/tools/file/abstract.py +76 -0
- parrot/tools/file/gcs.py +378 -0
- parrot/tools/file/local.py +284 -0
- parrot/tools/file/s3.py +511 -0
- parrot/tools/file/tmp.py +309 -0
- parrot/tools/file/tool.py +501 -0
- parrot/tools/file_reader.py +129 -0
- parrot/tools/flowtask/__init__.py +1 -0
- parrot/tools/flowtask/component.py +370 -0
- parrot/tools/gittoolkit.py +508 -0
- parrot/tools/google/__init__.py +18 -0
- parrot/tools/google/base.py +169 -0
- parrot/tools/google/tools.py +1251 -0
- parrot/tools/googlelocation.py +5 -0
- parrot/tools/googleroutes.py +5 -0
- parrot/tools/googlesearch.py +5 -0
- parrot/tools/googlesitesearch.py +5 -0
- parrot/tools/googlevoice.py +2 -0
- parrot/tools/gvoice.py +695 -0
- parrot/tools/ibisworld/README.md +225 -0
- parrot/tools/ibisworld/__init__.py +11 -0
- parrot/tools/ibisworld/tool.py +366 -0
- parrot/tools/jiratoolkit.py +604 -0
- parrot/tools/manager.py +908 -0
- parrot/tools/math.py +152 -0
- parrot/tools/msteams.py +1621 -0
- parrot/tools/msword.py +635 -0
- parrot/tools/multidb.py +580 -0
- parrot/tools/networkninja.py +167 -0
- parrot/tools/nextstop/__init__.py +4 -0
- parrot/tools/nextstop/base.py +286 -0
- parrot/tools/nextstop/employee.py +733 -0
- parrot/tools/nextstop/store.py +462 -0
- parrot/tools/notification.py +435 -0
- parrot/tools/o365/__init__.py +42 -0
- parrot/tools/o365/base.py +295 -0
- parrot/tools/o365/bundle.py +522 -0
- parrot/tools/o365/events.py +554 -0
- parrot/tools/o365/mail.py +992 -0
- parrot/tools/o365/onedrive.py +497 -0
- parrot/tools/o365/sharepoint.py +641 -0
- parrot/tools/openapi_toolkit.py +783 -0
- parrot/tools/openweather.py +527 -0
- parrot/tools/pdfprint.py +1001 -0
- parrot/tools/powerbi.py +534 -0
- parrot/tools/powerpoint.py +1113 -0
- parrot/tools/products/__init__.py +246 -0
- parrot/tools/pythonpandas.py +555 -0
- parrot/tools/pythonrepl.py +898 -0
- parrot/tools/qsource.py +432 -0
- parrot/tools/querytoolkit.py +395 -0
- parrot/tools/quickeda.py +827 -0
- parrot/tools/resttool.py +553 -0
- parrot/tools/retail/__init__.py +0 -0
- parrot/tools/retail/bby.py +528 -0
- parrot/tools/sassie/__init__.py +352 -0
- parrot/tools/scraping/__init__.py +7 -0
- parrot/tools/scraping/docs/select.md +466 -0
- parrot/tools/scraping/documentation.md +1193 -0
- parrot/tools/scraping/driver.py +436 -0
- parrot/tools/scraping/models.py +576 -0
- parrot/tools/scraping/options.py +85 -0
- parrot/tools/scraping/orchestrator.py +517 -0
- parrot/tools/scraping/readme.md +740 -0
- parrot/tools/scraping/tool.py +3079 -0
- parrot/tools/seasonaldetection.py +642 -0
- parrot/tools/shell_tool/__init__.py +5 -0
- parrot/tools/shell_tool/actions.py +408 -0
- parrot/tools/shell_tool/engine.py +155 -0
- parrot/tools/shell_tool/models.py +322 -0
- parrot/tools/shell_tool/tool.py +442 -0
- parrot/tools/textfile.py +59 -0
- parrot/tools/toolkit.py +277 -0
- parrot/tools/webapp_tool.py +187 -0
- parrot/tools/workday/__init__.py +6 -0
- parrot/tools/workday/models.py +1129 -0
- parrot/tools/workday/tool.py +944 -0
- parrot/tools/yfinance_tool.py +306 -0
- parrot/tools/zipcode.py +217 -0
- parrot/utils/__init__.py +2 -0
- parrot/utils/helpers.py +73 -0
- parrot/utils/parsers/__init__.py +5 -0
- parrot/utils/parsers/toml.c +12078 -0
- parrot/utils/parsers/toml.cpython-311-x86_64-linux-gnu.so +0 -0
- parrot/utils/parsers/toml.pyx +21 -0
- parrot/utils/toml.py +11 -0
- parrot/utils/types.cpp +20936 -0
- parrot/utils/types.cpython-311-x86_64-linux-gnu.so +0 -0
- parrot/utils/types.pyx +213 -0
- parrot/utils/uv.py +11 -0
- parrot/version.py +10 -0
- parrot/yaml-rs/Cargo.lock +350 -0
- parrot/yaml-rs/Cargo.toml +19 -0
- parrot/yaml-rs/pyproject.toml +19 -0
- parrot/yaml-rs/python/yaml_rs/__init__.py +81 -0
- parrot/yaml-rs/src/lib.rs +222 -0
- requirements/requirements-dev.txt +21 -0
|
@@ -0,0 +1,447 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: ai-parrot
|
|
3
|
+
Version: 0.15.16
|
|
4
|
+
Summary: Chatbot services for Navigator, based on Langchain
|
|
5
|
+
Author-email: Jesus Lara <jesuslara@phenobarbital.info>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://github.com/phenobarbital/ai-parrot
|
|
8
|
+
Project-URL: Source, https://github.com/phenobarbital/ai-parrot
|
|
9
|
+
Project-URL: Tracker, https://github.com/phenobarbital/ai-parrot/issues
|
|
10
|
+
Project-URL: Documentation, https://github.com/phenobarbital/ai-parrot/
|
|
11
|
+
Project-URL: Funding, https://paypal.me/phenobarbital
|
|
12
|
+
Project-URL: Say Thanks!, https://saythanks.io/to/phenobarbital
|
|
13
|
+
Keywords: asyncio,asyncpg,aioredis,aiomcache,artificial intelligence,ai,chatbot,agents
|
|
14
|
+
Classifier: Development Status :: 4 - Beta
|
|
15
|
+
Classifier: Intended Audience :: Developers
|
|
16
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
17
|
+
Classifier: Environment :: Web Environment
|
|
18
|
+
Classifier: Topic :: Software Development :: Build Tools
|
|
19
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
21
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
24
|
+
Classifier: Framework :: AsyncIO
|
|
25
|
+
Classifier: Typing :: Typed
|
|
26
|
+
Requires-Python: >=3.10.1
|
|
27
|
+
Description-Content-Type: text/markdown
|
|
28
|
+
License-File: LICENSE
|
|
29
|
+
Requires-Dist: Cython==3.0.11
|
|
30
|
+
Requires-Dist: faiss-cpu>=1.9.0
|
|
31
|
+
Requires-Dist: jq==1.7.0
|
|
32
|
+
Requires-Dist: rank_bm25==0.2.2
|
|
33
|
+
Requires-Dist: tabulate==0.9.0
|
|
34
|
+
Requires-Dist: sentencepiece==0.2.0
|
|
35
|
+
Requires-Dist: markdown2==2.5.4
|
|
36
|
+
Requires-Dist: psycopg-binary==3.2.6
|
|
37
|
+
Requires-Dist: python-datamodel>=0.10.17
|
|
38
|
+
Requires-Dist: backoff==2.2.1
|
|
39
|
+
Requires-Dist: asyncdb>=2.11.6
|
|
40
|
+
Requires-Dist: google-cloud-bigquery>=3.30.0
|
|
41
|
+
Requires-Dist: numexpr==2.10.2
|
|
42
|
+
Requires-Dist: fpdf==1.7.2
|
|
43
|
+
Requires-Dist: python-docx==1.1.2
|
|
44
|
+
Requires-Dist: typing_extensions<=4.14.0,>=4.13.2
|
|
45
|
+
Requires-Dist: navconfig[default]>=1.7.13
|
|
46
|
+
Requires-Dist: navigator-auth>=0.15.8
|
|
47
|
+
Requires-Dist: navigator-session>=0.6.5
|
|
48
|
+
Requires-Dist: navigator-api[locale,uvloop]>=2.13.5
|
|
49
|
+
Requires-Dist: matplotlib==3.10.0
|
|
50
|
+
Requires-Dist: seaborn==0.13.2
|
|
51
|
+
Requires-Dist: pydub==0.25.1
|
|
52
|
+
Requires-Dist: async-notify[all]>=1.4.2
|
|
53
|
+
Requires-Dist: markitdown>=0.1.2
|
|
54
|
+
Requires-Dist: ddgs>=9.5.2
|
|
55
|
+
Requires-Dist: pytesseract>=0.3.13
|
|
56
|
+
Requires-Dist: python-statemachine==2.5.0
|
|
57
|
+
Requires-Dist: aiohttp-swagger3==0.10.0
|
|
58
|
+
Requires-Dist: PyYAML>=6.0.2
|
|
59
|
+
Provides-Extra: agents
|
|
60
|
+
Requires-Dist: sentence_transformers==5.0.0; extra == "agents"
|
|
61
|
+
Requires-Dist: yfinance==0.2.54; extra == "agents"
|
|
62
|
+
Requires-Dist: youtube_search==2.1.2; extra == "agents"
|
|
63
|
+
Requires-Dist: wikipedia==1.4.0; extra == "agents"
|
|
64
|
+
Requires-Dist: mediawikiapi==1.2; extra == "agents"
|
|
65
|
+
Requires-Dist: pyowm==3.3.0; extra == "agents"
|
|
66
|
+
Requires-Dist: stackapi==0.3.1; extra == "agents"
|
|
67
|
+
Requires-Dist: duckduckgo-search==7.5.0; extra == "agents"
|
|
68
|
+
Requires-Dist: google-search-results==2.4.2; extra == "agents"
|
|
69
|
+
Requires-Dist: google-api-python-client>=2.151.0; extra == "agents"
|
|
70
|
+
Requires-Dist: pomegranate>=1.1.1; extra == "agents"
|
|
71
|
+
Requires-Dist: networkx>=3.0; extra == "agents"
|
|
72
|
+
Requires-Dist: decorator>=5; extra == "agents"
|
|
73
|
+
Requires-Dist: autoviz==0.1.905; extra == "agents"
|
|
74
|
+
Requires-Dist: spacy==3.8.6; extra == "agents"
|
|
75
|
+
Requires-Dist: html2text==2025.4.15; extra == "agents"
|
|
76
|
+
Requires-Dist: httpx-sse==0.4.1; extra == "agents"
|
|
77
|
+
Requires-Dist: mcp==1.15.0; extra == "agents"
|
|
78
|
+
Requires-Dist: sse-starlette==3.0.2; extra == "agents"
|
|
79
|
+
Requires-Dist: requests-oauthlib==2.0.0; extra == "agents"
|
|
80
|
+
Requires-Dist: undetected-chromedriver==3.5.5; extra == "agents"
|
|
81
|
+
Requires-Dist: selenium==4.35.0; extra == "agents"
|
|
82
|
+
Requires-Dist: playwright==1.52.0; extra == "agents"
|
|
83
|
+
Requires-Dist: streamlit==1.50.0; extra == "agents"
|
|
84
|
+
Requires-Dist: jira==3.10.5; extra == "agents"
|
|
85
|
+
Requires-Dist: arxiv==2.2.0; extra == "agents"
|
|
86
|
+
Requires-Dist: docker==7.1.0; extra == "agents"
|
|
87
|
+
Requires-Dist: aiogoogle==5.17.0; extra == "agents"
|
|
88
|
+
Requires-Dist: rq==2.6.0; extra == "agents"
|
|
89
|
+
Requires-Dist: zeep[async]==4.3.1; extra == "agents"
|
|
90
|
+
Requires-Dist: branca==0.8.2; extra == "agents"
|
|
91
|
+
Requires-Dist: folium==0.20.0; extra == "agents"
|
|
92
|
+
Requires-Dist: webdriver-manager==4.0.2; extra == "agents"
|
|
93
|
+
Provides-Extra: loaders
|
|
94
|
+
Requires-Dist: mammoth==1.8.0; extra == "loaders"
|
|
95
|
+
Requires-Dist: markdownify==1.1.0; extra == "loaders"
|
|
96
|
+
Requires-Dist: python-docx==1.1.2; extra == "loaders"
|
|
97
|
+
Requires-Dist: pymupdf==1.26.3; extra == "loaders"
|
|
98
|
+
Requires-Dist: pymupdf4llm==0.0.27; extra == "loaders"
|
|
99
|
+
Requires-Dist: pdf4llm==0.0.27; extra == "loaders"
|
|
100
|
+
Requires-Dist: pytube==15.0.0; extra == "loaders"
|
|
101
|
+
Requires-Dist: youtube_transcript_api==1.0.3; extra == "loaders"
|
|
102
|
+
Requires-Dist: python-pptx==1.0.2; extra == "loaders"
|
|
103
|
+
Requires-Dist: yt-dlp==2025.8.22; extra == "loaders"
|
|
104
|
+
Requires-Dist: ebooklib>=0.19; extra == "loaders"
|
|
105
|
+
Requires-Dist: whisperx==3.4.2; extra == "loaders"
|
|
106
|
+
Requires-Dist: av==15.1.0; extra == "loaders"
|
|
107
|
+
Requires-Dist: resemblyzer==0.1.4; extra == "loaders"
|
|
108
|
+
Requires-Dist: pyannote-audio==3.4.0; extra == "loaders"
|
|
109
|
+
Requires-Dist: pyannote-core==5.0.0; extra == "loaders"
|
|
110
|
+
Requires-Dist: pyannote-database==5.1.3; extra == "loaders"
|
|
111
|
+
Requires-Dist: pyannote-metrics==3.2.1; extra == "loaders"
|
|
112
|
+
Requires-Dist: pyannote-pipeline==3.0.1; extra == "loaders"
|
|
113
|
+
Requires-Dist: pytorch-lightning==2.5.5; extra == "loaders"
|
|
114
|
+
Requires-Dist: pytorch-metric-learning==2.9.0; extra == "loaders"
|
|
115
|
+
Requires-Dist: nvidia-cudnn-cu12==9.1.0.70; extra == "loaders"
|
|
116
|
+
Requires-Dist: moviepy==2.2.1; extra == "loaders"
|
|
117
|
+
Requires-Dist: decorator>=5; extra == "loaders"
|
|
118
|
+
Requires-Dist: ffmpeg==1.4; extra == "loaders"
|
|
119
|
+
Requires-Dist: paddleocr==3.2.0; extra == "loaders"
|
|
120
|
+
Provides-Extra: vectors
|
|
121
|
+
Requires-Dist: torch==2.6.0; extra == "vectors"
|
|
122
|
+
Requires-Dist: torchaudio==2.6.0; extra == "vectors"
|
|
123
|
+
Requires-Dist: numpy<2.2,>=2.1; extra == "vectors"
|
|
124
|
+
Requires-Dist: tiktoken==0.9.0; extra == "vectors"
|
|
125
|
+
Requires-Dist: accelerate==0.34.2; extra == "vectors"
|
|
126
|
+
Requires-Dist: bitsandbytes==0.44.1; extra == "vectors"
|
|
127
|
+
Requires-Dist: datasets>=3.0.2; extra == "vectors"
|
|
128
|
+
Requires-Dist: safetensors>=0.4.3; extra == "vectors"
|
|
129
|
+
Requires-Dist: transformers<=4.51.3,>=4.51.1; extra == "vectors"
|
|
130
|
+
Requires-Dist: sentence-transformers>=5.0.0; extra == "vectors"
|
|
131
|
+
Requires-Dist: tokenizers<=0.21.1,>=0.20.0; extra == "vectors"
|
|
132
|
+
Requires-Dist: tensorflow>=2.19.1; extra == "vectors"
|
|
133
|
+
Requires-Dist: tf-keras==2.19.0; extra == "vectors"
|
|
134
|
+
Requires-Dist: simsimd>=4.3.1; extra == "vectors"
|
|
135
|
+
Requires-Dist: opencv-python==4.10.0.84; extra == "vectors"
|
|
136
|
+
Requires-Dist: chromadb==0.6.3; extra == "vectors"
|
|
137
|
+
Requires-Dist: bm25s[full]==0.2.14; extra == "vectors"
|
|
138
|
+
Provides-Extra: images
|
|
139
|
+
Requires-Dist: torchvision==0.21.0; extra == "images"
|
|
140
|
+
Requires-Dist: timm==1.0.15; extra == "images"
|
|
141
|
+
Requires-Dist: ultralytics==8.3.179; extra == "images"
|
|
142
|
+
Requires-Dist: albumentations==2.0.6; extra == "images"
|
|
143
|
+
Requires-Dist: filetype==1.2.0; extra == "images"
|
|
144
|
+
Requires-Dist: imagehash==4.3.1; extra == "images"
|
|
145
|
+
Requires-Dist: pgvector==0.4.1; extra == "images"
|
|
146
|
+
Requires-Dist: pyheif==0.8.0; extra == "images"
|
|
147
|
+
Requires-Dist: exif==1.6.1; extra == "images"
|
|
148
|
+
Requires-Dist: pillow-avif-plugin==1.5.2; extra == "images"
|
|
149
|
+
Requires-Dist: pillow-heif==0.22.0; extra == "images"
|
|
150
|
+
Requires-Dist: python-xmp-toolkit==2.0.2; extra == "images"
|
|
151
|
+
Requires-Dist: exifread==3.5.1; extra == "images"
|
|
152
|
+
Requires-Dist: transformers<=4.51.3,>=4.51.1; extra == "images"
|
|
153
|
+
Requires-Dist: ffmpeg==1.4; extra == "images"
|
|
154
|
+
Requires-Dist: holoviews==1.21.0; extra == "images"
|
|
155
|
+
Requires-Dist: bokeh==3.7.3; extra == "images"
|
|
156
|
+
Requires-Dist: pandas-bokeh==0.5.5; extra == "images"
|
|
157
|
+
Requires-Dist: plotly==5.22.0; extra == "images"
|
|
158
|
+
Requires-Dist: ipywidgets==8.1.0; extra == "images"
|
|
159
|
+
Requires-Dist: altair==5.5.0; extra == "images"
|
|
160
|
+
Provides-Extra: whisperx
|
|
161
|
+
Requires-Dist: whisperx==3.4.2; extra == "whisperx"
|
|
162
|
+
Requires-Dist: av==15.1.0; extra == "whisperx"
|
|
163
|
+
Requires-Dist: torch==2.6.0; extra == "whisperx"
|
|
164
|
+
Requires-Dist: torchaudio==2.6.0; extra == "whisperx"
|
|
165
|
+
Requires-Dist: torchvision==0.21.0; extra == "whisperx"
|
|
166
|
+
Requires-Dist: pyannote-audio==3.4.0; extra == "whisperx"
|
|
167
|
+
Requires-Dist: pyannote-core==5.0.0; extra == "whisperx"
|
|
168
|
+
Requires-Dist: pyannote-database==5.1.3; extra == "whisperx"
|
|
169
|
+
Requires-Dist: pyannote-metrics==3.2.1; extra == "whisperx"
|
|
170
|
+
Requires-Dist: pyannote-pipeline==3.0.1; extra == "whisperx"
|
|
171
|
+
Requires-Dist: pytorch-lightning==2.5.5; extra == "whisperx"
|
|
172
|
+
Requires-Dist: pytorch-metric-learning==2.9.0; extra == "whisperx"
|
|
173
|
+
Requires-Dist: nvidia-cudnn-cu12==9.1.0.70; extra == "whisperx"
|
|
174
|
+
Requires-Dist: torch-audiomentations==0.12.0; extra == "whisperx"
|
|
175
|
+
Requires-Dist: torch-pitch-shift==1.2.5; extra == "whisperx"
|
|
176
|
+
Requires-Dist: torchmetrics==1.8.2; extra == "whisperx"
|
|
177
|
+
Provides-Extra: anthropic
|
|
178
|
+
Requires-Dist: anthropic==0.61.0; extra == "anthropic"
|
|
179
|
+
Provides-Extra: openai
|
|
180
|
+
Requires-Dist: openai==2.7.1; extra == "openai"
|
|
181
|
+
Requires-Dist: tiktoken==0.9.0; extra == "openai"
|
|
182
|
+
Provides-Extra: google
|
|
183
|
+
Requires-Dist: google-api-python-client<=2.177.0,>=2.166.0; extra == "google"
|
|
184
|
+
Requires-Dist: google-cloud-texttospeech==2.27.0; extra == "google"
|
|
185
|
+
Requires-Dist: google-genai<=1.49.0,>=1.36.0; extra == "google"
|
|
186
|
+
Requires-Dist: google-cloud-aiplatform==1.110.0; extra == "google"
|
|
187
|
+
Provides-Extra: groq
|
|
188
|
+
Requires-Dist: groq==0.33.0; extra == "groq"
|
|
189
|
+
Requires-Dist: typing_extensions<=4.14.1,>=4.13.2; extra == "groq"
|
|
190
|
+
Provides-Extra: milvus
|
|
191
|
+
Requires-Dist: pymilvus==2.4.8; extra == "milvus"
|
|
192
|
+
Requires-Dist: milvus==2.3.5; extra == "milvus"
|
|
193
|
+
Provides-Extra: chroma
|
|
194
|
+
Requires-Dist: chroma==0.2.0; extra == "chroma"
|
|
195
|
+
Provides-Extra: eda
|
|
196
|
+
Requires-Dist: ydata-profiling==4.16.1; extra == "eda"
|
|
197
|
+
Requires-Dist: sweetviz==2.1.4; extra == "eda"
|
|
198
|
+
Provides-Extra: security
|
|
199
|
+
Requires-Dist: pytector[gguf]==0.2.0; extra == "security"
|
|
200
|
+
Provides-Extra: all
|
|
201
|
+
Requires-Dist: ai-parrot[agents,anthropic,chroma,google,groq,images,loaders,milvus,openai,vectors]; extra == "all"
|
|
202
|
+
Provides-Extra: dev
|
|
203
|
+
Requires-Dist: pytest>=7.2.2; extra == "dev"
|
|
204
|
+
Requires-Dist: pytest-asyncio==0.21.1; extra == "dev"
|
|
205
|
+
Requires-Dist: pytest-xdist==3.3.1; extra == "dev"
|
|
206
|
+
Requires-Dist: pytest-assume==2.4.3; extra == "dev"
|
|
207
|
+
Requires-Dist: black; extra == "dev"
|
|
208
|
+
Requires-Dist: pylint; extra == "dev"
|
|
209
|
+
Requires-Dist: mypy; extra == "dev"
|
|
210
|
+
Requires-Dist: coverage; extra == "dev"
|
|
211
|
+
Requires-Dist: maturin==1.9.6; extra == "dev"
|
|
212
|
+
Dynamic: license-file
|
|
213
|
+
|
|
214
|
+
# π¦ AI-Parrot
|
|
215
|
+
|
|
216
|
+
**A unified Python library for building intelligent agents, chatbots, and LLM-powered applications**
|
|
217
|
+
|
|
218
|
+
AI-Parrot simplifies working with Large Language Models by providing a cohesive framework for creating conversational agents, managing tools, implementing RAG systems, and orchestrating complex AI workflowsβall without the bloat of traditional frameworks.
|
|
219
|
+
|
|
220
|
+
## β¨ Key Features
|
|
221
|
+
|
|
222
|
+
### π€ Multi-Provider LLM Support
|
|
223
|
+
Connect seamlessly to multiple AI providers through a unified interface:
|
|
224
|
+
- **OpenAI** (GPT-4, GPT-3.5)
|
|
225
|
+
- **Anthropic Claude** (Claude 3.5 Sonnet, Opus)
|
|
226
|
+
- **Google GenAI** (Gemini models)
|
|
227
|
+
- **Groq** (Fast inference)
|
|
228
|
+
|
|
229
|
+
### π οΈ Intelligent Agent System
|
|
230
|
+
Build sophisticated agents with built-in tool support and orchestration:
|
|
231
|
+
- **Tool Manager**: Share tools across multiple agents
|
|
232
|
+
- **Agent Registry**: Decorator-based agent creation and registration
|
|
233
|
+
- **Python Tool Calling**: Native support for calling Python functions as tools
|
|
234
|
+
- **Complex Toolkits**: Compose multiple tools into reusable toolkits
|
|
235
|
+
|
|
236
|
+
### π¬ Chatbot Creation
|
|
237
|
+
Create production-ready chatbots with minimal code:
|
|
238
|
+
- Conversational context management
|
|
239
|
+
- Multi-turn dialogue support
|
|
240
|
+
- Streaming responses
|
|
241
|
+
- Custom personality and behavior configuration
|
|
242
|
+
|
|
243
|
+
### ποΈ Knowledge Base & RAG
|
|
244
|
+
Implement Retrieval-Augmented Generation with enterprise-grade components:
|
|
245
|
+
- **PgVector Integration**: PostgreSQL-based vector storage for semantic search
|
|
246
|
+
- **Document Loaders**: Transform any document format into AI-ready context
|
|
247
|
+
- **Open-Source Embeddings**: Hugging Face Transformers integration
|
|
248
|
+
- **Structured Outputs**: Type-safe responses from your LLMs
|
|
249
|
+
|
|
250
|
+
### π API & Server Capabilities
|
|
251
|
+
Deploy your AI applications with ease:
|
|
252
|
+
- **Bot Manager**: Centralized management for multiple bot instances
|
|
253
|
+
- **REST API**: Expose your agents and chatbots via HTTP endpoints
|
|
254
|
+
- **MCP Server**: Model Context Protocol support for standardized agent communication
|
|
255
|
+
|
|
256
|
+
### β° Task Scheduling
|
|
257
|
+
Orchestrate agent actions over time:
|
|
258
|
+
- Schedule periodic agent tasks
|
|
259
|
+
- Trigger-based automation
|
|
260
|
+
- Asynchronous execution support
|
|
261
|
+
- Task dependency management
|
|
262
|
+
|
|
263
|
+
## π Quick Start
|
|
264
|
+
|
|
265
|
+
### Installation
|
|
266
|
+
|
|
267
|
+
```bash
|
|
268
|
+
pip install ai-parrot
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
### Create Your First Chatbot
|
|
272
|
+
|
|
273
|
+
```python
|
|
274
|
+
from ai_parrot import ChatBot, OpenAIClient
|
|
275
|
+
|
|
276
|
+
# Initialize LLM client
|
|
277
|
+
client = OpenAIClient(api_key="your-api-key")
|
|
278
|
+
|
|
279
|
+
# Create a chatbot
|
|
280
|
+
bot = ChatBot(
|
|
281
|
+
name="assistant",
|
|
282
|
+
client=client,
|
|
283
|
+
system_prompt="You are a helpful AI assistant."
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
# Have a conversation
|
|
287
|
+
response = bot.chat("What's the weather like today?")
|
|
288
|
+
print(response)
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
### Build an Agent with Tools
|
|
292
|
+
|
|
293
|
+
```python
|
|
294
|
+
from ai_parrot import Agent, tool
|
|
295
|
+
from ai_parrot.registry import agent_registry
|
|
296
|
+
|
|
297
|
+
@tool
|
|
298
|
+
def calculate_sum(a: int, b: int) -> int:
|
|
299
|
+
"""Add two numbers together."""
|
|
300
|
+
return a + b
|
|
301
|
+
|
|
302
|
+
@tool
|
|
303
|
+
def get_current_time() -> str:
|
|
304
|
+
"""Get the current time."""
|
|
305
|
+
from datetime import datetime
|
|
306
|
+
return datetime.now().strftime("%H:%M:%S")
|
|
307
|
+
|
|
308
|
+
# Register an agent with tools
|
|
309
|
+
@agent_registry.register("math_agent")
|
|
310
|
+
class MathAgent(Agent):
|
|
311
|
+
def __init__(self):
|
|
312
|
+
super().__init__(
|
|
313
|
+
name="Math Helper",
|
|
314
|
+
tools=[calculate_sum, get_current_time]
|
|
315
|
+
)
|
|
316
|
+
|
|
317
|
+
# Use the agent
|
|
318
|
+
agent = agent_registry.get("math_agent")
|
|
319
|
+
result = agent.run("What's 42 plus 58? Also, what time is it?")
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
### Implement RAG with Vector Store
|
|
323
|
+
|
|
324
|
+
```python
|
|
325
|
+
from ai_parrot import RAGChatBot, PgVectorStore
|
|
326
|
+
from ai_parrot.loaders import PDFLoader, TextLoader
|
|
327
|
+
|
|
328
|
+
# Initialize vector store
|
|
329
|
+
vector_store = PgVectorStore(
|
|
330
|
+
connection_string="postgresql://user:pass@localhost/db"
|
|
331
|
+
)
|
|
332
|
+
|
|
333
|
+
# Load and index documents
|
|
334
|
+
loader = PDFLoader()
|
|
335
|
+
documents = loader.load("./docs/manual.pdf")
|
|
336
|
+
vector_store.add_documents(documents)
|
|
337
|
+
|
|
338
|
+
# Create RAG-enabled chatbot
|
|
339
|
+
rag_bot = RAGChatBot(
|
|
340
|
+
client=client,
|
|
341
|
+
vector_store=vector_store,
|
|
342
|
+
top_k=5
|
|
343
|
+
)
|
|
344
|
+
|
|
345
|
+
# Query with context
|
|
346
|
+
response = rag_bot.chat("How do I configure the settings?")
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
### Expose via API
|
|
350
|
+
|
|
351
|
+
```python
|
|
352
|
+
from ai_parrot import BotManager, create_api
|
|
353
|
+
|
|
354
|
+
# Create bot manager
|
|
355
|
+
manager = BotManager()
|
|
356
|
+
manager.register_bot("assistant", bot)
|
|
357
|
+
manager.register_agent("math_helper", agent)
|
|
358
|
+
|
|
359
|
+
# Create and run API server
|
|
360
|
+
app = create_api(manager)
|
|
361
|
+
|
|
362
|
+
# Run with: uvicorn main:app --reload
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### Schedule Agent Tasks
|
|
366
|
+
|
|
367
|
+
```python
|
|
368
|
+
from ai_parrot import TaskScheduler
|
|
369
|
+
|
|
370
|
+
scheduler = TaskScheduler()
|
|
371
|
+
|
|
372
|
+
# Schedule a daily summary
|
|
373
|
+
@scheduler.schedule(cron="0 9 * * *") # Every day at 9 AM
|
|
374
|
+
async def daily_summary():
|
|
375
|
+
summary = await agent.run("Generate a summary of yesterday's activities")
|
|
376
|
+
send_email(summary)
|
|
377
|
+
|
|
378
|
+
# Run the scheduler
|
|
379
|
+
scheduler.start()
|
|
380
|
+
```
|
|
381
|
+
|
|
382
|
+
## ποΈ Architecture
|
|
383
|
+
|
|
384
|
+
AI-Parrot is designed with modularity and extensibility in mind:
|
|
385
|
+
|
|
386
|
+
```
|
|
387
|
+
βββββββββββββββββββββββββββββββββββββββββββ
|
|
388
|
+
β Application Layer β
|
|
389
|
+
β (Chatbots, Agents, Custom Logic) β
|
|
390
|
+
ββββββββββββββββ¬βββββββββββββββββββββββββββ
|
|
391
|
+
β
|
|
392
|
+
ββββββββββββββββΌβββββββββββββββββββββββββββ
|
|
393
|
+
β AI-Parrot Core β
|
|
394
|
+
β β’ Agent Registry β’ Tool Manager β
|
|
395
|
+
β β’ Bot Manager β’ Task Scheduler β
|
|
396
|
+
ββββββββββββββββ¬βββββββββββββββββββββββββββ
|
|
397
|
+
β
|
|
398
|
+
ββββββββββββββββΌβββββββββββββββββββββββββββ
|
|
399
|
+
β Provider Integrations β
|
|
400
|
+
β β’ OpenAI β’ Claude β’ Gemini β
|
|
401
|
+
β β’ Groq β’ Hugging Face β
|
|
402
|
+
ββββββββββββββββ¬βββββββββββββββββββββββββββ
|
|
403
|
+
β
|
|
404
|
+
ββββββββββββββββΌβββββββββββββββββββββββββββ
|
|
405
|
+
β Storage & Infrastructure β
|
|
406
|
+
β β’ PgVector β’ Document Loaders β
|
|
407
|
+
β β’ MCP Server β’ API Layer β
|
|
408
|
+
βββββββββββββββββββββββββββββββββββββββββββ
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
## π― Use Cases
|
|
412
|
+
|
|
413
|
+
- **Customer Support Bots**: Build intelligent support agents with knowledge base integration
|
|
414
|
+
- **Research Assistants**: Create agents that can search, analyze, and synthesize information
|
|
415
|
+
- **Automation Workflows**: Schedule and orchestrate AI-powered tasks
|
|
416
|
+
- **Internal Tools**: Expose LLM capabilities through APIs for your team
|
|
417
|
+
- **Multi-Agent Systems**: Coordinate multiple specialized agents working together
|
|
418
|
+
|
|
419
|
+
## πΊοΈ Roadmap
|
|
420
|
+
|
|
421
|
+
- β
**Langchain Independence**: Removed heavyweight dependencies
|
|
422
|
+
- π§ **Complex Toolkits**: Advanced tool composition and chaining
|
|
423
|
+
- π§ **Model Interoperability**: Seamless LLM + Hugging Face model integration
|
|
424
|
+
- π **Non-LLM Models**: Support for classification, NER, and other ML models
|
|
425
|
+
- π **MCP Full Integration**: Complete Model Context Protocol implementation
|
|
426
|
+
- π **Graph-Based RAG**: Knowledge graphs with ArangoDB for advanced reasoning
|
|
427
|
+
|
|
428
|
+
## π€ Contributing
|
|
429
|
+
|
|
430
|
+
Contributions are welcome! Whether it's bug fixes, new features, or documentation improvements, we appreciate your help in making AI-Parrot better.
|
|
431
|
+
|
|
432
|
+
## π License
|
|
433
|
+
|
|
434
|
+
MIT License.
|
|
435
|
+
|
|
436
|
+
## π Documentation
|
|
437
|
+
|
|
438
|
+
For detailed documentation, examples, and API reference, see the examples/ folder.
|
|
439
|
+
|
|
440
|
+
## π¬ Community & Support
|
|
441
|
+
|
|
442
|
+
- **Issues**: [GitHub Issues](your-github-repo/issues)
|
|
443
|
+
- **Discussions**: [GitHub Discussions](your-github-repo/discussions)
|
|
444
|
+
|
|
445
|
+
---
|
|
446
|
+
|
|
447
|
+
Built with β€οΈ for developers who want powerful AI tools without the complexity.
|