Spaces:
Running
Running
import os | |
import gradio as gr | |
from langchain_google_genai import ChatGoogleGenerativeAI | |
from langchain import LLMChain, PromptTemplate | |
from langchain.memory import ConversationBufferMemory | |
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" | |
}, | |
] | |
import getpass | |
token=os.environ.get("TOKEN") | |
os.environ["GOOGLE_API_KEY"] = token | |
# Read the content of dikota.txt | |
with open("dikota.txt", "r", encoding="utf-8") as f: | |
dikota_content = f.read() | |
template = """Utillisez les éléments de contexte suivants pour répondre à la question à la fin. Si vous ne connaissez pas la réponse,traduissez ce que vous pouvez et reecriver les autre comme ca , n'essayez pas d'inventer une réponse. Je veux que tu agisses comme un traducteur dikota. Je parle en dikota ou en francais et tu reponds en dikota en te basant sur le contexte. Je ne veux aucune explication. Juste la réponse. cest une sorte de dialogue, | |
{dikota_content} | |
{chat_history} | |
User: {user_message} | |
Chatbot:""" | |
prompt = PromptTemplate( | |
input_variables=["chat_history", "user_message", "dikota_content"], template=template | |
) | |
memory = ConversationBufferMemory(memory_key="chat_history") | |
llm_chain = LLMChain( | |
llm=ChatGoogleGenerativeAI(model="gemini-1.5-flash-lastest"), | |
safety_settings=safety_settings, | |
prompt=prompt, | |
verbose=True, | |
memory=memory, | |
) | |
def get_text_response(user_message,history): | |
response = llm_chain.predict(user_message = user_message) | |
print(user_message) | |
#return "Non abonné" | |
return response | |
demo = gr.ChatInterface(get_text_response) | |
demo.launch() #To create a public link, set `share=True` in `launch()`. To enable errors and logs, set `debug=True` in `launch()`. |