import os from dotenv import load_dotenv import anthropic import gradio as gr load_dotenv() os.environ['ANTHROPIC_API_KEY'] = os.getenv('ANTHROPIC_API_KEY') claude = anthropic.Anthropic() CLAUDE_MODEL = "claude-3-5-sonnet-20241022" system_message = "You are an assistant that reimplements Python code in high performance C++. \ Respond only with C++ code; use comments sparingly and do not provide any explanation other than occasional comments. \ The C++ response needs to produce an identical output in the fastest possible time." def user_prompt_for(python): user_prompt = f"Rewrite this Python code in C++ with the fastest possible implementation that produces identical output in the least time. \ Respond only with C++ code; do not explain your work other than a few comments. \ Pay attention to number types to ensure no int overflows. Remember to #include all necessary C++ packages such as iomanip.\ \n\n{python}" return user_prompt def rewrite(python): result = claude.messages.stream( model=CLAUDE_MODEL, max_tokens=2000, system=system_message, messages=[{"role": "user", "content": user_prompt_for(python)}], ) reply = "" with result as stream: for text in stream.text_stream: reply += text yield reply.replace('```cpp\n','').replace('```','') demo = gr.Interface( fn=rewrite, inputs=gr.Code(label="Python code:", language="python", lines=10), outputs=gr.Code(label="C++ code:", language="cpp", lines=10) ) demo.launch()