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 | |
from langchain_google_genai import ( | |
ChatGoogleGenerativeAI, | |
HarmBlockThreshold, | |
HarmCategory, | |
) | |
import getpass | |
token=os.environ.get("TOKEN") | |
os.environ["GOOGLE_API_KEY"] = token | |
# Read the content of dikota.txt | |
# Lire le contenu de dikota.txt | |
with open("dikota.txt", "r", encoding="utf-8") as f: | |
dikota_content = f.read() | |
# Modèle de texte | |
template = """Utilisez les éléments de contexte suivants pour répondre à la question à la fin. Si vous ne connaissez pas la réponse, traduisez ce que vous pouvez et réécrivez les autres comme ça, n'essayez pas d'inventer une réponse. Je veux que tu agisses comme un traducteur dikota. Je parle en dikota ou en français et tu réponds en dikota en te basant sur le contexte. Je ne veux aucune explication. Juste la réponse. C'est une sorte de dialogue. | |
{dikota_content} | |
{chat_history} | |
User: {user_message} | |
Chatbot:""" | |
# Créer une instance de PromptTemplate avec les variables nécessaires | |
prompt = PromptTemplate( | |
input_variables=["dikota_content", "chat_history", "user_message"], | |
template=template | |
) | |
# Utilisation de la template avec les variables | |
formatted_prompt = prompt.format( | |
dikota_content=dikota_content, | |
chat_history="", | |
user_message="Votre message ici" | |
) | |
memory = ConversationBufferMemory(memory_key="chat_history") | |
llm_chain = LLMChain( | |
llm=ChatGoogleGenerativeAI(model="gemini-1.5-flash-lastest"), | |
prompt=prompt, | |
verbose=True, | |
memory=memory, | |
) | |
def get_text_response(user_message, history): # dikota_content added | |
response = llm_chain.predict(user_message=user_message) | |
print(user_message) | |
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()`. |