Spaces:
Running
Running
Ankush Rana
commited on
Commit
·
bd634a3
1
Parent(s):
972a04b
remove streem
Browse files- .gitignore +2 -1
- __pycache__/tools.cpython-310.pyc +0 -0
- app.py +37 -16
.gitignore
CHANGED
@@ -1,2 +1,3 @@
|
|
1 |
venv/
|
2 |
-
.env
|
|
|
|
1 |
venv/
|
2 |
+
.env
|
3 |
+
__pycache__
|
__pycache__/tools.cpython-310.pyc
DELETED
Binary file (12.7 kB)
|
|
app.py
CHANGED
@@ -17,6 +17,8 @@ SYSTEM_PROMPT_TEMPLATE = """You are an AI assistant designed to assist users wit
|
|
17 |
Maintain clarity, conciseness, and relevance in your responses, ensuring a seamless user experience.
|
18 |
Always respond in the same **language as the user’s query** to preserve their preferred language."""
|
19 |
|
|
|
|
|
20 |
client = OpenAI(
|
21 |
base_url=f"{BASE_URL}/v1",
|
22 |
api_key=HF_TOKEN
|
@@ -34,15 +36,20 @@ def completion(history, model, system_prompt, tools=None):
|
|
34 |
tools_calls = json.loads(msg.metadata.get("title", "[]"))
|
35 |
# for tool_calls in tools_calls:
|
36 |
# tool_calls["function"]["arguments"] = json.loads(tool_calls["function"]["arguments"])
|
37 |
-
messages.append({"role": "assistant", "tool_calls": tools_calls})
|
38 |
messages.append({"role": "tool", "content": msg.content})
|
39 |
else:
|
40 |
messages.append({"role": msg.role, "content": msg.content})
|
41 |
|
|
|
|
|
|
|
|
|
|
|
42 |
request_params = {
|
43 |
"model": model,
|
44 |
"messages": messages,
|
45 |
-
"stream":
|
46 |
"max_tokens": 1000,
|
47 |
"temperature": 0.4,
|
48 |
"frequency_penalty": 1,
|
@@ -65,21 +72,35 @@ def llm_in_loop(history, system_prompt, recursive):
|
|
65 |
name = ""
|
66 |
chat_completion = completion(history=history, tools=oitools, model=model, system_prompt=system_prompt)
|
67 |
appended = False
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
81 |
|
82 |
-
arguments =
|
|
|
|
|
83 |
if appended:
|
84 |
recursive -= 1
|
85 |
if name:
|
|
|
17 |
Maintain clarity, conciseness, and relevance in your responses, ensuring a seamless user experience.
|
18 |
Always respond in the same **language as the user’s query** to preserve their preferred language."""
|
19 |
|
20 |
+
|
21 |
+
# print(json.dumps(oitools, indent=2))
|
22 |
client = OpenAI(
|
23 |
base_url=f"{BASE_URL}/v1",
|
24 |
api_key=HF_TOKEN
|
|
|
36 |
tools_calls = json.loads(msg.metadata.get("title", "[]"))
|
37 |
# for tool_calls in tools_calls:
|
38 |
# tool_calls["function"]["arguments"] = json.loads(tool_calls["function"]["arguments"])
|
39 |
+
messages.append({"role": "assistant", "tool_calls": tools_calls, "content": ""})
|
40 |
messages.append({"role": "tool", "content": msg.content})
|
41 |
else:
|
42 |
messages.append({"role": msg.role, "content": msg.content})
|
43 |
|
44 |
+
for msg in messages:
|
45 |
+
print(msg)
|
46 |
+
|
47 |
+
print("")
|
48 |
+
print("")
|
49 |
request_params = {
|
50 |
"model": model,
|
51 |
"messages": messages,
|
52 |
+
"stream": False,
|
53 |
"max_tokens": 1000,
|
54 |
"temperature": 0.4,
|
55 |
"frequency_penalty": 1,
|
|
|
72 |
name = ""
|
73 |
chat_completion = completion(history=history, tools=oitools, model=model, system_prompt=system_prompt)
|
74 |
appended = False
|
75 |
+
if chat_completion.choices and chat_completion.choices[0].message.tool_calls:
|
76 |
+
call = chat_completion.choices[0].message.tool_calls[0]
|
77 |
+
if hasattr(call.function, "name") and call.function.name:
|
78 |
+
name = call.function.name
|
79 |
+
if hasattr(call.function, "arguments") and call.function.arguments:
|
80 |
+
arguments += call.function.arguments
|
81 |
+
elif chat_completion.choices[0].message.content:
|
82 |
+
if not appended:
|
83 |
+
history.append(ChatMessage(role="assistant", content=""))
|
84 |
+
appended = True
|
85 |
+
history[-1].content += chat_completion.choices[0].message.content
|
86 |
+
yield history[recursive:]
|
87 |
+
# for chunk in chat_completion:
|
88 |
+
# if chunk.choices and chunk.choices[0].delta.tool_calls:
|
89 |
+
# call = chunk.choices[0].delta.tool_calls[0]
|
90 |
+
# if hasattr(call.function, "name") and call.function.name:
|
91 |
+
# name = call.function.name
|
92 |
+
# if hasattr(call.function, "arguments") and call.function.arguments:
|
93 |
+
# arguments += call.function.arguments
|
94 |
+
# elif chunk.choices[0].delta.content:
|
95 |
+
# if not appended:
|
96 |
+
# history.append(ChatMessage(role="assistant", content=""))
|
97 |
+
# appended = True
|
98 |
+
# history[-1].content += chunk.choices[0].delta.content
|
99 |
+
# yield history[recursive:]
|
100 |
|
101 |
+
arguments = clean_json_string(arguments) if arguments else "{}"
|
102 |
+
print(name, arguments)
|
103 |
+
arguments = json.loads(arguments)
|
104 |
if appended:
|
105 |
recursive -= 1
|
106 |
if name:
|