DeepSeek:国产大模型之光
DeepSeek(深度求索)是一家中国人工智能软件公司,总部位于浙江杭州,由中国对冲基金 High-Flyer 投资支持。它是由梁文峰于 2023 年 7 月 17 日创立 ,现梁文峰担任公司首席执行官。它有两个比较流行的版本:
-
R1版本:DeepSeek-R1 在后训练阶段大规模使用了强化学习技术,在仅有极少标注数据的情况下,极大提升了模型推理能力。在数学、代码、自然语言推理等任务上,性能比肩 OpenAI o1 正式版。
DeepSeek R1版本测评
-
V3版本:DeepSeek-V3 多项评测成绩超越了 Qwen2.5-72B 和 Llama-3.1-405B 等其他开源模型,并在性能上和世界顶尖的闭源模型 GPT-4o 以及 Claude-3.5-Sonnet 不分伯仲。
DeepSeek V3版本测评
不过最近官网API不太稳定,真得吐槽下,国内人都不够用,给什么老外用哈!不稳定的API,直接影响Agent的表现哈,真血泪教训!
DeepSeek真心不稳定
这时候你就可以尝试下集成LLM 的平台------硅基流动平台 !它提供了稳定的DeepSeek调用服务,现在注册还送免费Token哈!
AutoGen:微软出品的智能体框架
AutoGen是由微软开源的Agent框架,后台算是有了保障了。上个月左右发布了最新0.4版本,相比之前0.2版本也更加高效和稳定了:
- 支持异步消息处理(较少出现对话卡壳)
- 新增群聊管理功能(多智能体合作)
- 强化异常处理机制
和其他框架(比如LangChain)相比,可以直接看下表哈。
各个Agent框架的比较
实战案例:根据歌名获取音乐链接
让我们用代码造个音乐小助手,实现中英文智能搜索:
第一步:安装相关python包
python
# 安装必备工具包
!pip install autogen_ext
!pip install autogen_core
!pip install autogen_agentchat
第二步:使用Deepseek模型
python
# 配置DeepSeek V3的专属通道
custom_model_client = OpenAIChatCompletionClient(
model= "deepseek-ai/DeepSeek-V3",
base_url= "https://api.siliconflow.cn", # 硅基流动api的url
api_key= "api key"
)
第三步:为Agent植入"音乐基因"
为Agent植入"音乐基因",也就是给Agent一个系统设定,我们要实现如下功能哈:
- 能自动识别歌手国籍
- 中英文智能转换(比如把"久石让"转成"Joe Hisaishi")
- 输出标准JSON格式
python
async def get_track_link(track_name: str, artist_name: str= None)-> json:
cancellation_token= CancellationToken()
assistant= AssistantAgent(
name= "assistant",
system_message= "你是一个音乐大师,你对世界上音乐家都很了解。"
"对于给定的音乐家姓名与歌曲,你需要判断它的国籍,如果是中国歌手,请你将音乐家姓名和歌曲转换为中文;"
"如果是非中国的歌手,请你将音乐家姓名和歌曲名都转换为英文(切记,别忘了歌曲名也转换为英文)。"
"你仅仅输出下面内容(例子):{\"track_name\": \"漂洋过海来看你\", \"artist_name\": \"李宗盛\"}",
model_client= custom_model_client
)
user_input= f"用户输入的歌曲名: {track_name}, 艺术家名: {artist_name}"
response= await assistant.on_messages([TextMessage(content= user_input, source= "user")], cancellation_token)
# Parse the search_result string into a dictionary
try:
search_result= json.loads(response.chat_message.content)
except json.JSONDecodeError:
print("Failed to parse the search result as JSON.")
return None
#
music_name= search_result["track_name"]
artist_name= search_result["artist_name"]
search_result= search_track(music_name, artist_name)
tracks= search_result.get("results", {}).get("trackmatches", {}).get("track", [])
if not tracks:
return
# 获取前 3 个链接(如果不足 3 个,则全部输出)
track_links= [track.get("url") for track in tracks[:3]]
ret_json= {
"music": music_name,
"artist": artist_name,
"links": track_links
}
return ret_json
第四步:Last.fm对接
Last.fm注册(注册链接再最后,免费的哈)后,就可以使用相关的API服务了。
python
# 根据歌名搜索歌曲
def search_track(track_name, artist_name= None, limit= 5):
url= "http://ws.audioscrobbler.com/2.0/"
params= {
"method": "track.search",
"track": track_name,
"api_key": "Lastfm api key", # Last.fm API 密钥
"format": "json",
"limit": limit
}
if artist_name:
params["artist"]= artist_name
response= requests.get(url, params= params)
return response.json()
效果展示
输入内容:
python
# 示例调用
track_name= "The rain" # 歌名
artist_name= "久石让" # 艺术家名称(可选)
track_link= await get_track_link(track_name, artist_name)
track_link
AI会自动转换成英文搜索,输出类似:
json
{'music': 'The Rain',
'artist': 'Joe Hisaishi',
'links': ['https://www.last.fm/music/Joe+Hisaishi/_/In+the+Rain',
'https://www.last.fm/music/Joe+Hisaishi/_/The+Rain',
'https://www.last.fm/music/Joe+Hisaishi/_/Morning+in+the+Slag+Ravine']}
结语
我们给出了DeepSeek的介绍,API的稳定使用方法和一个简单的音乐链接获取案例。最后,不得不感慨,百度啊百度,你几乎是国内最早推出LLM的,最早收费的,结果你又是"起了个大早,赶了个晚集"。
"百度式"遗憾
链接
[1] deepseek大语言模型体验
[2] deepseek api链接
[3] 硅基流动平台
[4] Home | Last.fm