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 | |
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 = """ Agis comme un assistant amical | |
{chat_history} | |
User: {user_message} | |
Chatbot:""" | |
prompt = PromptTemplate( | |
input_variables=["chat_history", "user_message"], template=template | |
) | |
memory = ConversationBufferMemory(memory_key="chat_history") | |
llm_chain = LLMChain( | |
llm=ChatGoogleGenerativeAI(model="gemini-1.5-flash-latest"), | |
prompt=prompt, | |
verbose=True, | |
memory=memory, | |
) | |
def get_text_response(user_message,history): | |
r =f""" | |
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. | |
contexte : {dikota_content} | |
----- | |
{user_message} | |
""" | |
response = llm_chain.predict(user_message = r) | |
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()`. |