mirror of
https://github.com/deepseek-ai/DeepSeek-R1.git
synced 2025-02-23 06:09:00 -05:00
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import json
|
|
|
|
class DeepSeekReasoner:
|
|
def __init__(self):
|
|
pass
|
|
|
|
def process_messages(self, messages):
|
|
"""
|
|
Process the input messages to ensure they follow the required format.
|
|
"""
|
|
if not messages:
|
|
raise ValueError("Messages cannot be empty")
|
|
|
|
# Merge successive messages of the same role
|
|
merged_messages = []
|
|
for message in messages:
|
|
if merged_messages and merged_messages[-1]['role'] == message['role']:
|
|
merged_messages[-1]['content'] += " " + message['content']
|
|
else:
|
|
merged_messages.append(message)
|
|
|
|
return merged_messages
|
|
|
|
def handle_request(self, request):
|
|
"""
|
|
Handle the incoming request and process the messages.
|
|
"""
|
|
try:
|
|
messages = request.get('messages', [])
|
|
processed_messages = self.process_messages(messages)
|
|
return {"status": "success", "processed_messages": processed_messages}
|
|
except Exception as e:
|
|
return {"status": "error", "message": str(e)}
|
|
|
|
# Example usage
|
|
if __name__ == "__main__":
|
|
reasoner = DeepSeekReasoner()
|
|
request = {
|
|
"messages": [
|
|
{"role": "user", "content": "Hello!"},
|
|
{"role": "user", "content": "Tell me about DeepSeek R1."},
|
|
{"role": "assistant", "content": "DeepSeek R1 is a reasoning model."}
|
|
]
|
|
}
|
|
response = reasoner.handle_request(request)
|
|
print(json.dumps(response, indent=2))
|