mirror of
https://github.com/FoundationAgents/MetaGPT.git
synced 2026-05-06 06:12:39 +02:00
fix: Only add demo and a tool class to complete the function
This commit is contained in:
parent
923150b2f3
commit
db2ea905b4
2 changed files with 176 additions and 0 deletions
57
metagpt/utils/stream_pipe.py
Normal file
57
metagpt/utils/stream_pipe.py
Normal file
|
|
@ -0,0 +1,57 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# @Time : 2024/3/27 10:00
|
||||
# @Author : leiwu30
|
||||
# @File : stream_pipe.py
|
||||
# @Version : None
|
||||
# @Description : None
|
||||
|
||||
import time
|
||||
import json
|
||||
from multiprocessing import Pipe
|
||||
|
||||
|
||||
class StreamPipe:
|
||||
parent_conn, child_conn = Pipe()
|
||||
|
||||
variable: list = {}
|
||||
finish: bool = False
|
||||
|
||||
format_data = {
|
||||
"id": "chatcmpl-96bVnBOOyPFZZxEoTIGbdpFcVEnur",
|
||||
"object": "chat.completion.chunk",
|
||||
"created": 1711361191,
|
||||
"model": "gpt-3.5-turbo-0125",
|
||||
"system_fingerprint": "fp_3bc1b5746c",
|
||||
"choices": [
|
||||
{
|
||||
"index": 0,
|
||||
"delta":
|
||||
{
|
||||
"role": "assistant",
|
||||
"content": "content"
|
||||
},
|
||||
"logprobs": None,
|
||||
"finish_reason": None
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
def set_message(self, msg):
|
||||
self.parent_conn.send(msg)
|
||||
|
||||
def get_message(self, timeout: int = 3):
|
||||
if self.child_conn.poll(timeout):
|
||||
return self.child_conn.recv()
|
||||
else:
|
||||
return None
|
||||
|
||||
def set_k_message(self, k, msg):
|
||||
self.variable[k] = msg
|
||||
|
||||
def get_k_message(self, k):
|
||||
return self.variable[k]
|
||||
|
||||
def msg2stream(self, msg):
|
||||
self.format_data['created'] = int(time.time())
|
||||
self.format_data['choices'][0]['delta']['content'] = msg
|
||||
return f"data: {json.dumps(self.format_data, ensure_ascii=False)}\n".encode("utf-8")
|
||||
Loading…
Add table
Add a link
Reference in a new issue