faintkom commited on
Commit
1c04580
1 Parent(s): 77c399b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -16
app.py CHANGED
@@ -28,7 +28,6 @@ def respond(
28
  if resume_file is not None:
29
  resume_text = extract_text_from_pdf(resume_file)
30
 
31
- # Добавляем информацию о вакансии и резюме в системное сообщение
32
  system_message_with_info = f"{system_message}\nJob Description: {job_description}\nResume: {resume_text}"
33
  messages = [{"role": "system", "content": system_message_with_info}]
34
 
@@ -41,21 +40,25 @@ def respond(
41
  messages.append({"role": "user", "content": message})
42
 
43
  response = ""
44
- for message in client.chat_completion(
45
- messages,
46
- max_tokens=max_tokens,
47
- stream=True,
48
- temperature=temperature,
49
- top_p=top_p,
50
- ):
51
- token = message.choices[0].delta.content
52
- response += token
53
- yield response
 
 
 
 
 
 
54
 
55
- # Инициализация системного сообщения для старта
56
  initial_system_message = "You are a recruiter. Your task is to interview the candidate based on the job description and resume provided. After the interview, provide feedback on the candidate's strengths and areas for improvement."
57
 
58
- # Определение интерфейса Gradio
59
  with gr.Blocks() as demo:
60
  gr.Markdown("## AI Recruiter Chatbot")
61
 
@@ -75,9 +78,12 @@ with gr.Blocks() as demo:
75
 
76
  def chat_flow(message, job_description, resume_file, max_tokens, temperature, top_p, history):
77
  system_message = initial_system_message
78
- for response in respond(message, history, system_message, job_description, resume_file, max_tokens, temperature, top_p):
79
- history.append((message, response))
80
- yield response, history
 
 
 
81
 
82
  btn.click(chat_flow, [message, job_description, resume_file, max_tokens, temperature, top_p, history], [response, history])
83
 
 
28
  if resume_file is not None:
29
  resume_text = extract_text_from_pdf(resume_file)
30
 
 
31
  system_message_with_info = f"{system_message}\nJob Description: {job_description}\nResume: {resume_text}"
32
  messages = [{"role": "system", "content": system_message_with_info}]
33
 
 
40
  messages.append({"role": "user", "content": message})
41
 
42
  response = ""
43
+ try:
44
+ for message in client.chat_completion(
45
+ messages,
46
+ max_tokens=max_tokens,
47
+ stream=True,
48
+ temperature=temperature,
49
+ top_p=top_p,
50
+ ):
51
+ if message.choices and message.choices[0].delta and message.choices[0].delta.content:
52
+ token = message.choices[0].delta.content
53
+ response += token
54
+ yield response
55
+ else:
56
+ yield "Error: received unexpected response format"
57
+ except Exception as e:
58
+ yield f"Error: {str(e)}"
59
 
 
60
  initial_system_message = "You are a recruiter. Your task is to interview the candidate based on the job description and resume provided. After the interview, provide feedback on the candidate's strengths and areas for improvement."
61
 
 
62
  with gr.Blocks() as demo:
63
  gr.Markdown("## AI Recruiter Chatbot")
64
 
 
78
 
79
  def chat_flow(message, job_description, resume_file, max_tokens, temperature, top_p, history):
80
  system_message = initial_system_message
81
+ response_generator = respond(message, history, system_message, job_description, resume_file, max_tokens, temperature, top_p)
82
+ final_response = ""
83
+ for response in response_generator:
84
+ final_response = response
85
+ history.append((message, final_response))
86
+ return final_response, history
87
 
88
  btn.click(chat_flow, [message, job_description, resume_file, max_tokens, temperature, top_p, history], [response, history])
89