e768098d0e
tools_continuous_delivery / Private PyPI non-main branch release (push) Has been skipped
tools_continuous_delivery / Private PyPI main branch release (push) Failing after 2m42s
Publish Promptflow Doc / Build (push) Has been cancelled
Publish Promptflow Doc / Deploy (push) Has been cancelled
Flake8 Lint / flake8 (push) Has been cancelled
Spell check CI / Spell_Check (push) Has been cancelled
23 lines
584 B
Python
23 lines
584 B
Python
from promptflow.core import tool
|
|
from chat_with_pdf.qna import qna
|
|
|
|
|
|
@tool
|
|
def qna_tool(prompt: str, history: list):
|
|
stream = qna(prompt, convert_chat_history_to_chatml_messages(history))
|
|
|
|
answer = ""
|
|
for str in stream:
|
|
answer = answer + str + ""
|
|
|
|
return {"answer": answer}
|
|
|
|
|
|
def convert_chat_history_to_chatml_messages(history):
|
|
messages = []
|
|
for item in history:
|
|
messages.append({"role": "user", "content": item["inputs"]["question"]})
|
|
messages.append({"role": "assistant", "content": item["outputs"]["answer"]})
|
|
|
|
return messages
|