1 line
9.8 KiB
JSON
1 line
9.8 KiB
JSON
{"repo": "alndaly/nano-graphrag", "files": {"examples/using_deepseek_as_llm.py": {"931c9381b6d31be4c3e4db3c6ff1e8b23c24a2bb": {"t": 1785746434.1034558, "n": 3051, "h": "2947f157641967a2", "c": "import os\nimport logging\nfrom openai import AsyncOpenAI\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag.base import BaseKVStorage\nfrom nano_graphrag._utils import compute_args_hash\n\nlogging.basicConfig(level=logging.WARNING)\nlogging.getLogger(\"nano-graphrag\").setLevel(logging.INFO)\n\nDEEPSEEK_API_KEY = \"sk-XXXX\"\nMODEL = \"deepseek-chat\"\n\n\nasync def deepseepk_model_if_cache(\n prompt, system_prompt=None, history_messages=[], **kwargs\n) -> str:\n openai_async_client = AsyncOpenAI(\n api_key=DEEPSEEK_API_KEY, base_url=\"https://api.deepseek.com\"\n )\n messages = []\n if system_prompt:\n messages.append({\"role\": \"system\", \"content\": system_prompt})\n\n # Get the cached response if having-------------------\n hashing_kv: BaseKVStorage = kwargs.pop(\"hashing_kv\", None)\n messages.extend(history_messages)\n messages.append({\"role\": \"user\", \"content\": prompt})\n if hashing_kv is not None:\n args_hash = compute_args_hash(MODEL, messages)\n if_cache_return = await hashing_kv.get_by_id(args_hash)\n if if_cache_return is not None:\n return if_cache_return[\"return\"]\n # -----------------------------------------------------\n\n response = await openai_async_client.chat.completions.create(\n model=MODEL, messages=messages, **kwargs\n )\n\n # Cache the response if having-------------------\n if hashing_kv is not None:\n await hashing_kv.upsert(\n {args_hash: {\"return\": response.choices[0].message.content, \"model\": MODEL}}\n )\n # -----------------------------------------------------\n return response.choices[0].message.content\n\n\ndef remove_if_exist(file):\n if os.path.exists(file):\n os.remove(file)\n\n\nWORKING_DIR = \"./nano_graphrag_cache_deepseek_TEST\"\n\n\ndef query():\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n print(\n rag.query(\n \"What are the top themes in this story?\", param=QueryParam(mode=\"global\")\n )\n )\n\n\ndef insert():\n from time import time\n\n with open(\"./tests/mock_data.txt\", encoding=\"utf-8-sig\") as f:\n FAKE_TEXT = f.read()\n\n remove_if_exist(f\"{WORKING_DIR}/vdb_entities.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_full_docs.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_text_chunks.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_community_reports.json\")\n remove_if_exist(f\"{WORKING_DIR}/graph_chunk_entity_relation.graphml\")\n\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n enable_llm_cache=True,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n start = time()\n rag.insert(FAKE_TEXT)\n print(\"indexing time:\", time() - start)\n # rag = GraphRAG(working_dir=WORKING_DIR, enable_llm_cache=True)\n # rag.insert(FAKE_TEXT[half_len:])\n\n\nif __name__ == \"__main__\":\n insert()\n # query()\n"}, "f968ed713a5acfcef52aca0a6e18d39e0c65597e": {"t": 1785764169.3431568, "n": 3051, "h": "2947f157641967a2", "c": "import os\nimport logging\nfrom openai import AsyncOpenAI\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag.base import BaseKVStorage\nfrom nano_graphrag._utils import compute_args_hash\n\nlogging.basicConfig(level=logging.WARNING)\nlogging.getLogger(\"nano-graphrag\").setLevel(logging.INFO)\n\nDEEPSEEK_API_KEY = \"sk-XXXX\"\nMODEL = \"deepseek-chat\"\n\n\nasync def deepseepk_model_if_cache(\n prompt, system_prompt=None, history_messages=[], **kwargs\n) -> str:\n openai_async_client = AsyncOpenAI(\n api_key=DEEPSEEK_API_KEY, base_url=\"https://api.deepseek.com\"\n )\n messages = []\n if system_prompt:\n messages.append({\"role\": \"system\", \"content\": system_prompt})\n\n # Get the cached response if having-------------------\n hashing_kv: BaseKVStorage = kwargs.pop(\"hashing_kv\", None)\n messages.extend(history_messages)\n messages.append({\"role\": \"user\", \"content\": prompt})\n if hashing_kv is not None:\n args_hash = compute_args_hash(MODEL, messages)\n if_cache_return = await hashing_kv.get_by_id(args_hash)\n if if_cache_return is not None:\n return if_cache_return[\"return\"]\n # -----------------------------------------------------\n\n response = await openai_async_client.chat.completions.create(\n model=MODEL, messages=messages, **kwargs\n )\n\n # Cache the response if having-------------------\n if hashing_kv is not None:\n await hashing_kv.upsert(\n {args_hash: {\"return\": response.choices[0].message.content, \"model\": MODEL}}\n )\n # -----------------------------------------------------\n return response.choices[0].message.content\n\n\ndef remove_if_exist(file):\n if os.path.exists(file):\n os.remove(file)\n\n\nWORKING_DIR = \"./nano_graphrag_cache_deepseek_TEST\"\n\n\ndef query():\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n print(\n rag.query(\n \"What are the top themes in this story?\", param=QueryParam(mode=\"global\")\n )\n )\n\n\ndef insert():\n from time import time\n\n with open(\"./tests/mock_data.txt\", encoding=\"utf-8-sig\") as f:\n FAKE_TEXT = f.read()\n\n remove_if_exist(f\"{WORKING_DIR}/vdb_entities.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_full_docs.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_text_chunks.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_community_reports.json\")\n remove_if_exist(f\"{WORKING_DIR}/graph_chunk_entity_relation.graphml\")\n\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n enable_llm_cache=True,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n start = time()\n rag.insert(FAKE_TEXT)\n print(\"indexing time:\", time() - start)\n # rag = GraphRAG(working_dir=WORKING_DIR, enable_llm_cache=True)\n # rag.insert(FAKE_TEXT[half_len:])\n\n\nif __name__ == \"__main__\":\n insert()\n # query()\n"}, "4d29dcf5388386987e51e37e99b1e4882d94b48b": {"t": 1785764170.7132046, "n": 3082, "h": "3a1624ab0248c5f4", "c": "import os\nimport logging\nfrom openai import AsyncOpenAI\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag import GraphRAG, QueryParam\nfrom nano_graphrag.base import BaseKVStorage\nfrom nano_graphrag._utils import compute_args_hash\n\nlogging.basicConfig(level=logging.WARNING)\nlogging.getLogger(\"nano-graphrag\").setLevel(logging.INFO)\n\nDEEPSEEK_API_KEY = \"sk-XXXX\"\nMODEL = \"deepseek-chat\"\n\n\nasync def deepseepk_model_if_cache(\n prompt, system_prompt=None, history_messages=[], **kwargs\n) -> str:\n openai_async_client = AsyncOpenAI(\n api_key=DEEPSEEK_API_KEY, base_url=\"https://api.deepseek.com\"\n )\n messages = []\n if system_prompt:\n messages.append({\"role\": \"system\", \"content\": system_prompt})\n\n # Get the cached response if having-------------------\n hashing_kv: BaseKVStorage = kwargs.pop(\"hashing_kv\", None)\n messages.extend(history_messages)\n messages.append({\"role\": \"user\", \"content\": prompt})\n if hashing_kv is not None:\n args_hash = compute_args_hash(MODEL, messages)\n if_cache_return = await hashing_kv.get_by_id(args_hash)\n if if_cache_return is not None:\n return if_cache_return[\"return\"]\n # -----------------------------------------------------\n\n response = await openai_async_client.chat.completions.create(\n model=MODEL, messages=messages, **kwargs\n )\n\n # Cache the response if having-------------------\n if hashing_kv is not None:\n await hashing_kv.upsert(\n {args_hash: {\"return\": response.choices[0].message.content, \"model\": MODEL}}\n )\n # -----------------------------------------------------\n return response.choices[0].message.content\n\n\ndef remove_if_exist(file):\n if os.path.exists(file):\n os.remove(file)\n\n\nWORKING_DIR = \"./nano_graphrag_cache_deepseek_TEST\"\n\n\ndef query():\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n print(\n rag.query(\n \"What are the top themes in this story?\", param=QueryParam(mode=\"global\")\n )\n )\n\n\ndef insert():\n from time import time\n\n with open(\"./tests/mock_data.txt\", encoding=\"utf-8-sig\") as f:\n FAKE_TEXT = f.read()\n\n remove_if_exist(f\"{WORKING_DIR}/milvus_lite.db\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_full_docs.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_text_chunks.json\")\n remove_if_exist(f\"{WORKING_DIR}/kv_store_community_reports.json\")\n remove_if_exist(f\"{WORKING_DIR}/graph_chunk_entity_relation.graphml\")\n half_len = len(FAKE_TEXT) // 2\n rag = GraphRAG(\n working_dir=WORKING_DIR,\n enable_llm_cache=True,\n best_model_func=deepseepk_model_if_cache,\n cheap_model_func=deepseepk_model_if_cache,\n )\n start = time()\n rag.insert(FAKE_TEXT)\n print(\"indexing time:\", time() - start)\n # rag = GraphRAG(working_dir=WORKING_DIR, enable_llm_cache=True)\n # rag.insert(FAKE_TEXT[half_len:])\n\n\nif __name__ == \"__main__\":\n insert()\n # query()\n"}}}} |