ghost1112 commited on
Commit
fca601c
·
verified ·
1 Parent(s): 8a2ae8e

Update generation.py

Browse files
Files changed (1) hide show
  1. generation.py +78 -78
generation.py CHANGED
@@ -1,78 +1,78 @@
1
- import google.generativeai as genai
2
-
3
- # Configure the API key
4
- genai.configure(api_key="AIzaSyBHAbEv8rMAbhAoBWXsubsUHqwP-EAlp6I")
5
-
6
- from google.generativeai.types import HarmCategory, HarmBlockThreshold
7
-
8
- safe = {
9
- "HARM_CATEGORY_HARASSMENT": "BLOCK_NONE",
10
- "HARM_CATEGORY_HATE_SPEECH": "BLOCK_NONE",
11
- "HARM_CATEGORY_SEXUALLY_EXPLICIT": "BLOCK_NONE",
12
- "HARM_CATEGORY_DANGEROUS_CONTENT": "BLOCK_NONE",
13
- }
14
-
15
- def generate_response(context, retrieved_data, conversation_history):
16
- """
17
- Generate a response using a generative AI model in a Retrieval-Augmented Generation (RAG) setup.
18
-
19
- Parameters:
20
- context (str): The user's question or query.
21
- retrieved_data (str): Relevant information retrieved from the database.
22
- conversation_history (list): List of previous questions in the conversation.
23
-
24
- Returns:
25
- str: The response generated by the model.
26
- """
27
- # Select the appropriate model
28
- model = genai.GenerativeModel("gemini-2.0-flash")
29
-
30
- # Construct the prompt based on the availability of retrieved data
31
- if conversation_history:
32
- history = "\n".join(conversation_history)
33
- if retrieved_data:
34
- prompt = (
35
- "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam với kiến thức sâu rộng và kinh nghiệm thực tiễn. "
36
- "Dựa trên các thông tin được cung cấp dưới đây, hãy đưa ra câu trả lời chi tiết, dễ hiểu và có tính chuyên nghiệp cao để hỗ trợ người dùng:\n"
37
- "--- Thông tin tham khảo ---\n"
38
- f"{retrieved_data}\n\n"
39
- "--- Lịch sử cuộc trò chuyện ---\n"
40
- f"{history}\n\n"
41
- "--- Câu hỏi hiện tại của người dùng ---\n"
42
- f"{context}\n\n"
43
- "Hãy đảm bảo câu trả lời được trình bày một cách rõ ràng, chính xác, và phù hợp với ngữ cảnh pháp lý tại Việt Nam."
44
- )
45
- else:
46
- prompt = (
47
- "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam. "
48
- "Hiện tại, không có thông tin cụ thể nào để hỗ trợ trả lời câu hỏi của người dùng. "
49
- "Vui lòng yêu cầu người dùng cung cấp thêm thông tin chi tiết hoặc hướng dẫn họ tập trung vào các khía cạnh cụ thể hơn liên quan đến luật pháp Việt Nam."
50
- )
51
- else:
52
- if retrieved_data:
53
- prompt = (
54
- "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam với kiến thức sâu rộng và kinh nghiệm thực tiễn. "
55
- "Dựa trên các thông tin được cung cấp dưới đây, hãy đưa ra câu trả lời chi tiết, dễ hiểu và có tính chuyên nghiệp cao để hỗ trợ người dùng:\n"
56
- "--- Thông tin tham khảo ---\n"
57
- f"{retrieved_data}\n\n"
58
- "--- Câu hỏi hiện tại của người dùng ---\n"
59
- f"{context}\n\n"
60
- "Hãy đảm bảo câu trả lời được trình bày một cách rõ ràng, chính xác, và phù hợp với ngữ cảnh pháp lý tại Việt Nam."
61
- )
62
- else:
63
- prompt = (
64
- "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam. "
65
- "Hiện tại, không có thông tin cụ thể nào để hỗ trợ trả lời câu hỏi của người dùng. "
66
- "Vui lòng yêu cầu người dùng cung cấp thêm thông tin chi tiết hoặc hướng dẫn họ tập trung vào các khía cạnh cụ thể hơn liên quan đến luật pháp Việt Nam."
67
- )
68
-
69
- # Generate the response using the model
70
-
71
- try:
72
- response = model.generate_content(prompt, safety_settings=safe)
73
- if response and response.text:
74
- return response.text.strip()
75
- else:
76
- return "Lỗi: Không có phản hồi từ mô hình."
77
- except Exception as e:
78
- return f"Đã xảy ra lỗi khi gọi mô hình: {str(e)}"
 
