diginoron commited on
Commit
588383c
·
verified ·
1 Parent(s): 09a7c0b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -3
app.py CHANGED
@@ -45,7 +45,7 @@ try:
45
  except FileNotFoundError:
46
  cache = {}
47
 
48
- def retrieve_answer(query, threshold=0.4, top_k=1):
49
  query_embedding = model.encode([query])[0]
50
  result = index.query(vector=query_embedding.tolist(), top_k=top_k, include_metadata=True)
51
  try:
@@ -73,7 +73,7 @@ def generate_human_response(context_text):
73
  return cache[context_text]
74
  prompt = (
75
  f"این متن پاسخ سوال مشتری است: \"{context_text}\".\n"
76
- "لطفاً یک پاسخ کوتاه، رسمی، کاملاً مختصر و مفید به زبان فارسی تولید کن که فقط بر اساس همین متن باشد و حتماً جمله‌ای کامل با پایان مشخص باشد."
77
  )
78
  try:
79
  response = openai.chat.completions.create(
@@ -83,12 +83,17 @@ def generate_human_response(context_text):
83
  {"role": "user", "content": prompt}
84
  ],
85
  temperature=0.2,
86
- max_tokens=80, # افزایش به 80
87
  )
88
  answer = response.choices[0].message.content.strip()
89
  # اطمینان از کامل بودن جمله
90
  if answer and not answer.endswith(('.', '!', '؟')):
91
  answer += '.'
 
 
 
 
 
92
  cache[context_text] = answer
93
  with open(cache_file, "wb") as f:
94
  pickle.dump(cache, f)
 
45
  except FileNotFoundError:
46
  cache = {}
47
 
48
+ def retrieve_answer(query, threshold=0.6, top_k=1):
49
  query_embedding = model.encode([query])[0]
50
  result = index.query(vector=query_embedding.tolist(), top_k=top_k, include_metadata=True)
51
  try:
 
73
  return cache[context_text]
74
  prompt = (
75
  f"این متن پاسخ سوال مشتری است: \"{context_text}\".\n"
76
+ "لطفاً یک پاسخ کوتاه، رسمی، کاملاً مختصر و مفید به زبان فارسی تولید کن که فقط بر اساس همین متن باشد، حتماً جمله‌ای کامل با فعل مناسب و پایان مشخص باشد."
77
  )
78
  try:
79
  response = openai.chat.completions.create(
 
83
  {"role": "user", "content": prompt}
84
  ],
85
  temperature=0.2,
86
+ max_tokens=100, # افزایش به 100
87
  )
88
  answer = response.choices[0].message.content.strip()
89
  # اطمینان از کامل بودن جمله
90
  if answer and not answer.endswith(('.', '!', '؟')):
91
  answer += '.'
92
+ # چک کردن وجود فعل (ساده)
93
+ persian_verbs = ['است', 'هستیم', 'هستند', 'بود', 'می‌شود', 'می‌کنم', 'می‌کنیم']
94
+ has_verb = any(verb in answer for verb in persian_verbs)
95
+ if not has_verb and "ما" in answer:
96
+ answer = answer.rstrip('.؟!') + ' هستیم.'
97
  cache[context_text] = answer
98
  with open(cache_file, "wb") as f:
99
  pickle.dump(cache, f)