{"id":28995,"date":"2025-03-18T14:07:57","date_gmt":"2025-03-18T06:07:57","guid":{"rendered":"https:\/\/www.aisharenet.com\/?p=28995"},"modified":"2025-03-18T14:07:57","modified_gmt":"2025-03-18T06:07:57","slug":"kuaisushixiangexingbao","status":"publish","type":"post","link":"https:\/\/www.kdjingpai.com\/ja\/kuaisushixiangexingbao\/","title":{"rendered":"\u5feb\u901f\u5b9e\u73b0\u4e2a\u6027\u5316\u6e38\u620f\u63a8\u8350 RAG \u5e94\u7528\uff1aDeepSeek &#038; Ollama \u5b9e\u8df5\u6307\u5357"},"content":{"rendered":"<p>\u60f3\u8981\u6784\u5efa\u4e00\u4e2a\u80fd\u591f\u63d0\u4f9b\u4e2a\u6027\u5316\u6e38\u620f\u63a8\u8350\u7684\u5e94\u7528\u5417\uff1f\u672c\u6559\u7a0b\u5c06\u4e00\u6b65\u6b65\u6307\u5bfc\u4f60\u4f7f\u7528\u68c0\u7d22\u589e\u5f3a\u751f\u6210\uff08RAG\uff09\u6280\u672f\uff0c\u7ed3\u5408 <a href=\"https:\/\/www.kdjingpai.com\/pt\/deepseek-chatshena\/\">DeepSeek<\/a> \u548c <a href=\"https:\/\/www.kdjingpai.com\/pt\/ollama\/\">Ollama<\/a> \u6a21\u578b\uff0c\u6253\u9020\u4e00\u4e2a\u5b9a\u5236\u5316\u7684\u6e38\u620f\u63a8\u8350\u7cfb\u7edf\u3002<\/p>\n<p>\u6211\u4eec\u5c06\u4f7f\u7528 Epic Games \u5546\u5e97\u6570\u636e\u96c6\u4e2d\u7684\u00a0<code>games.csv<\/code>\u00a0\u6587\u4ef6\u4f5c\u4e3a\u6570\u636e\u6e90\u3002\u672c\u6559\u7a0b\u7684\u6280\u672f\u6808\u9009\u62e9\u5982\u4e0b\uff1a<\/p>\n<ul>\n<li>\u5927\u578b\u8bed\u8a00\u6a21\u578b (LLM):\u00a0\u6211\u4eec\u5c06\u4f7f\u7528 Ollama \u8fd0\u884c\u7684\u00a0<code><a href=\"https:\/\/www.kdjingpai.com\/pt\/deepseek-r1nenglixiang\/\">deepseek-r1<\/a>:1.5b<\/code>\u00a0\u6a21\u578b\u3002<\/li>\n<li>\u5d4c\u5165\u6a21\u578b:\u00a0\u6211\u4eec\u5c06\u4f7f\u7528 Weaviate \u7684\u00a0<code>text2vec_openai<\/code>\u00a0\u7ec4\u4ef6\uff0c\u5e76\u91c7\u7528\u9ed8\u8ba4\u7684\u00a0<code>text-embedding-3-small<\/code>\u00a0\u6a21\u578b\u3002<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-28996\" src=\"https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/ddf43acbb8b39a4.jpg\" alt=\"\" width=\"547\" height=\"658\" srcset=\"https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/ddf43acbb8b39a4.jpg 998w, https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/ddf43acbb8b39a4-768x923.jpg 768w, https:\/\/www.kdjingpai.com\/wp-content\/uploads\/2025\/03\/ddf43acbb8b39a4-10x12.jpg 10w\" sizes=\"auto, (max-width: 547px) 100vw, 547px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h3>\u6b65\u9aa4 1\uff1a\u5b89\u88c5\u4f9d\u8d56\u5e93\u5e76\u914d\u7f6e API \u5bc6\u94a5<\/h3>\n<p>\u9996\u5148\uff0c\u4f60\u9700\u8981\u5b89\u88c5\u4ee5\u4e0b Python \u5e93\uff0c\u8fd9\u4e9b\u5e93\u662f\u6784\u5efa\u548c\u8fd0\u884c <a href=\"https:\/\/www.kdjingpai.com\/pt\/rag\/\">RAG<\/a> \u5e94\u7528\u6240\u5fc5\u9700\u7684\u3002<\/p>\n<pre><code>!pip install weaviate-client pandas tqdm ollama\r\n<\/code><\/pre>\n<p>\u63a5\u4e0b\u6765\uff0c\u4e3a\u4e86\u4f7f\u7528 OpenAI \u7684\u5d4c\u5165\u6a21\u578b\uff0c\u4f60\u9700\u8981\u8bbe\u7f6e OpenAI API \u5bc6\u94a5\u3002\u5982\u679c\u4f60\u8fd8\u6ca1\u6709\u8bbe\u7f6e\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u64cd\u4f5c\uff1a<\/p>\n<pre><code>from getpass import getpass\r\nimport os\r\nif \"OPENAI_APIKEY\" not in os.environ:\r\nos.environ[\"OPENAI_APIKEY\"] = getpass(\"Enter your OpenAI API Key\")\r\n<\/code><\/pre>\n<p>\u8fd9\u6bb5\u4ee3\u7801\u4f1a\u68c0\u67e5\u4f60\u7684\u73af\u5883\u53d8\u91cf\u4e2d\u662f\u5426\u5df2\u5b58\u5728\u00a0OPENAI_APIKEY\u3002\u5982\u679c\u4e0d\u5b58\u5728\uff0c\u5b83\u4f1a\u63d0\u793a\u4f60\u8f93\u5165\u4f60\u7684 OpenAI API \u5bc6\u94a5\uff0c\u5e76\u5c06\u5176\u8bbe\u7f6e\u4e3a\u73af\u5883\u53d8\u91cf\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\u6b65\u9aa4 2\uff1a\u8fd0\u884c DeepSeek \u6a21\u578b<\/h3>\n<p>\u672c\u6559\u7a0b\u4f7f\u7528 Ollama \u5728\u672c\u5730\u8fd0\u884c\u00a0deepseek-r1:1.5b\u00a0\u6a21\u578b\u3002\u5982\u679c\u4f60\u8fd8\u6ca1\u6709\u5b89\u88c5 Ollama \u5e76\u62c9\u53d6\u00a0deepseek-r1:1.5b\u00a0\u6a21\u578b\uff0c\u8bf7\u5148\u53c2\u8003 Ollama \u5b98\u65b9\u6587\u6863 (Ollama Docs) \u5b8c\u6210\u5b89\u88c5\u548c\u6a21\u578b\u62c9\u53d6\u3002<\/p>\n<p>\u4ee5 macOS \u7cfb\u7edf\u4e3a\u4f8b\uff0c\u4f60\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u5728\u7ec8\u7aef\u4e2d\u8fd0\u884c DeepSeek \u6a21\u578b\uff1a<\/p>\n<pre><code>ollama run deepseek-r1:1.5b\r\n<\/code><\/pre>\n<p>\u786e\u4fdd\u6a21\u578b\u6210\u529f\u8fd0\u884c\u540e\uff0c\u518d\u8fdb\u884c\u4e0b\u4e00\u6b65\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\u6b65\u9aa4 3\uff1a\u521b\u5efa\u5e76\u586b\u5145 Weaviate \u96c6\u5408<\/h3>\n<p>Weaviate \u96c6\u5408\u7528\u4e8e\u5b58\u50a8\u548c\u68c0\u7d22\u6e38\u620f\u6570\u636e\u3002\u6309\u7167\u4ee5\u4e0b\u6b65\u9aa4\u521b\u5efa\u5e76\u586b\u5145\u4f60\u7684 Weaviate \u96c6\u5408\uff1a<\/p>\n<ul>\n<li>\u4e0b\u8f7d\u00a0games.csv\u00a0\u6587\u4ef6:\u00a0\u4ece Kaggle \u4e0b\u8f7d\u00a0games.csv\u00a0\u6587\u4ef6 (<a href=\"https:\/\/www.kaggle.com\/datasets\/mexwell\/epic-games-store-dataset\">Kaggle<\/a>) \u5230\u4f60\u7684\u672c\u5730\u76ee\u5f55\u3002<\/li>\n<li>\u542f\u52a8 Weaviate Docker \u5bb9\u5668:\u00a0\u4f7f\u7528\u4ee5\u4e0b\u00a0docker-compose.yml\u00a0\u6587\u4ef6\u542f\u52a8 Weaviate\uff0c\u5e76\u786e\u4fdd\u542f\u7528\u00a0generative-ollama\u00a0\u548c\u00a0text2vec-openai\u00a0\u6a21\u5757\u3002\u5c06\u4ee5\u4e0b\u5185\u5bb9\u4fdd\u5b58\u4e3a\u00a0docker-compose.yml\u00a0\u6587\u4ef6\uff0c\u5e76\u5728\u7ec8\u7aef\u4e2d\u4f7f\u7528\u00a0docker compose up\u00a0\u547d\u4ee4\u542f\u52a8 Weaviate\u3002<\/li>\n<\/ul>\n<pre><code>---\r\nservices:\r\nweaviate_anon:\r\n<a href=\"https:\/\/www.kdjingpai.com\/pt\/cohere\/\">command<\/a>:\r\n- --host\r\n- 0.0.0.0\r\n- --port\r\n- '8080'\r\n- --scheme\r\n- http\r\nimage: cr.weaviate.io\/semitechnologies\/weaviate:1.28.4\r\nports:\r\n- 8080:8080\r\n- 50051:50051\r\nrestart: on-failure:0\r\nenvironment:\r\nQUERY_DEFAULTS_LIMIT: 25\r\nAUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'\r\nPERSISTENCE_DATA_PATH: '\/var\/lib\/weaviate'\r\nENABLE_API_BASED_MODULES: 'true'\r\nBACKUP_FILESYSTEM_PATH: '\/var\/lib\/weaviate\/backups'\r\nCLUSTER_HOSTNAME: 'node1'\r\nLOG_LEVEL: 'trace'\r\nENABLE_MODULES: \"text2vec-openai,generative-ollama\"\r\n...\r\n<\/code><\/pre>\n<ul>\n<li>\u521b\u5efa &#8220;Games&#8221; \u96c6\u5408:\u00a0\u8fd0\u884c\u4ee5\u4e0b Python \u4ee3\u7801\uff0c\u521b\u5efa\u540d\u4e3a &#8220;Games&#8221; \u7684 Weaviate \u96c6\u5408\u3002\u8fd9\u6bb5\u4ee3\u7801\u5b9a\u4e49\u4e86\u96c6\u5408\u7684\u5c5e\u6027\uff0c\u5305\u62ec\u6e38\u620f\u540d\u79f0\u3001\u4ef7\u683c\u3001\u5e73\u53f0\u3001\u53d1\u5e03\u65e5\u671f\u548c\u63cf\u8ff0\uff0c\u5e76\u914d\u7f6e\u4e86 generative-ollama \u548c text2vec-openai \u6a21\u5757\u3002<\/li>\n<\/ul>\n<pre><code>import weaviate\r\nimport weaviate.classes.config as wc\r\nfrom weaviate.util import generate_uuid5\r\nimport os\r\nfrom tqdm import tqdm\r\nimport pandas as pd\r\nheaders = {\"X-OpenAI-Api-Key\": os.getenv(\"OPENAI_APIKEY\")}\r\nclient = weaviate.connect_to_local(headers=headers)\r\nif client.collections.exists(\"Games\"):\r\nclient.collections.delete(\"Games\")\r\nclient.collections.create(\r\nname=\"Games\",\r\nproperties=[\r\nwc.Property(name=\"name\", data_type=wc.DataType.TEXT),\r\nwc.Property(name=\"price\", data_type=wc.DataType.INT),\r\nwc.Property(name=\"platforms\", data_type=wc.DataType.TEXT_ARRAY),\r\nwc.Property(name=\"release_date\", data_type=wc.DataType.DATE),\r\nwc.Property(name=\"description\", data_type=wc.DataType.TEXT),\r\n],\r\ngenerative_config=wc.Configure.Generative.ollama(model=\"deepseek-r1:1.5b\",\r\napi_endpoint=\"http:\/\/host.docker.internal:11434\"),\r\nvectorizer_config=wc.Configure.Vectorizer.text2vec_openai(),\r\n)\r\n<\/code><\/pre>\n<ul>\n<li>\u5bfc\u5165\u6e38\u620f\u6570\u636e:\u00a0\u4f7f\u7528\u4ee5\u4e0b\u4ee3\u7801\u5c06\u00a0games.csv\u00a0\u6587\u4ef6\u4e2d\u7684\u6570\u636e\u5bfc\u5165\u5230 &#8220;Games&#8221; \u96c6\u5408\u4e2d\u3002\u4ee3\u7801\u8bfb\u53d6 CSV \u6587\u4ef6\uff0c\u5e76\u5c06\u6bcf\u884c\u6570\u636e\u8f6c\u6362\u4e3a Weaviate \u5bf9\u8c61\uff0c\u7136\u540e\u6279\u91cf\u6dfb\u52a0\u5230\u96c6\u5408\u4e2d\u3002<\/li>\n<\/ul>\n<pre><code>games = client.collections.get(\"Games\")\r\ndf = pd.read_csv('games.csv')\r\nwith games.batch.dynamic() as batch:\r\nfor i, game in tqdm(df.iterrows()):\r\nplatforms = game[\"platform\"].split(',') if type(game[\"platform\"]) is str else []\r\ngame_obj = {\r\n\"name\": game[\"name\"],\r\n\"platforms\": platforms,\r\n\"price\": game[\"price\"],\r\n\"release_date\": game[\"release_date\"],\r\n\"description\": game[\"description\"],\r\n}\r\nbatch.add_object(\r\nproperties=game_obj,\r\nuuid=generate_uuid5(game[\"id\"])\r\n)\r\nif len(games.batch.failed_objects) &gt; 0:\r\nprint(f\"Failed to import {len(games.batch.failed_objects)} objects\")\r\nprint(games.batch.failed_objects)\r\n<\/code><\/pre>\n<p>&nbsp;<\/p>\n<h3>\u6b65\u9aa4 4\uff1a\u8fdb\u884c\u5d4c\u5165\u641c\u7d22<\/h3>\n<p>\u73b0\u5728\uff0c\u4f60\u7684 &#8220;Games&#8221; \u96c6\u5408\u5df2\u7ecf\u586b\u5145\u4e86\u6570\u636e\u3002\u4f60\u53ef\u4ee5\u5c1d\u8bd5\u8fdb\u884c\u5d4c\u5165\u641c\u7d22\uff0c\u68c0\u7d22\u4e0e\u7528\u6237\u67e5\u8be2\u76f8\u5173\u7684\u6e38\u620f\u3002\u4ee5\u4e0b\u4ee3\u7801\u6f14\u793a\u4e86\u5982\u4f55\u67e5\u8be2\u4e0e &#8220;I play the vilain&#8221; (\u6211\u626e\u6f14\u53cd\u6d3e) \u76f8\u5173\u7684\u6e38\u620f\uff0c\u5e76\u8fd4\u56de\u6700\u76f8\u5173\u7684 3 \u4e2a\u7ed3\u679c\u3002<\/p>\n<pre><code>response = games.query.near_text(query=\"I play the vilain\", limit=3)\r\nfor o in response.objects:\r\nprint(o.properties)\r\n<\/code><\/pre>\n<p>\u8fd9\u6bb5\u4ee3\u7801\u4f1a\u8f93\u51fa\u4e0e\u67e5\u8be2\u76f8\u5173\u7684 3 \u4e2a\u6e38\u620f\u7684\u5c5e\u6027\u4fe1\u606f\uff0c\u4f8b\u5982\u5e73\u53f0\u3001\u63cf\u8ff0\u3001\u4ef7\u683c\u3001\u53d1\u5e03\u65e5\u671f\u548c\u540d\u79f0\u3002<\/p>\n<p>&nbsp;<\/p>\n<h3>\u6b65\u9aa4 5\uff1a\u6784\u5efa\u63a8\u8350 RAG \u5e94\u7528<\/h3>\n<p>\u4e3a\u4e86\u5b9e\u73b0\u66f4\u667a\u80fd\u7684\u6e38\u620f\u63a8\u8350\uff0c\u6211\u4eec\u9700\u8981\u521b\u5efa\u4e00\u4e2a RAG \u5e94\u7528\u3002\u4ee5\u4e0b\u00a0recommend_game\u00a0\u51fd\u6570\u5b9e\u73b0\u4e86\u8fd9\u4e00\u529f\u80fd\u3002\u5b83\u63a5\u6536\u7528\u6237\u67e5\u8be2\u4f5c\u4e3a\u8f93\u5165\uff0c\u68c0\u7d22\u6700\u76f8\u5173\u7684 5 \u4e2a\u6e38\u620f\uff0c\u5e76\u4f7f\u7528\u00a0deepseek-r1:1.5b\u00a0\u6a21\u578b\u751f\u6210\u4e2a\u6027\u5316\u7684\u63a8\u8350\u7ed3\u679c\u3002<\/p>\n<pre><code>def recommend_game(query: str):\r\nresponse = games.generate.near_text(\r\nquery=query,\r\nlimit=5,\r\ngrouped_task=f\"\"\"You've been provided some relevant games based on the users query.\r\nProvide an answer to the query. Your final answer MUST indicate the platform each game is available on.\r\nUser query: {query}\"\"\",\r\ngrouped_properties=[\"name\", \"description\", \"price\", \"platforms\"],\r\n)\r\nreturn {'thought':response.generated.split('&lt;\/think&gt;')[0], 'recommendation': response.generated.split('&lt;\/think&gt;')[1]}\r\n<\/code><\/pre>\n<p>\u8fd9\u4e2a\u51fd\u6570\u4f7f\u7528\u4e86\u00a0games.generate.near_text\u00a0\u65b9\u6cd5\uff0c\u5b83\u4e0d\u4ec5\u6267\u884c\u5411\u91cf\u641c\u7d22\uff0c\u8fd8\u5229\u7528\u751f\u6210\u5f0f\u6a21\u578b\u6839\u636e\u68c0\u7d22\u5230\u7684\u6e38\u620f\u4fe1\u606f\u751f\u6210\u63a8\u8350\u6587\u672c\u3002grouped_task\u00a0\u53c2\u6570\u5b9a\u4e49\u4e86\u6a21\u578b\u7684\u751f\u6210\u4efb\u52a1\uff0c\u6307\u793a\u6a21\u578b\u6839\u636e\u7528\u6237\u67e5\u8be2\u548c\u68c0\u7d22\u5230\u7684\u6e38\u620f\u4fe1\u606f\u751f\u6210\u7b54\u6848\uff0c\u5e76\u660e\u786e\u8981\u6c42\u5728\u7b54\u6848\u4e2d\u5305\u542b\u6e38\u620f\u5e73\u53f0\u4fe1\u606f\u3002<\/p>\n<p>\u4f60\u53ef\u4ee5\u901a\u8fc7\u8c03\u7528\u00a0recommend_game\u00a0\u51fd\u6570\u5e76\u4f20\u5165\u7528\u6237\u67e5\u8be2\u6765\u6d4b\u8bd5\u4f60\u7684\u6e38\u620f\u63a8\u8350\u5e94\u7528\u3002\u4f8b\u5982\uff0c\u67e5\u8be2 &#8220;What are some games that I get to role play a magical creature&#8221; (\u6709\u54ea\u4e9b\u6e38\u620f\u53ef\u4ee5\u626e\u6f14\u9b54\u6cd5\u751f\u7269)\u3002<\/p>\n<pre><code>response = recommend_game(\"What are some games that I get to role play a magical creature\")\r\nprint(response['recommendation'])\r\n<\/code><\/pre>\n<p>\u8fd0\u884c\u8fd9\u6bb5\u4ee3\u7801\uff0c\u4f60\u5c06\u770b\u5230\u6a21\u578b\u751f\u6210\u7684\u6e38\u620f\u63a8\u8350\u7ed3\u679c\uff0c\u4f8b\u5982\uff1a<\/p>\n<pre><code>Here are several games that allow you to role-play as a magical creature:\r\n1. **Mages of Mystralia**\r\n- **Platform:** Windows\r\n- Description: A fantasy RPG where you design your own spells in a world of magic, allowing creativity and flexibility.\r\n2. **Geneforge 1 - Mutagen**\r\n- **Platforms:** Windows, Mac\r\n- Description: An open-ended RPG with mutant monsters, multiple skills, treasures, factions, and creation possibilities, offering unparalleled freedom and replayability.\r\n3. **Beasts of Maravilla Island**\r\n- **Platform:** Windows\r\n- Description: A 3D adventure game where you role as a wildlife photographer exploring magical ecosystems, focusing on behavior learning for photography.\r\n4. **Paper Beast**\r\n- **Platforms:** Windows (PC)\r\n- Description: An adventure game about disrupting wildlife balance with a focus on exotic creatures and mystery-solving.\r\n5. **Black Book**\r\n- **Platform:** Windows\r\n- Description: A dark RPG based on Slavic myths, played as a young sorceress in a world of mythological creatures through card-based battles.\r\nEach game offers unique experiences suitable for role-playing as a magical creature.\r\n<\/code><\/pre>\n<p>\u5982\u679c\u4f60\u60f3\u67e5\u770b\u6a21\u578b\u5728\u751f\u6210\u63a8\u8350\u7ed3\u679c\u65f6\u7684\u601d\u8003\u8fc7\u7a0b\uff0c\u53ef\u4ee5\u6253\u5370\u00a0response[&#8216;thought&#8217;]\u00a0\u5c5e\u6027\uff1a<\/p>\n<pre><code>print(response['thought'])\r\n<\/code><\/pre>\n<p>\u8fd9\u5c06\u8f93\u51fa\u6a21\u578b\u5728\u540e\u53f0\u7684\u601d\u8003\u8fc7\u7a0b\uff0c\u5e2e\u52a9\u4f60\u66f4\u597d\u5730\u7406\u89e3\u63a8\u8350\u903b\u8f91\u3002<\/p>\n<pre><code>&lt;think&gt;\r\nOkay, so I need to figure out some games that let me role-play as a magical creature. The user provided several options, each with a description and platform. Let me go through them one by one.\r\nFirst up is \"Mages of Mystralia.\" From the description, it's a fantasy RPG where you design your own spells in a world of magic. That sounds perfect because it allows for a lot of creativity as a magical creature. The platform is Windows, so maybe the user can run it on their PC or any desktop system.\r\nNext is \"Geneforge 1 - Mutagen.\" This seems like an open-ended RPG with mutant monsters and a battle mechanic. It's described as having countless skills, treasures, factions, and creation possibilities. Unmatched freedom and replayability make sense because it allows for various storylines. The platform here is Windows and Mac, so compatible options would be useful.\r\nThen there's \"Beasts of Maravilla Island.\" As the name suggests, it's a 3D adventure game where you take on a wildlife photographer exploring ecosystems. It focuses on behavior learning and photography, which could be exciting for someone looking to role-play in nature. The platform is Windows, so that should be accessible.\r\n\"Paper Beast\" is another adventure game mentioned. It's about an unknown power disrupting wildlife balance, with players joining exotic creatures to solve mysteries. While it's PC-focused, maybe there are porting options available or different devices that can run it if the user has access to them.\r\nLastly, \"Black Book.\" This dark RPG is based on Slavic myths and played as a young sorceress. It involves card-based battles in a world with mythological creatures. The platform here is Windows, so maybe older hardware might be a bit limiting unless the user has an updated PC or a dedicated console.\r\nI should make sure each game is listed clearly with their platforms and any necessary details about how they work as magical creatures. Also, it's good to offer a couple of options if some aren't available. Maybe suggest cross-platform games or platforms that can be used for playing.\r\n&lt;\/think&gt;\r\n<\/code><\/pre>\n<p>\u606d\u559c\u4f60\uff01\u4f60\u5df2\u7ecf\u6210\u529f\u6784\u5efa\u4e86\u4e00\u4e2a\u57fa\u4e8e DeepSeek \u548c Ollama \u7684\u6e38\u620f\u63a8\u8350 RAG \u5e94\u7528\u3002\u901a\u8fc7\u672c\u6559\u7a0b\uff0c\u4f60\u638c\u63e1\u4e86\u5982\u4f55\u4f7f\u7528 RAG \u6280\u672f\u7ed3\u5408\u5927\u578b\u8bed\u8a00\u6a21\u578b\u548c\u5411\u91cf\u6570\u636e\u5e93\u6765\u6784\u5efa\u4e2a\u6027\u5316\u63a8\u8350\u7cfb\u7edf\u7684\u57fa\u672c\u65b9\u6cd5\u3002\u4f60\u53ef\u4ee5\u6839\u636e\u81ea\u5df1\u7684\u9700\u6c42\u6269\u5c55\u548c\u6539\u8fdb\u8fd9\u4e2a\u5e94\u7528\uff0c\u4f8b\u5982\u6dfb\u52a0\u66f4\u591a\u7684\u6e38\u620f\u6570\u636e\uff0c\u4f18\u5316\u63a8\u8350\u7b97\u6cd5\uff0c\u6216\u8005\u5f00\u53d1\u7528\u6237\u754c\u9762\uff0c\u6253\u9020\u66f4\u5b8c\u5584\u7684\u6e38\u620f\u63a8\u8350\u670d\u52a1\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u60f3\u8981\u6784\u5efa\u4e00\u4e2a\u80fd\u591f\u63d0\u4f9b\u4e2a\u6027\u5316\u6e38\u620f\u63a8\u8350\u7684\u5e94\u7528\u5417\uff1f\u672c\u6559\u7a0b\u5c06\u4e00\u6b65\u6b65\u6307\u5bfc\u4f60\u4f7f\u7528\u68c0\u7d22\u589e\u5f3a\u751f\u6210\uff08RAG\uff09\u6280\u672f\uff0c\u7ed3\u5408 DeepSeek \u548c Ollama \u6a21\u578b\uff0c\u6253\u9020\u4e00\u4e2a\u5b9a\u5236\u5316\u7684\u6e38\u620f\u63a8\u8350\u7cfb\u7edf\u3002 \u6211\u4eec\u5c06\u4f7f\u7528 Epic Games \u5546\u5e97\u6570\u636e\u96c6\u4e2d\u7684\u00a0games.c&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[182],"tags":[],"class_list":["post-28995","post","type-post","status-publish","format-standard","hentry","category-shicao"],"_links":{"self":[{"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/posts\/28995","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/comments?post=28995"}],"version-history":[{"count":0,"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/posts\/28995\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/media?parent=28995"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/categories?post=28995"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kdjingpai.com\/ja\/wp-json\/wp\/v2\/tags?post=28995"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}