| | import pickle |
| | import os |
| |
|
| |
|
| |
|
| | print(os.getcwd()) |
| | fileobj=open("/home/user/app/embmmn7.obj","rb") |
| | corpus_embeddings,corpus=pickle.load(fileobj) |
| | fileobj.close() |
| | from sentence_transformers import SentenceTransformer, util |
| | import torch |
| |
|
| | embedder = SentenceTransformer("ramdane/jurimodel") |
| | import google.generativeai as genai |
| | genai.configure(api_key="AIzaSyCcxB0xY2C1IGDqxlLRmLBH6AX_wbBORX4") |
| |
|
| | |
| | generation_config = { |
| | "temperature": 0, |
| | "top_p": 1, |
| | "top_k": 1, |
| | "max_output_tokens": 2048, |
| | } |
| |
|
| | safety_settings = [ |
| | { |
| | "category": "HARM_CATEGORY_HARASSMENT", |
| | "threshold": "BLOCK_NONE" |
| | }, |
| | { |
| | "category": "HARM_CATEGORY_HATE_SPEECH", |
| | "threshold": "BLOCK_NONE" |
| | }, |
| | { |
| | "category": "HARM_CATEGORY_SEXUALLY_EXPLICIT", |
| | "threshold": "BLOCK_NONE" |
| | }, |
| | { |
| | "category": "HARM_CATEGORY_DANGEROUS_CONTENT", |
| | "threshold": "BLOCK_NONE" |
| | }, |
| | ] |
| |
|
| | model = genai.GenerativeModel(model_name="gemini-1.0-pro-001", |
| | generation_config=generation_config, |
| | safety_settings=safety_settings) |
| | def show(queries): |
| | query_embedding = embedder.encode(queries, convert_to_tensor=True) |
| | hits = util.semantic_search(query_embedding, corpus_embeddings, top_k=10) |
| |
|
| | hits = hits[0] |
| | history=[] |
| |
|
| | |
| |
|
| | for i in range(0,10): |
| | history.append({"role": "user", "parts": [corpus[hits[i]['corpus_id']]]}) |
| | history.append({"role": "model", "parts": ["حسنا"]}) |
| | convo = model.start_chat(history=history) |
| | convo.send_message(" اجب من خلال ما سبق من اجتهادات على السؤال التالي مع دكر الاجتهاد الدي اعتمدت عليه"+queries) |
| |
|
| | return convo.last.text |
| | import gradio as gr |
| | app = gr.Interface( |
| | fn=show, |
| | inputs=gr.Textbox(label="إسئل وسيتم الاجابة عن طريق الاجتهادات القضائية"), |
| | outputs=gr.TextArea(label="استنتاج النموذج"), |
| | |
| | ) |
| |
|
| | app.launch() |