Docfile's picture
Update app.py
e9c32f8 verified
raw
history blame
2.02 kB
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()`.