seawolf2357 commited on
Commit
d98fe87
·
verified ·
1 Parent(s): 57d8237

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -21
app.py CHANGED
@@ -126,37 +126,31 @@ def get_lunar_info(solYear, solMonth, solDay, solHour):
126
  return {"Error": "API 호출에 실패했습니다."}, "정보 없음", "<p>API 호출에 실패했습니다.</p>"
127
 
128
 
129
-
130
  def analyze_character(lunIljin, OPENAI_API_KEY):
131
- API_URL = "https://api.openai.com/v1/chat/completions" # API URL이 정확한지 확인
132
  payload = {
133
- "model": "gpt-4-0125-preview", # 'gpt-4-0125-preview' 모델 이름이 정확한지, 혹은 사용 가능한지 확인
134
- "prompt": f"일주 '{lunIljin}'에 대한 성격과 특징을 설명해주세요.", # prompt 구성이 적절한지 확인
135
- "temperature": 0.7,
136
- "max_tokens": 150,
137
- "top_p": 1.0,
138
- "frequency_penalty": 0.0,
139
- "presence_penalty": 0.0
 
140
  }
141
  headers = {
142
  "Content-Type": "application/json",
143
- "Authorization": f"Bearer {OPENAI_API_KEY}" # API 키가 정확히 입력되었는지 확인
144
  }
145
-
146
  response = requests.post(API_URL, headers=headers, json=payload)
147
-
148
  if response.status_code == 200:
149
  data = response.json()
150
- return data["choices"][0]["text"]
 
151
  else:
152
- # 오류 메시지 반환 방식 개선
153
- try:
154
- error_data = response.json() # 오류 응답이 JSON 형태인 경우
155
- error_message = error_data.get("error", {}).get("message", "API 호출에 실패했습니다.")
156
- except ValueError:
157
- error_message = "API 호출 실패: 응답을 JSON으로 파싱할 수 없습니다."
158
-
159
- return f"오류가 발생했습니다. 상태 코드: {response.status_code}, 메시지: {error_message}"
160
 
161
 
162
  # 사주 분석 데이터 예시 (간소화된 버전)
 
126
  return {"Error": "API 호출에 실패했습니다."}, "정보 없음", "<p>API 호출에 실패했습니다.</p>"
127
 
128
 
 
129
  def analyze_character(lunIljin, OPENAI_API_KEY):
130
+ API_URL = "https://api.openai.com/v1/chat/completions"
131
  payload = {
132
+ "model": "gpt-4-0125-preview", # 모델 이름 확인 필요
133
+ "messages": [{
134
+ "role": "system",
135
+ "content": "당신은 사주 팔자에 대해 설명하는 챗봇입니다."
136
+ }, {
137
+ "role": "user",
138
+ "content": f"일주 '{lunIljin}'에 대한 성격과 특징을 설명해주세요."
139
+ }],
140
  }
141
  headers = {
142
  "Content-Type": "application/json",
143
+ "Authorization": f"Bearer {OPENAI_API_KEY}"
144
  }
 
145
  response = requests.post(API_URL, headers=headers, json=payload)
 
146
  if response.status_code == 200:
147
  data = response.json()
148
+ # 대화형 API 응답에서 적절한 메시지 추출
149
+ return data["choices"][0]["message"]["content"]
150
  else:
151
+ # 오류 메시지 개선
152
+ return f"오류가 발생했습니다. 상태 코드: {response.status_code}, 메시지: {response.json().get('error', {}).get('message', 'Unknown error')}"
153
+
 
 
 
 
 
154
 
155
 
156
  # 사주 분석 데이터 예시 (간소화된 버전)