File size: 1,282 Bytes
2329051
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import gradio as gr
from typing import Any
from griptape.structures import Agent
from griptape.drivers import LocalConversationMemoryDriver
from griptape.memory.structure import ConversationMemory
from griptape.tools import Calculator
from griptape.rules import Rule
import time


def user(user_message, history):
    history.append([user_message, None])
    return ("", history)

def bot(history):
    response = agent.send_message(history[-1][0])
    history[-1][1] = ""
    for character in response:
        history[-1][1] += character

        time.sleep(0.005)

        yield history

agent = Agent(
        conversation_memory=ConversationMemory(
            driver=LocalConversationMemoryDriver(
                file_path="conversation_memory.json"
            )),
        tools=[Calculator()],
        rules=[
            Rule(
                value = "You are an intelligent agent tasked with answering questions."
            ),
            Rule(
                value = "All of your responses are less than 5 sentences."
            ) ]
)

def send_message(message:str, history,) -> Any:
    response = agent.run(message)
    return response.output.value

demo = gr.ChatInterface(
    fn=send_message
    )
demo.launch(
    auth=("griptape","griptaper"),
    share=True)