Deep analysis and code generation

Working with DeepSeek in Python

James Chapman

AI Curriculum Lead, DataCamp

Recap...

print(response.choices[0].message.content)
Step 1 - ...
Step 2 - ...
Final Answer: ...
  • Reasoning is on by default → tune with reasoning_effort="high" or "max"
  • temperature has no effect while reasoning
Working with DeepSeek in Python

1. Keep it simple

  • Concise prompts

What are the differences between lists and tuples in Python?

In Python, there are different data structures. Lists are...

  • Providing examples (e.g., few-shot) can diminish performance

Who developed the Python programming language?

Example 1:
Q: Who developed the R programming language?
A: Ross Ihaka and Robert Gentleman
Working with DeepSeek in Python

2. Encourage reasoning

 

"... Take your time and think through each step."

 

Increased token usage

Increased time-to-response

Working with DeepSeek in Python

3. Stay away from simple tasks!

 

Chat mode

A chat model easily completing a simple task.

 

Reasoning mode

A reasoning model struggling with simple problems.

Working with DeepSeek in Python

3. Stay away from simple tasks!

response = client.chat.completions.create(
    model="deepseek-ai/DeepSeek-V4-Pro",
    messages=[{"role": "user", "content": "Return the result of 1+1."}]
)
print(response.choices[0].message.content)
Let's count step by step.
- Start with 1.
- Add another 1.
- 1 + 1 = 2.

**Final Answer: 2**
  • For trivial lookups, the structured reasoning is overkill
  • Costs more tokens and more latency than a chat-style answer
Working with DeepSeek in Python

Example: Code debugging

A human debugging code.

The reasoning model workflow.

Working with DeepSeek in Python

Example: Code debugging

A reasoning model fixing code based on the error.

Working with DeepSeek in Python

Example: Code debugging

prompt = """
[Task: Fix the following code.]

Code:
def count_to_ten(start):
    while start < 10:
        print(start)
    return "Done"

count_to_ten(1)
"""
Working with DeepSeek in Python
print(response.choices[0].message.content)
Let me walk through the function step by step.

The function uses a while loop: while start < 10. Then it prints start. But wait, inside the loop,
there's no increment for the start variable — that's the issue.

The fix is to add an increment to start inside the loop. Like start += 1.

Here is the corrected code:

def count_to_ten(start):
    while start < 10:
        print(start)
        start += 1
    return "Done"

count_to_ten(1)
Working with DeepSeek in Python

Let's practice!

Working with DeepSeek in Python

Preparing Video For Download...