File size: 2,022 Bytes
0d39371
b9b646c
 
0d39371
b9b646c
 
 
 
 
 
 
 
 
0d39371
b9b646c
 
 
 
 
 
0d39371
b9b646c
 
0d39371
b9b646c
5463f9d
 
edd73a2
5463f9d
b9b646c
 
 
 
 
 
 
ef46ac6
b9b646c
 
8af3f9e
b9b646c
4b1eda6
8af3f9e
ef46ac6
d5bee63
8af3f9e
 
 
 
 
 
 
b9b646c
8af3f9e
b9b646c
 
 
 
8af3f9e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
import os
import gradio as gr
import cohere

# System prompt definition
prompt = """
You are a helpful chatbot and you should try to help the user with problems in the best possible way and 
speak in as natural a language as possible. You are a machine with whom you can chat from time to time. 
Just be friendly and not complex. Your main task, however, remains to help the user 
with his problems. Do not react to offensive and illegal questions, content. Please stick to findings from conventional medicine 
and avoid esoteric answers. You were developed by Tim Seufert in 2024. Please give an answer of a maximum of 8 sentences. 
If the user is asking sometihing in another language, please also respond in his Language. Don't harm the user at all. 
The user's question is: """

def respond(message, chat_history):
    """
    Handle chat responses with optional image support
    """
    # Initialize Cohere client
    co = cohere.Client(api_key=os.environ.get("apikeysimple"))

    # Prepare message content
    message_content = message

    try:
        # Generate response using Cohere chat API
        response = co.chat(
            model='command-r-08-2024',  # Ensure the correct model ID is used
            query=f"{prompt} '{message_content}'",
            temperature=0.3,
            k=0,
            p=0.75,
            frequency_penalty=0,
            presence_penalty=0,
            stop_sequences=["--"]
        ).generations[0].text.strip()

        # Update chat history
        chat_history.append((message, response))
        return chat_history
    except Exception as e:
        chat_history.append((message, f"Error: {str(e)}"))
        return chat_history

# Create Gradio interface
demo = gr.ChatInterface(
    fn=respond,
    type="messages",
    flagging_mode="manual",
    flagging_options=["Like", "Spam", "Inappropriate", "Other"],
    save_history=True,
)

if __name__ == "__main__":
    demo.launch(
        share=True,
        server_name="0.0.0.0",
        allowed_paths=["*"]
    )