python在调用deepseek模型时,怎么分别打印思考链和推理结果
时间: 2025-03-02 09:07:46 浏览: 184
### 调用 DeepSeek 模型并打印思考链和推理结果
为了在 Python 中调用 DeepSeek 模型并分别打印思考链和最终的推理结果,可以通过配置 API 请求来获取详细的中间过程以及最终结论。下面是一个具体的实现方式:
#### 安装依赖库
首先确保安装了必要的库用于与 Ollama 平台交互。
```bash
pip install ollama-api
```
#### 配置环境变量
设置访问令牌以便能够成功连接到 Ollama 的 API 服务。
```python
import os
os.environ["OLLAMA_API_KEY"] = "your_api_key_here"
```
#### 编写函数以请求模型响应
创建一个函数 `get_deepseek_response` 来发送提示给指定的 DeepSeek 模型,并接收返回的结果数据结构。
```python
from ollama import Client, ModelInput
def get_deepseek_response(prompt_text: str) -> dict:
client = Client()
input_data = ModelInput(
model="deepseek-chat", # 使用 deepseek-chat 模型 [^2]
prompt=prompt_text,
parameters={
'return_reasoning': True, # 返回思考链逻辑
'max_tokens': 500 # 控制输出长度
}
)
response = client.generate(input_data)
return response.to_dict()
```
#### 解析并展示思考链与推理结果
定义另一个辅助函数 `display_thoughts_and_conclusion` 将上述获得的数据解析成易于理解的形式。
```python
def display_thoughts_and_conclusion(response_dict: dict):
thoughts = response_dict.get('reasoning', '')
conclusion = response_dict.get('text', '')
print("=== 思考链 ===\n")
if isinstance(thoughts, list): # 如果是以列表形式存储多个步骤,则逐条显示
for idx, thought in enumerate(thoughts, start=1):
print(f"{idx}. {thought}\n")
elif isinstance(thoughts, str): # 或者直接作为字符串处理
print(thoughts)
print("\n=== 推理结果 ===\n")
print(conclusion)
```
#### 实际应用案例
最后组合以上组件完成一次完整的查询操作。
```python
if __name__ == "__main__":
user_input = "解释什么是人工智能?"
resp = get_deepseek_response(user_input)
display_thoughts_and_conclusion(resp)
```
此代码片段展示了如何利用 Python 结合 Ollama 提供的服务接口去调用特定版本的 DeepSeek 模型,并且通过调整参数选项使得我们可以观察到整个推导过程中间产生的思考链条路,同时也得到了最终形成的回答内容[^1]。
阅读全文
相关推荐


















