Kims12 commited on
Commit
13892a2
·
verified ·
1 Parent(s): 7d985cd

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -16
app.py CHANGED
@@ -188,39 +188,36 @@ def respond_gemini_qna(
188
  system_message: str,
189
  max_tokens: int,
190
  temperature: float,
191
- top_p: float, # 값은 설정에 포함됩니다.
192
  model_id: str
193
  ):
194
  """
195
- Gemini 모델(예: gemini-2.0-flash, gemini-2.0-flash-lite-preview-02-05)을 이용해
196
  질문(question)에 대한 답변을 반환하는 함수.
197
- Google의 generativeai(palm) 라이브러리를 사용합니다.
198
  """
 
199
  try:
200
- import google.generativeai as palm
201
  except ModuleNotFoundError:
202
  return ("오류가 발생했습니다: 'google-generativeai' 모듈을 찾을 수 없습니다. "
203
- "해결 방법: 'pip install google-generativeai'를 실행하여 설치해주세요.")
204
 
205
  gemini_api_key = os.getenv("GEMINI_API_KEY")
206
  if not gemini_api_key:
207
  return "Gemini API 토큰이 필요합니다."
208
 
209
- # API 키 설정 (최신 라이브러리에서는 configure 함수를 사용합니다)
210
- palm.configure(api_key=gemini_api_key)
211
 
 
212
  prompt = f"{system_message}\n\n{question}"
213
 
214
  try:
215
- response = palm.generate_text(
216
- model=model_id,
217
- prompt=prompt,
218
- max_output_tokens=max_tokens,
219
- temperature=temperature,
220
- top_p=top_p,
221
- )
222
- # 응답 객체의 result 속성에 생성된 텍스트가 담겨 있습니다.
223
- return response.result
224
  except Exception as e:
225
  return f"오류가 발생했습니다: {str(e)}"
226
 
 
188
  system_message: str,
189
  max_tokens: int,
190
  temperature: float,
191
+ top_p: float, # top_p는 Gemini API에서 지원되면 전달됩니다.
192
  model_id: str
193
  ):
194
  """
195
+ Gemini 모델(예: "gemini-2.0-flash", "gemini-2.0-flash-lite-preview-02-05")을 이용해
196
  질문(question)에 대한 답변을 반환하는 함수.
197
+ 최신 google-generativeai 라이브러리를 사용합니다.
198
  """
199
+ import os
200
  try:
201
+ import google.generativeai as genai
202
  except ModuleNotFoundError:
203
  return ("오류가 발생했습니다: 'google-generativeai' 모듈을 찾을 수 없습니다. "
204
+ "해결 방법: 'pip install --upgrade google-generativeai' 를 실행하여 설치해주세요.")
205
 
206
  gemini_api_key = os.getenv("GEMINI_API_KEY")
207
  if not gemini_api_key:
208
  return "Gemini API 토큰이 필요합니다."
209
 
210
+ # API 키 설정
211
+ genai.configure(api_key=gemini_api_key)
212
 
213
+ # system_message와 question을 하나의 프롬프트로 결합
214
  prompt = f"{system_message}\n\n{question}"
215
 
216
  try:
217
+ # 최신 SDK에서는 GenerativeModel 클래스를 사용합니다.
218
+ model = genai.GenerativeModel(model_name=model_id)
219
+ response = model.generate_content(prompt)
220
+ return response.text
 
 
 
 
 
221
  except Exception as e:
222
  return f"오류가 발생했습니다: {str(e)}"
223