curry tang commited on
Commit
54d4a54
·
1 Parent(s): 5ac4acf
Files changed (3) hide show
  1. app.py +3 -3
  2. llm.py +1 -1
  3. prompts.py +14 -0
app.py CHANGED
@@ -5,7 +5,7 @@ from config import settings
5
  import base64
6
  from PIL import Image
7
  import io
8
- from prompts import web_prompt
9
  from banner import banner_md
10
 
11
 
@@ -68,7 +68,7 @@ def explain_code(_code_type: str, _code: str, _chat):
68
  if _chat is None:
69
  _chat = get_default_chat()
70
  chat_messages = [
71
- SystemMessage(content=f'你的任务是获取提供的代码片段,并用简单易懂的语言解释它。分解代码的功能、目的和关键组件。使用类比、示例和通俗术语,使解释对编码知识很少的人来说易于理解。除非绝对必要,否则避免使用技术术语,并为使用的任何术语提供清晰的解释。目标是帮助读者在高层次上理解代码的作用和工作原理。'),
72
  HumanMessage(content=_code),
73
  ]
74
  response_message = ''
@@ -81,7 +81,7 @@ def optimize_code(_code_type: str, _code: str, _chat):
81
  if _chat is None:
82
  _chat = get_default_chat()
83
  chat_messages = [
84
- SystemMessage(content=f'你的任务是分析提供的 {_code_type} 代码片段,并提出改进建议以优化其性能。确定可以使代码更高效、更快或更节省资源的地方。提供具体的优化建议,并解释这些更改如何提高代码的性能。优化后的代码应该保持与原始代码相同的功能,同时展示出更高的效率。'),
85
  HumanMessage(content=_code),
86
  ]
87
  response_message = ''
 
5
  import base64
6
  from PIL import Image
7
  import io
8
+ from prompts import web_prompt, explain_code_template
9
  from banner import banner_md
10
 
11
 
 
68
  if _chat is None:
69
  _chat = get_default_chat()
70
  chat_messages = [
71
+ SystemMessage(content=explain_code_template),
72
  HumanMessage(content=_code),
73
  ]
74
  response_message = ''
 
81
  if _chat is None:
82
  _chat = get_default_chat()
83
  chat_messages = [
84
+ SystemMessage(content=f'你的任务是分析提供的 {_code_type} 代码片段,并提出改进建议以优化其性能。识别与检测代码异味、可读性、可维护性、性能、安全性等相关的潜在改进领域。不要列出给定代码中已经解决的问题。重点提供最多5个建设性建议,这些建议可以使代码更加健壮、高效或符合最佳实践。对于每个建议,简要解释潜在的好处。在列出任何建议后,总结是否发现了显著的机会来提高整体代码质量,或者代码是否普遍遵循了良好的设计原则。如果没有发现问题,请回复"没有错误"。'),
85
  HumanMessage(content=_code),
86
  ]
87
  response_message = ''
llm.py CHANGED
@@ -69,7 +69,7 @@ class OpenRouterLLM(BaseLLM):
69
  ]
70
  _base_url = 'https://openrouter.ai/api/v1'
71
  _default_model = 'anthropic/claude-3.5-sonnet'
72
- _default_max_tokens = 16 * 1024
73
 
74
 
75
  class TongYiLLM(BaseLLM):
 
69
  ]
70
  _base_url = 'https://openrouter.ai/api/v1'
71
  _default_model = 'anthropic/claude-3.5-sonnet'
72
+ _default_max_tokens = 4096
73
 
74
 
75
  class TongYiLLM(BaseLLM):
prompts.py CHANGED
@@ -22,4 +22,18 @@ OUTPUT_CODE
22
  ```
23
 
24
  Conduct Security and Operational reviews of PLANNING and OUTPUT, paying particular attention to things that may compromise data or introduce vulnerabilities. For sensitive changes (e.g. Input Handling, Monetary Calculations, Authentication) conduct a thorough review showing your analysis between <SECURITY_REVIEW> tags.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
  '''
 
22
  ```
23
 
24
  Conduct Security and Operational reviews of PLANNING and OUTPUT, paying particular attention to things that may compromise data or introduce vulnerabilities. For sensitive changes (e.g. Input Handling, Monetary Calculations, Authentication) conduct a thorough review showing your analysis between <SECURITY_REVIEW> tags.
25
+ '''
26
+
27
+ explain_code_template = '''
28
+ 你的任务是获取提供的代码片段,并用简单易懂的语言解释它,假设读者是一个刚刚学习了语言特性和基本语法的初学程序员。
29
+ 重点解释:
30
+ 1. 代码的目的
31
+ 2. 它接受什么输入
32
+ 3. 它产生什么输出
33
+ 4. 它如何通过逻辑和算法实现其目的
34
+ 5. 发生的任何重要逻辑流程或数据转换。
35
+ 使用初学者能够理解的简单语言,包含足够的细节以全面展示代码旨在完成的任务,但不要过于技术化。
36
+ 以连贯的段落格式解释,使用正确的标点和语法。
37
+ 在写解释时假设不知道关于代码的任何先前上下文。不要对共享代码中未显示的变量或函数做出假设。
38
+ 以正在解释的代码名称开始回答。
39
  '''