{"id":50639784,"url":"https://github.com/yeongseon/azure-functions-knowledge-python","last_synced_at":"2026-06-07T07:04:41.001Z","repository":{"id":350402378,"uuid":"1205021737","full_name":"yeongseon/azure-functions-knowledge-python","owner":"yeongseon","description":"Knowledge retrieval (RAG) decorators for Azure Functions Python v2 — Part of the Azure Functions Python DX Toolkit","archived":false,"fork":false,"pushed_at":"2026-05-13T07:34:46.000Z","size":665,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-13T09:32:32.721Z","etag":null,"topics":["azure","azure-functions","dx-toolkit","knowledge","notion","python","rag","serverless"],"latest_commit_sha":null,"homepage":"https://yeongseon.github.io/azure-functions-knowledge-python/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yeongseon.png","metadata":{"files":{"readme":"README.ja.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-08T14:59:23.000Z","updated_at":"2026-05-01T04:27:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yeongseon/azure-functions-knowledge-python","commit_stats":null,"previous_names":["yeongseon/azure-functions-knowledge","yeongseon/azure-functions-knowledge-python"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/yeongseon/azure-functions-knowledge-python","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeongseon%2Fazure-functions-knowledge-python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeongseon%2Fazure-functions-knowledge-python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeongseon%2Fazure-functions-knowledge-python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeongseon%2Fazure-functions-knowledge-python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yeongseon","download_url":"https://codeload.github.com/yeongseon/azure-functions-knowledge-python/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yeongseon%2Fazure-functions-knowledge-python/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34011816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-07T02:00:07.652Z","response_time":124,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure","azure-functions","dx-toolkit","knowledge","notion","python","rag","serverless"],"created_at":"2026-06-07T07:04:04.257Z","updated_at":"2026-06-07T07:04:40.996Z","avatar_url":"https://github.com/yeongseon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# azure-functions-knowledge-python\n\n[![Test and Coverage](https://github.com/yeongseon/azure-functions-knowledge-python/actions/workflows/ci-test.yml/badge.svg)](https://github.com/yeongseon/azure-functions-knowledge-python/actions/workflows/ci-test.yml)\n[![PyPI version](https://badge.fury.io/py/azure-functions-knowledge-python.svg)](https://badge.fury.io/py/azure-functions-knowledge-python)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)\n\nAzure Functions Python v2向けのナレッジ検索（RAG）デコレーターです。\n\n他の言語で読む: [English](README.md) | [한국어](README.ko.md) | [简体中文](README.zh-CN.md)\n\n## 機能\n\n- **デコレーターベースのAPI** — Azure Functions Python v2プログラミングモデルとのシームレスな統合\n- **プロバイダー抽象化** — プロトコルベースのインターフェースによるプラガブルなナレッジプロバイダー\n- **Notion対応** — ページの検索・取得のための組み込みNotionプロバイダー\n- **非同期サポート** — ノンブロッキング実行のための自動非同期オフローディング\n- **環境変数解決** — 安全な認証情報処理のための `%VAR%` プレースホルダー置換\n\n## インストール\n\n```bash\npip install azure-functions-knowledge-python[notion]\n```\n\n## クイックスタート\n\n```python\nimport azure.functions as func\nfrom azure_functions_knowledge import Document, KnowledgeBindings\n\napp = func.FunctionApp()\nkb = KnowledgeBindings()\n\n@app.route(route=\"search\", methods=[\"GET\"])\n@kb.input(\n    \"docs\",\n    provider=\"notion\",\n    query=lambda req: req.params.get(\"q\", \"\"),\n    top=5,\n    connection=\"%NOTION_TOKEN%\",\n)\ndef search(req: func.HttpRequest, docs: list[Document]) -\u003e func.HttpResponse:\n    import json\n    results = [{\"title\": d.title, \"url\": d.url} for d in docs]\n    return func.HttpResponse(json.dumps(results), mimetype=\"application/json\")\n```\n\n## デコレーター\n\n### `input` — データインジェクション\n\nナレッジプロバイダーを検索し、結果をハンドラーに注入します：\n\n```python\n@kb.input(\"docs\", provider=\"notion\", query=\"roadmap\", connection=\"%NOTION_TOKEN%\")\ndef handler(timer, docs: list[Document]) -\u003e None:\n    for doc in docs:\n        print(doc.title, doc.url)\n```\n\n### `inject_client` — クライアントインジェクション\n\n命令的な制御のためにプロバイダーインスタンスを注入します：\n\n```python\n@kb.inject_client(\"client\", provider=\"notion\", connection=\"%NOTION_TOKEN%\")\ndef handler(req, client) -\u003e func.HttpResponse:\n    doc = client.get_document(page_id)\n    results = client.search(\"query\", top=10)\n    ...\n```\n\n## カスタムプロバイダー\n\n`KnowledgeProvider` プロトコルを実装して登録します：\n\n```python\nfrom azure_functions_knowledge import Document, register_provider\n\nclass MyProvider:\n    def __init__(self, *, connection, **kwargs):\n        ...\n\n    def search(self, query: str, *, top: int = 5) -\u003e list[Document]:\n        ...\n\n    def get_document(self, document_id: str) -\u003e Document:\n        ...\n\n    def close(self) -\u003e None:\n        ...\n\nregister_provider(\"my-provider\", MyProvider)\n```\n\n## ドキュメント\n\n完全なドキュメント: [https://yeongseon.github.io/azure-functions-knowledge-python/](https://yeongseon.github.io/azure-functions-knowledge-python/)\n\n## ライセンス\n\nMIT License。詳細は [LICENSE](LICENSE) を参照してください。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeongseon%2Fazure-functions-knowledge-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyeongseon%2Fazure-functions-knowledge-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyeongseon%2Fazure-functions-knowledge-python/lists"}