update
This commit is contained in:
parent
da278dc033
commit
f6faee1b9d
@ -20,6 +20,8 @@ class AnalysisHistoryRequest(BaseModel):
|
|||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
|
agent_token = 'app-pPtva2AdJ8hJzkBKu12ThWjD'
|
||||||
|
|
||||||
@router.post("/analysis_history")
|
@router.post("/analysis_history")
|
||||||
async def analysis_history(request: AnalysisHistoryRequest,
|
async def analysis_history(request: AnalysisHistoryRequest,
|
||||||
current_user: dict = Depends(get_current_user),
|
current_user: dict = Depends(get_current_user),
|
||||||
@ -50,13 +52,155 @@ class ChatRequest(BaseModel):
|
|||||||
message: str
|
message: str
|
||||||
conversation_id: Optional[str] = None
|
conversation_id: Optional[str] = None
|
||||||
|
|
||||||
|
class StopStreamingRequest(BaseModel):
|
||||||
|
user: str
|
||||||
|
task_id: str
|
||||||
|
|
||||||
|
@router.post("/stop_streaming")
|
||||||
|
async def stop_streaming(request: StopStreamingRequest,
|
||||||
|
current_user: dict = Depends(get_current_user),
|
||||||
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
|
url = f'https://mate.aimateplus.com/v1/chat-messages/{request.task_id}/stop'
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {agent_token}',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
payload = {
|
||||||
|
"user": request.user
|
||||||
|
}
|
||||||
|
response = requests.post(url, headers=headers, json=payload)
|
||||||
|
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to stop streaming: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
if response.json()["result"] == "success":
|
||||||
|
return {"message": "ok"}
|
||||||
|
else:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to stop streaming: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
class RenameConversationRequest(BaseModel):
|
||||||
|
name: str
|
||||||
|
|
||||||
|
@router.post('/conversations/{conversation_id}/name')
|
||||||
|
async def rename_conversation(conversation_id: str,
|
||||||
|
request: RenameConversationRequest,
|
||||||
|
current_user: dict = Depends(get_current_user),
|
||||||
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
|
url = f'https://mate.aimateplus.com/v1/conversations/{conversation_id}/name'
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {agent_token}',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
payload = {
|
||||||
|
"name": request.name,
|
||||||
|
"user": current_user["mail"]
|
||||||
|
}
|
||||||
|
response = requests.post(url, headers=headers, json=payload)
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to rename conversation: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
return response.json()
|
||||||
|
|
||||||
|
@router.delete('/conversations/{conversation_id}')
|
||||||
|
async def delete_conversation(conversation_id: str,
|
||||||
|
current_user: dict = Depends(get_current_user),
|
||||||
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
|
url = f'https://mate.aimateplus.com/v1/conversations/{conversation_id}'
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {agent_token}',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
|
||||||
|
payload = {
|
||||||
|
"user": current_user["mail"]
|
||||||
|
}
|
||||||
|
response = requests.delete(url, headers=headers, json=payload)
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to delete conversation: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
return {"message" : "ok"}
|
||||||
|
|
||||||
|
@router.get('/conversations')
|
||||||
|
async def get_conversations(current_user: dict = Depends(get_current_user),
|
||||||
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
|
url = 'https://mate.aimateplus.com/v1/conversations'
|
||||||
|
url = f'{url}?user={current_user["mail"]}&limit=5'
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {agent_token}',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to get conversations from Dify API: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
conversations = []
|
||||||
|
for conversation in response.json()["data"]:
|
||||||
|
conversations.append({
|
||||||
|
"id": conversation["id"],
|
||||||
|
"name": conversation["name"],
|
||||||
|
"created_at": conversation["created_at"]
|
||||||
|
})
|
||||||
|
|
||||||
|
return conversations
|
||||||
|
|
||||||
|
@router.get('/conversation_messages/{conversation_id}')
|
||||||
|
async def get_conversation_messages(conversation_id: str,
|
||||||
|
current_user: dict = Depends(get_current_user),
|
||||||
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
|
url = f'https://mate.aimateplus.com/v1/messages'
|
||||||
|
headers = {
|
||||||
|
'Authorization': f'Bearer {agent_token}',
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
}
|
||||||
|
|
||||||
|
url = f'{url}?conversation_id={conversation_id}&user={current_user["mail"]}'
|
||||||
|
|
||||||
|
response = requests.get(url, headers=headers)
|
||||||
|
|
||||||
|
if response.status_code != 200:
|
||||||
|
raise HTTPException(
|
||||||
|
status_code=response.status_code,
|
||||||
|
detail=f"Failed to get messages from Dify API: {response.text}"
|
||||||
|
)
|
||||||
|
|
||||||
|
messages = []
|
||||||
|
for message in response.json()["data"]:
|
||||||
|
messages.append({
|
||||||
|
"id": message["id"],
|
||||||
|
"conversation_id": message["conversation_id"],
|
||||||
|
"query": message["query"],
|
||||||
|
"answer": message["answer"],
|
||||||
|
"created_at": message["created_at"]
|
||||||
|
})
|
||||||
|
|
||||||
|
return messages
|
||||||
|
|
||||||
@router.post("/chat-messages")
|
@router.post("/chat-messages")
|
||||||
async def chat(request: ChatRequest,
|
async def chat(request: ChatRequest,
|
||||||
current_user: dict = Depends(get_current_user),
|
current_user: dict = Depends(get_current_user),
|
||||||
session: Session = Depends(get_db)):
|
session: Session = Depends(get_db)):
|
||||||
|
|
||||||
token = 'app-pPtva2AdJ8hJzkBKu12ThWjD'
|
|
||||||
|
|
||||||
payload = {
|
payload = {
|
||||||
"inputs" : {},
|
"inputs" : {},
|
||||||
"query": request.message,
|
"query": request.message,
|
||||||
@ -69,7 +213,7 @@ async def chat(request: ChatRequest,
|
|||||||
|
|
||||||
url = 'https://mate.aimateplus.com/v1/chat-messages'
|
url = 'https://mate.aimateplus.com/v1/chat-messages'
|
||||||
headers = {
|
headers = {
|
||||||
'Authorization': f'Bearer {token}',
|
'Authorization': f'Bearer {agent_token}',
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -29,7 +29,7 @@ services:
|
|||||||
cryptoai-api:
|
cryptoai-api:
|
||||||
build: .
|
build: .
|
||||||
container_name: cryptoai-api
|
container_name: cryptoai-api
|
||||||
image: cryptoai-api:0.1.34
|
image: cryptoai-api:0.1.35
|
||||||
restart: always
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- "8000:8000"
|
- "8000:8000"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user