update
This commit is contained in:
parent
da278dc033
commit
f6faee1b9d
@ -20,6 +20,8 @@ class AnalysisHistoryRequest(BaseModel):
|
||||
|
||||
router = APIRouter()
|
||||
|
||||
agent_token = 'app-pPtva2AdJ8hJzkBKu12ThWjD'
|
||||
|
||||
@router.post("/analysis_history")
|
||||
async def analysis_history(request: AnalysisHistoryRequest,
|
||||
current_user: dict = Depends(get_current_user),
|
||||
@ -50,13 +52,155 @@ class ChatRequest(BaseModel):
|
||||
message: str
|
||||
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")
|
||||
async def chat(request: ChatRequest,
|
||||
current_user: dict = Depends(get_current_user),
|
||||
session: Session = Depends(get_db)):
|
||||
|
||||
token = 'app-pPtva2AdJ8hJzkBKu12ThWjD'
|
||||
|
||||
payload = {
|
||||
"inputs" : {},
|
||||
"query": request.message,
|
||||
@ -69,7 +213,7 @@ async def chat(request: ChatRequest,
|
||||
|
||||
url = 'https://mate.aimateplus.com/v1/chat-messages'
|
||||
headers = {
|
||||
'Authorization': f'Bearer {token}',
|
||||
'Authorization': f'Bearer {agent_token}',
|
||||
'Content-Type': 'application/json'
|
||||
}
|
||||
|
||||
|
||||
@ -29,7 +29,7 @@ services:
|
||||
cryptoai-api:
|
||||
build: .
|
||||
container_name: cryptoai-api
|
||||
image: cryptoai-api:0.1.34
|
||||
image: cryptoai-api:0.1.35
|
||||
restart: always
|
||||
ports:
|
||||
- "8000:8000"
|
||||
|
||||
Loading…
Reference in New Issue
Block a user