【AI】【Unity】关于Unity接入DeepseekAPI遇到的坑

前言

由于deepseek网页端在白天日常抽风,无法正常的使用,所以调用API就成了目前最好的选择,尤其是Deepseek的API价格低得可怕,这不是和白送的一样吗!然后使用过很多本地部署接入API的方式,例如Chatbox、PageAssist等,都很好用,今天突发奇想,准备自己写一个C#的版本集成到我的Unity项目中,一开始认为非常轻松,但事实上由于不熟悉UnityNetworking搞得时间比较长,现在就来总结一下遇到的问题。

遇到问题

  1. 如何直接从deepseek获取模型名称
  2. 调用Request的时候报错400

解决方法

  1. 由于在Unity中有专门的HTTP请求方式,所以并没有使用C#的Net模块,这也是第一个大坑!因为请求格式和普通的C#请求格式完全不同,所以要注意在Deepseek请求模型后返回的内容,id是模型名称(实际上就这个有用),object是"model",owned_by是"deepseek-ai",而这个模型名称就是我们在创建请求的时候要用到的,但是在请求是body内的填写的模型键值对的key是model和id不一样,导致了直接Get模型名称后,key值不一样,不能直接传到body内作为模型参数,而要改一下键值对,将"id":"deepseek-reasoner"改成"model":"deepseek-reseaoner",这样才能正常的使用指定模型!
  2. 报错400则大概率时本地传参时的错误,重点对照deepseek官网api调用的地方对应一下自己的参数名和参数类型都是否正确,我这里的问题是max_tokens写大了,deepseek-reason最大支持输出的token值是8k,我给了一个12k,所以传过去之后,发现参数非法,就给打回来了,对应的错误代码就是400了,当然大家如果遇到相同的问题,可能不是这个参数的问题,可能是其他参数的问题,总之就是检查一下传入的参数结构和合法性即可。

结语

真是要实际调用后才知道,调用api也能有这么多坑,后续如果还遇到有坑会继续更新本文,大伙有其他的问题也欢迎在评论区留言。

后续补充

  1. 400的错误还有可能是上下文过长导致的,deepseek的上下文仅支持64k,一个中文字符就有0.8token好像,所以有时候报错可能是上下文太长导致的。
相关推荐
KaGme1 小时前
生成3DGS场景在unity中的呈现
3d·unity·游戏引擎
路小雨~6 小时前
Transformer架构学习笔记:从数学推导到工程实现与主流变体
笔记·ai·transformer
大势智慧7 小时前
使用低空大师进行无人机巡查一段时间后,如何确定重点整治区域?
人工智能·ai·无人机·实景三维·低空经济·事件预警
唐骁虎8 小时前
Claude Code 全景架构指南——三大核心支柱及四大关键扩展组件
ai·架构·ai编程·claude code
VIP_CQCRE8 小时前
Claude Code + Seedance MCP:命令行 AI 舞蹈视频生成
ai
金融RPA机器人丨实在智能8 小时前
ARC-AGI-3模型大血洗后的冷思考:企业如何利用“实在Agent”跨越AGI落地鸿沟?
人工智能·ai·agi
云道轩9 小时前
告诉 Claude Code 在项目中遵循特定的编程模式/设计模式和技术栈约束
设计模式·ai·agent·claude code
L-影9 小时前
下篇:它到底是怎么操作的——AI中半监督学习的类型与作用,以及为什么它成了行业的“最优解”
人工智能·学习·机器学习·ai·半监督学习
GISer_Jing9 小时前
Agent架构师详解:Skill是什么?附CSDN博客撰写可复用Skill示例
前端·ai·aigc
x-cmd10 小时前
[x-cmd] 一切 Web、桌面应用和本地工具皆可 CLI -opencli
前端·ai·github·agent·cli·x-cmd