seawolf2357 commited on
Commit
9bb716d
·
verified ·
1 Parent(s): d606dfd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -7
app.py CHANGED
@@ -87,8 +87,7 @@ claude_client = anthropic.Anthropic(api_key=YOUR_ANTHROPIC_TOKEN)
87
  openai_client = openai.OpenAI(api_key=YOUR_OPENAI_TOKEN)
88
 
89
 
90
-
91
- async def try_claude_api(system_message, claude_messages, timeout=5):
92
  try:
93
  start_time = time.time()
94
  with claude_client.messages.stream(
@@ -98,22 +97,26 @@ async def try_claude_api(system_message, claude_messages, timeout=5):
98
  messages=claude_messages
99
  ) as stream:
100
  collected_content = ""
101
- for chunk in stream:
102
- if time.time() - start_time > timeout:
 
 
103
  raise TimeoutError("Claude API timeout")
104
  if chunk.type == "content_block_delta":
105
  collected_content += chunk.delta.text
106
  yield collected_content
 
 
 
 
107
  except Exception as e:
108
  print(f"Claude API error: {str(e)}")
109
  raise e
110
 
111
-
112
-
113
  async def try_openai_api(openai_messages):
114
  try:
115
  stream = openai_client.chat.completions.create(
116
- model="gpt-4o",
117
  messages=openai_messages,
118
  stream=True,
119
  max_tokens=4096,
@@ -130,6 +133,7 @@ async def try_openai_api(openai_messages):
130
  print(f"OpenAI API error: {str(e)}")
131
  raise e
132
 
 
133
  async def generation_code(query: Optional[str], _setting: Dict[str, str], _history: Optional[History]):
134
  if not query or query.strip() == '':
135
  query = random.choice(DEMO_LIST)['description']
 
87
  openai_client = openai.OpenAI(api_key=YOUR_OPENAI_TOKEN)
88
 
89
 
90
+ async def try_claude_api(system_message, claude_messages, timeout=15): # timeout을 15초로 증가
 
91
  try:
92
  start_time = time.time()
93
  with claude_client.messages.stream(
 
97
  messages=claude_messages
98
  ) as stream:
99
  collected_content = ""
100
+ async for chunk in stream: # async for 사용
101
+ current_time = time.time()
102
+ if current_time - start_time > timeout:
103
+ print(f"Claude API response time: {current_time - start_time:.2f} seconds")
104
  raise TimeoutError("Claude API timeout")
105
  if chunk.type == "content_block_delta":
106
  collected_content += chunk.delta.text
107
  yield collected_content
108
+
109
+ # 각 청크마다 타임아웃 카운터 리셋
110
+ start_time = current_time
111
+
112
  except Exception as e:
113
  print(f"Claude API error: {str(e)}")
114
  raise e
115
 
 
 
116
  async def try_openai_api(openai_messages):
117
  try:
118
  stream = openai_client.chat.completions.create(
119
+ model="gpt-4o", # 모델명 유지
120
  messages=openai_messages,
121
  stream=True,
122
  max_tokens=4096,
 
133
  print(f"OpenAI API error: {str(e)}")
134
  raise e
135
 
136
+
137
  async def generation_code(query: Optional[str], _setting: Dict[str, str], _history: Optional[History]):
138
  if not query or query.strip() == '':
139
  query = random.choice(DEMO_LIST)['description']