File size: 4,872 Bytes
354fa18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
import json

from camel.functions.openai_function import OpenAIFunction


def trust_or_not_FC(Believe, Desire, Intention, Trust_or_not, Risk, Strategy, Think):
    """
    Determines if one should trust based on their beliefs, desires, intentions, risk, strategy, and thinking.

    Args:
        Believe (any): The belief factor.
        Desire (any): The desire factor.
        Intention (any): The intention factor.
        Trust_or_not (any): The choice to trust or not.
        Risk (any): The risk assessment.
        Strategy (any): The strategy considered.
        Think (any): The thinking process or reasoning.

    Returns:
        Dict[str, Any]: A dictionary containing the model's answer with keys for Believe, Desire, Intention, Trust_or_not, Risk, Strategy, and Think.
    """
    model_answer = {
        "Believe": Believe,
        "Desire": Desire,
        "Intention": Intention,
        "Trust_or_not": Trust_or_not,
        "Risk": Risk,
        "Strategy": Strategy,
        "Think": Think
    }
    return model_answer


def given_money_FC(Believe, Desire, Intention, money_num, Risk, Strategy, Think):
    """
    Determines the amount of money given based on beliefs, desires, and intentions.

    Args:
        Believe (any): The belief factor.
        Desire (any): The desire factor.
        Intention (any): The intention factor.
        money_num (any): The amount of money being considered.
        Risk (any): The risk assessment related to the money.
        Strategy (any): The strategy considered in relation to the money.
        Think (any): The thinking process or reasoning behind the money decision.

    Returns:
        Dict[str, Any]: A dictionary containing the model's answer with keys for Believe, Desire, Intention, and money_num.
    """
    model_answer = {
        "Believe": Believe,
        "Desire": Desire,
        "Intention": Intention,
        "money_num": money_num,
        "Risk": Risk,
        "Strategy": Strategy,
        "Think": Think
    }
    return model_answer


money_paramters = {
    "type": "object",
    "properties": {
        "Believe": {
            "type": "string",
            "description": "What's your Believe?",
        },
        "Desire": {
            "type": "string",
            "description": "What do you desire?",
        },
        "Intention": {
            "type": "string",
            "description": "What's your Intention?",
        },
        "money_num": {
            "type": "string",
            "description": "How much money would you give each other",
        },
        "Risk": {
            "type": "string",
            "description": "What is the potential risk in the game?"
        },
        "Strategy": {
            "type": "string",
            "description": " what is the potential strategies in the game?"
        },
        "Think": {
            "type": "string",
            "description": "The thinking progress in this game"
        }
    },
    "required": ["Believe", "Desire", "Intention", "money_num", "Risk", "Strategy", "Think"],
}

trust_paramters = {
    "type": "object",
    "properties": {
        "Believe": {
            "type": "string",
            "description": "What's your Believe?",
        },
        "Desire": {
            "type": "string",
            "description": "What do you desire?",
        },
        "Intention": {
            "type": "string",
            "description": "What's your Intention?",
        },
        "Trust_or_not": {
            "type": "string",
            "description": "Do you trust each other? Only responce 'trust' or 'not trust'",
        },
        "Risk": {
            "type": "string",
            "description": "What is the potential risk in the game?"
        },
        "Strategy": {
            "type": "string",
            "description": " what is the potential strategies in the game?"
        },
        "Think": {
            "type": "string",
            "description": "The thinking progress in this game"
        }
    },
    "required": ["Believe", "Desire", "Intention", "Trust_or_not", 'Risk', 'Strategy', "Think"],
}


def get_function_call_res(message):
    if message.get("function_call"):
        function_name = message["function_call"]["name"]
        ans = json.loads(message["function_call"]["arguments"])
        func = globals().get(function_name)
        res = func(**ans)

        return res


money_call = OpenAIFunction(
    func=given_money_FC,
    name="given_money_FC",
    description="This function is need when inquiring about the amount of money to give.",
    parameters=money_paramters,
)

trust_call = OpenAIFunction(
    func=trust_or_not_FC,
    name="trust_or_not_FC",
    description="You choose to trust each other or not trust each other?",
    parameters=trust_paramters,
)

function_list = [money_call.as_dict(), trust_call.as_dict()]