要想使用DeepSeek API 大展身手,首先得拿到 “入场券”——API Key。这就像是一把特殊的钥匙,有了它,你才能开启与 DeepSeek 大语言模型交互的大门。申请过程其实并不复杂,跟着下面的步骤来,保准你轻松搞定 :
1.注册账号:打开DeepSeek的官方网站,在页面上找到注册入口,一般很显眼,可能就在右上角。点击进入注册页面后,按照提示填写你的信息,比如邮箱、手机号,再设置一个安全又好记的密码 。注册成功后,记得去邮箱或者手机查看验证信息,完成验证,这一步可是确保你账号安全的重要环节。
1.申请API Key:登录你刚刚注册好的账号,进入DeepSeek的开放平台。在平台的管理界面中,仔细找找“API Key管理”或者类似的选项。找到后,点击“创建API Key”,你可能还需要给这个Key起个名字,方便你自己识别和管理,比如“我的开发项目API Key”。确认创建后,系统会生成一串长长的字符,这就是你的API Key啦 !一定要把它妥善保存好,这可是你的专属密钥,千万不能泄露给别人,就像不能把自己家门钥匙随便给陌生人一样。
除了拿到API Key,在使用 DeepSeek API 之前,还得准备好合适的开发环境和工具,就像厨师做菜得先把锅碗瓢盆、食材调料准备齐全一样 :
·编程语言:DeepSeek API支持多种编程语言,像Python、Java、C++等。如果你是Python爱好者,那恭喜你,Python简洁的语法和丰富的库能让你在调用API时如鱼得水。要是你更熟悉Java的严谨结构,或者C++的高效性能,也完全没问题,DeepSeek API都能很好地适配。
·开发工具:选择一个称手的集成开发环境(IDE)能大大提高你的开发效率。如果你用Python,PyCharm就是个非常不错的选择,它有智能代码提示、调试方便等优点,能让你在编写代码时少走很多弯路。要是你用Java,IntelliJ IDEA或者Eclipse都是行业内广泛使用的IDE,功能强大,能满足各种复杂项目的开发需求。
·安装必要的库:以Python为例,你需要安装OpenAI的Python SDK,因为DeepSeek API兼容OpenAI API格式,安装这个SDK能让你更方便地调用DeepSeek API。打开你的命令行工具,输入“pip install openai”,等待安装完成,就可以开始在代码中引入相关库,准备调用API了 。
(一)模型调用
在DeepSeek API 的世界里,模型调用就像是指挥一场精彩的交响乐,每个音符都至关重要。DeepSeek 提供了多种强大的模型,其中 deepseek - chat 和 deepseek - reasoner 备受瞩目 。
要调用deepseek - chat 模型,它就像一位能说会道的好朋友,擅长日常对话、文本创作等各种自然语言处理任务,在代码中你可以这样写(以 Python 为例):
在这段代码中,model参数指定了我们要调用的是deepseek - chat模型 ,就像在图书馆里找到特定的书籍;messages参数则是我们与模型交流的内容,role表示角色,“system” 设定了模型的角色,“user” 则是我们自己提出的问题 。
而deepseek - reasoner 模型,它就像一位逻辑严谨的推理大师,在处理需要深度思考和逻辑推理的问题时表现出色 。调用它的方式也很简单,只需将model参数改为 “deepseek - reasoner” 即可:
这里,除了能得到最终答案content,还能通过response.choices[0].message.model_extra['reasoning_content']获取模型的思考过程reasoning_content ,让我们能一窥模型的推理逻辑 。
(二)消息格式
在与DeepSeek 模型交流时,消息格式就像是我们使用的语言规范,只有遵循规范,才能实现顺畅的沟通 。DeepSeek API 支持四种消息格式:System message、User message、Assistant message、Tool message 。
System message:它就像是舞台的幕后导演,为整个对话定下基调。参数包括content(消息内容)、role(固定为 “system”)和name(可选的参与者名称,用于区分相同角色的参与者) 。例如:
{"role": "system", "content": "你是一个专业的美食推荐助手", "name": "美食大师"}
这段消息告诉模型,它要扮演一个专业的美食推荐助手,在后续的对话中,就会根据这个设定来回答用户的问题。
User message:这是我们用户与模型对话的主要方式,就像在舞台上向演员提问。参数有content(用户的问题或输入内容)、role(固定为 “user”)和name(可选) 。比如:
{"role": "user", "content": "推荐一些适合晚餐的清淡菜品", "name": "小李"}
模型收到这样的用户消息后,就会根据自身的知识和设定的角色,给出相应的回答。
Assistant message:是模型给我们的回复,就像演员的精彩表演。参数有content(回复内容)、role(固定为 “assistant”)和name(可选) 。此外,还有一些特殊参数,当prefix设置为true时,能强制模型在回答中以此消息中提供的前缀内容开始 。比如:
{"role": "assistant", "content": "为你推荐几道适合晚餐的清淡菜品:", "name": "美食大师", "prefix": true}
这样模型的回答就会以“为你推荐几道适合晚餐的清淡菜品:” 作为开头 。对于deepseek - reasoner模型,还有reasoning_content参数,用于在对话前缀续写功能下,作为最后一条 assistant 思维链内容的输入 。
Tool message:主要用于模型与外部工具的交互,就像演员借助道具来丰富表演。参数包括content(消息内容)、role(固定为 “tool”)和tool_call_id(此消息所响应的 tool call 的 ID) 。在一些复杂的任务中,模型可能会调用外部工具来获取更多信息,这时就会用到 Tool message 。
(三)返回值解读
当我们向DeepSeek API 发送请求后,模型会返回丰富的信息,这些返回值就像是打开宝箱后看到的宝藏,蕴含着我们需要的答案 。
以对话补全请求为例,返回值通常包含以下重要参数:
·id:是该对话的唯一标识符,就像每个人的身份证号,用于区分不同的对话。
·choices:这是模型生成的completion的选择列表,是返回值的核心部分 。其中finish_reason表示模型停止生成token的原因,可能是“stop”(模型自然停止生成,或遇到stop序列中列出的字符串)、“length”(输出长度达到了模型上下文长度限制,或达到了max_tokens的限制)、“content_filter”(输出内容因触发过滤策略而被过滤)、“insufficient_system_resource”(系统推理资源不足,生成被打断) ;index是该completion在选择列表中的索引;message则包含了模型生成的completion消息,其中content是回答的内容,对于deepseek - reasoner模型,还会有reasoning_content,包含推理过程 。
·created:创建聊天完成时的Unix时间戳(以秒为单位),记录了对话的时间 。
·model:生成该completion的模型名,让我们知道是哪个模型给出的回答 。
·object:对象的类型,通常为“chat.completion”。
·usage:该对话补全请求的用量信息,包括completion_tokens(模型completion产生的token数)、prompt_tokens(用户prompt所包含的token数,等于prompt_cache_hit_tokens + prompt_cache_miss_tokens)、prompt_cache_hit_tokens(用户prompt中,命中上下文缓存的token数)、prompt_cache_miss_tokens(用户prompt中,未命中上下文缓存的token数)、total_tokens(该请求中,所有token的数量,即prompt + completion) 。通过这些用量信息,我们可以了解对话的资源消耗情况,就像查看手机流量使用情况一样 。