Beracles commited on
Commit
fbc9217
·
1 Parent(s): 40dbab7
src/talk_to_your_manual/use_aliyun.py CHANGED
@@ -1,5 +1,6 @@
1
  from dashscope import Application
2
  from fastapi import APIRouter, status
 
3
  from fastapi.responses import JSONResponse
4
  import os
5
 
@@ -10,23 +11,28 @@ APP_ID = os.environ.get("APP_ID")
10
  session_id = None
11
 
12
  init_prompt = """
13
- You are a helpful assistant. Please answer some questions about the MatchN game.
 
 
14
  """
15
 
16
 
17
  def init_session():
18
  print("[init_session] start")
 
19
  response = Application.call(
20
  api_key=API_KEY,
21
  app_id=APP_ID,
22
  prompt=init_prompt,
23
  )
24
- if response.status_code != status.HTTP_200_OK:
25
  session_id = response.output.session_id
26
  print(f"[init_session] session_id: {session_id}")
27
  print(f"[init_session] answer: {response.output.text}")
28
  else:
 
29
  print("[init_session] init session failed")
 
30
  print(f"[init_session] detail: {response.message}")
31
  print("[init_session] end\n\n")
32
 
@@ -36,18 +42,21 @@ init_session()
36
 
37
  @router.get("/aliyun")
38
  async def call_aliyun(prompt: str):
 
39
  response = Application.call(
40
  api_key=API_KEY,
41
  app_id=APP_ID,
42
  prompt=prompt,
43
  session_id=session_id,
44
  )
45
- if response.status_code != status.HTTP_200_OK:
 
46
  session_id = response.output.session_id
47
  return JSONResponse(
48
  status_code=status.HTTP_200_OK,
49
  content={
50
- "request_id": response.request_id,
 
51
  "answer": response.output.text,
52
  },
53
  )
 
1
  from dashscope import Application
2
  from fastapi import APIRouter, status
3
+ from http import HTTPStatus
4
  from fastapi.responses import JSONResponse
5
  import os
6
 
 
11
  session_id = None
12
 
13
  init_prompt = """
14
+ You are a helpful assistant. Please answer some
15
+ questions about the MatchN game. You should only
16
+ user the knowledges from the knowledge base.
17
  """
18
 
19
 
20
  def init_session():
21
  print("[init_session] start")
22
+ global session_id
23
  response = Application.call(
24
  api_key=API_KEY,
25
  app_id=APP_ID,
26
  prompt=init_prompt,
27
  )
28
+ if response.status_code == HTTPStatus.OK:
29
  session_id = response.output.session_id
30
  print(f"[init_session] session_id: {session_id}")
31
  print(f"[init_session] answer: {response.output.text}")
32
  else:
33
+ print(response)
34
  print("[init_session] init session failed")
35
+ print(f"[init_session] code: {response.code}")
36
  print(f"[init_session] detail: {response.message}")
37
  print("[init_session] end\n\n")
38
 
 
42
 
43
  @router.get("/aliyun")
44
  async def call_aliyun(prompt: str):
45
+ global session_id
46
  response = Application.call(
47
  api_key=API_KEY,
48
  app_id=APP_ID,
49
  prompt=prompt,
50
  session_id=session_id,
51
  )
52
+ if response.status_code == HTTPStatus.OK:
53
+ last_session_id = session_id
54
  session_id = response.output.session_id
55
  return JSONResponse(
56
  status_code=status.HTTP_200_OK,
57
  content={
58
+ "session_id": response.output.session_id,
59
+ "last_session_id": last_session_id,
60
  "answer": response.output.text,
61
  },
62
  )