1
+ import google.generativeai as genai
2
+
3
+ # Configure the API key
4
+ genai.configure(api_key="AIzaSyALV0vl0ZnZAXupe87_EV0Of2sgcSH4YHY")
5
+
6
+ from google.generativeai.types import HarmCategory, HarmBlockThreshold
7
+
8
+ safe = {
9
+ "HARM_CATEGORY_HARASSMENT": "BLOCK_NONE",
10
+ "HARM_CATEGORY_HATE_SPEECH": "BLOCK_NONE",
11
+ "HARM_CATEGORY_SEXUALLY_EXPLICIT": "BLOCK_NONE",
12
+ "HARM_CATEGORY_DANGEROUS_CONTENT": "BLOCK_NONE",
13
+ }
14
+
15
+ def generate_response(context, retrieved_data, conversation_history):
16
+ """
17
+ Generate a response using a generative AI model in a Retrieval-Augmented Generation (RAG) setup.
18
+
19
+ Parameters:
20
+ context (str): The user's question or query.
21
+ retrieved_data (str): Relevant information retrieved from the database.
22
+ conversation_history (list): List of previous questions in the conversation.
23
+
24
+ Returns:
25
+ str: The response generated by the model.
26
+ """
27
+ # Select the appropriate model
28
+ model = genai.GenerativeModel("gemini-2.0-flash")
29
+
30
+ # Construct the prompt based on the availability of retrieved data
31
+ if conversation_history:
32
+ history = "\n".join(conversation_history)
33
+ if retrieved_data:
34
+ prompt = (
35
+ "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam với kiến thức sâu rộng và kinh nghiệm thực tiễn. "
36
+ "Dựa trên các thông tin được cung cấp dưới đây, hãy đưa ra câu trả lời chi tiết, dễ hiểu và có tính chuyên nghiệp cao để hỗ trợ người dùng:\n"
37
+ "--- Thông tin tham khảo ---\n"
38
+ f"{retrieved_data}\n\n"
39
+ "--- Lịch sử cuộc trò chuyện ---\n"
40
+ f"{history}\n\n"
41
+ "--- Câu hỏi hiện tại của người dùng ---\n"
42
+ f"{context}\n\n"
43
+ "Hãy đảm bảo câu trả lời được trình bày một cách rõ ràng, chính xác, và phù hợp với ngữ cảnh pháp lý tại Việt Nam."
44
+ )
45
+ else:
46
+ prompt = (
47
+ "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam. "
48
+ "Hiện tại, không có thông tin cụ thể nào để hỗ trợ trả lời câu hỏi của người dùng. "
49
+ "Vui lòng yêu cầu người dùng cung cấp thêm thông tin chi tiết hoặc hướng dẫn họ tập trung vào các khía cạnh cụ thể hơn liên quan đến luật pháp Việt Nam."
50
+ )
51
+ else:
52
+ if retrieved_data:
53
+ prompt = (
54
+ "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam với kiến thức sâu rộng và kinh nghiệm thực tiễn. "
55
+ "Dựa trên các thông tin được cung cấp dưới đây, hãy đưa ra câu trả lời chi tiết, dễ hiểu và có tính chuyên nghiệp cao để hỗ trợ người dùng:\n"
56
+ "--- Thông tin tham khảo ---\n"
57
+ f"{retrieved_data}\n\n"
58
+ "--- Câu hỏi hiện tại của người dùng ---\n"
59
+ f"{context}\n\n"
60
+ "Hãy đảm bảo câu trả lời được trình bày một cách rõ ràng, chính xác, và phù hợp với ngữ cảnh pháp lý tại Việt Nam."
61
+ )
62
+ else:
63
+ prompt = (
64
+ "Bạn là một chuyên gia tư vấn luật pháp hàng đầu tại Việt Nam. "
65
+ "Hiện tại, không có thông tin cụ thể nào để hỗ trợ trả lời câu hỏi của người dùng. "
66
+ "Vui lòng yêu cầu người dùng cung cấp thêm thông tin chi tiết hoặc hướng dẫn họ tập trung vào các khía cạnh cụ thể hơn liên quan đến luật pháp Việt Nam."
67
+ )
68
+
69
+ # Generate the response using the model
70
+
71
+ try:
72
+ response = model.generate_content(prompt, safety_settings=safe)
73
+ if response and response.text:
74
+ return response.text.strip()
75
+ else:
76
+ return "Lỗi: Không có phản hồi từ mô hình."
77
+ except Exception as e:
78
+ return f"Đã xảy ra lỗi khi gọi mô hình: {str(e)}"