DeepSeek 评中国最宜居城市是珠海,怎么看这个结果?你去过珠海吗?

发布时间:
2025-03-15 20:47
阅读量:
7

首先创建一个空的notebook,不用下载,这个就行:Project Jupyter

然后硅基流动新创建一个密钥,就叫最宜居城市吧。

然后选择使用硅基流动的R1模型

我们让V3循环输出50次,也就是循环提问中国最宜居的城市,从第一到第五,直接给出答案即可,然后做一个统计和一个可视化图。

这是代码,只需要替换掉密钥即可。

import requests import re from collections import defaultdict import matplotlib.pyplot as plt # 用于存放每个排名1~5的城市统计 ranking_counts = {1: defaultdict(int), 2: defaultdict(int), 3: defaultdict(int), 4: defaultdict(int), 5: defaultdict(int)} # 循环50次请求 for i in range(50): url = "https://api.siliconflow.cn/v1/chat/completions" payload = { "model": "deepseek-ai/DeepSeek-V3", "messages": [ { "role": "user", "content": "R1中国最宜居的城市,请从第一到第五直接给出答案。" } ], "stream": False, "max_tokens": 512, "stop": ["null"], "temperature": 0.7, "top_p": 0.7, "top_k": 50, "frequency_penalty": 0.5, "n": 1, "response_format": {"type": "text"} } headers = { "Authorization": "Bearer <token>", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) answer = response.text print(f"Response {i+1}:\n{answer}\n") # 假设返回结果格式类似: # "1. 北京 # 2. 上海 # 3. 广州 # 4. 深圳 # 5. 成都" # 使用正则表达式提取排名与城市 pattern = re.compile(r"^\s*(\d+)[\.\、\s]+(.+)$", re.MULTILINE) matches = pattern.findall(answer) if matches and len(matches) >= 5: for rank, city in matches[:5]: try: rank_int = int(rank) if 1 <= rank_int <= 5: ranking_counts[rank_int][city.strip()] += 1 except ValueError: continue # 统计完成后打印统计结果 print("统计结果:") for rank in range(1, 6): print(f"\n第 {rank} 名:") for city, count in ranking_counts[rank].items(): print(f"{city}{count} 次") # 可视化部分:为每个排名绘制一个条形图 fig, axs = plt.subplots(3, 2, figsize=(12, 10)) axs = axs.flatten() for idx, rank in enumerate(range(1, 6)): cities = list(ranking_counts[rank].keys()) counts = list(ranking_counts[rank].values()) ax = axs[idx] ax.bar(cities, counts, color='skyblue') ax.set_title(f"第 {rank} 名城市出现频次") ax.set_xlabel("城市") ax.set_ylabel("次数") ax.tick_params(axis='x', rotation=45) # 删除多余的子图如果有 if len(axs) > 5: fig.delaxes(axs[-1]) plt.tight_layout() plt.show()

这是生成的一部分结果

最后面访问受限制,不让用了。

但是从已有的结果分析,珠海出现的频率很低,甚至都不在Top5的范围内。

毕竟大模型是一个概率模型,你只要问它问题,它总会给你个答案,这个城市可能是几十个城市中选一个,但是问一次不行,有失偏颇,最少也得问5-10次。

可以看第一部分的翻车案例来了解这个概念:

平凡:DeepSeek零基础实操训练:从工具到思维进阶【文字版】

END