Tim Luka Horstmann commited on
Commit
43799fd
·
1 Parent(s): 16a3faa

Gemini updated

Browse files
Files changed (1) hide show
  1. app.py +17 -14
app.py CHANGED
@@ -151,7 +151,7 @@ async def stream_response_gemini(query, history):
151
  start_time = time.time()
152
  first_token_logged = False
153
 
154
- # Build the system instruction once
155
  current_date = datetime.now().strftime("%Y-%m-%d")
156
  system_prompt = (
157
  "You are Tim Luka Horstmann, a Computer Scientist. "
@@ -162,31 +162,33 @@ async def stream_response_gemini(query, history):
162
  f"Today's date is {current_date}. CV: {full_cv_text}"
163
  )
164
 
165
- # Build only the user/model history as contents
166
- contents = [
167
- *[
 
168
  types.Content(
169
- role=msg["role"],
170
- parts=[types.Part.from_text(msg["content"])]
171
  )
172
- for msg in history
173
- ],
174
- # Always append the current user query at the end
175
  types.Content(
176
  role="user",
177
- parts=[types.Part.from_text(query)]
178
  )
179
- ]
180
 
 
181
  try:
182
  response = gemini_client.models.generate_content_stream(
183
  model=gemini_model,
184
  contents=contents,
185
  config=types.GenerateContentConfig(
186
  system_instruction=system_prompt,
187
- # temperature=0.3,
188
- # top_p=0.7,
189
- # max_output_tokens=512,
190
  response_mime_type="text/plain",
191
  )
192
  )
@@ -204,6 +206,7 @@ async def stream_response_gemini(query, history):
204
  yield f"data: Sorry, I encountered an error with Gemini API: {str(e)}\n\n"
205
  yield "data: [DONE]\n\n"
206
 
 
207
  async def stream_response_local(query, history):
208
  """Stream response using local model"""
209
  logger.info(f"Processing query with local model: {query}")
 
151
  start_time = time.time()
152
  first_token_logged = False
153
 
154
+ # 1) Build your system prompt once
155
  current_date = datetime.now().strftime("%Y-%m-%d")
156
  system_prompt = (
157
  "You are Tim Luka Horstmann, a Computer Scientist. "
 
162
  f"Today's date is {current_date}. CV: {full_cv_text}"
163
  )
164
 
165
+ # 2) Build only user/model history as `contents`
166
+ contents = []
167
+ for msg in history:
168
+ contents.append(
169
  types.Content(
170
+ role=msg["role"],
171
+ parts=[ types.Part.from_text(msg["content"]) ]
172
  )
173
+ )
174
+ # finally append the new user question
175
+ contents.append(
176
  types.Content(
177
  role="user",
178
+ parts=[ types.Part.from_text(query) ]
179
  )
180
+ )
181
 
182
+ # 3) Call Gemini with `system_instruction`
183
  try:
184
  response = gemini_client.models.generate_content_stream(
185
  model=gemini_model,
186
  contents=contents,
187
  config=types.GenerateContentConfig(
188
  system_instruction=system_prompt,
189
+ temperature=0.3,
190
+ top_p=0.7,
191
+ max_output_tokens=512,
192
  response_mime_type="text/plain",
193
  )
194
  )
 
206
  yield f"data: Sorry, I encountered an error with Gemini API: {str(e)}\n\n"
207
  yield "data: [DONE]\n\n"
208
 
209
+
210
  async def stream_response_local(query, history):
211
  """Stream response using local model"""
212
  logger.info(f"Processing query with local model: {query}")