Kendra์์ ๊ฒ์ํ ๋์ ์ฌ์ฉํ๋ API์๋ Retrieve API์ Query๊ฐ ์์ต๋๋ค. ์๋์ ๊ฐ์ด ์์ฝํ์ฌ ์ค๋ช ํฉ๋๋ค.
- Retrieve API๋ Query API๋ณด๋ค ๋ง์ token์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ท๋ฌธ์ ์ ๊ณตํ๋๋ฐ, ๋ฐ์ท๋ฌธ์ ๊ธธ์ด๋ RAG์ ์ ํ๋์ ๋งค์ฐ ์ค์ํ ์์์ ๋๋ค. ๋ํ Retrieve API์ ๋ํ token ์ซ์๋ ๊ธฐ๋ณธ์ด 300์ธ๋ฐ, case๋ฅผ ํตํด ์ฆ๋์ ์์ฒญํ ์ ์์ต๋๋ค.
- Query API๋ก ํ๊ธ๋ฌธ์๋ฅผ ๊ฒ์ํ๋ ๊ฒฝ์ฐ์ token์ซ์์ ์ ํ์ผ๋ก ๋ง์ ๊ฒฝ์ฐ์ ๋ง์กฑํ ๋งํ RAG์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์์ต๋๋ค.
- ๊ฒ์์ ์ ํ๋(score)๋ฅผ ํ์ฉํ์ฌ ๊ฒ์์ ๋ฒ์๋ฅผ ์กฐ์ ํ๋ฉด RAG์ ์ ํ๋๊ฐ ์ฌ๋ผ๊ฐ๋๋ค. ๊ทธ๋ฐ๋ฐ, Retrieve๋ 2023๋ 11์(ํ์ฌ)๊น์ง ์์ด(en)์ ๋ํด์๋ง score๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์, ํ๊ตญ์ด(ko)๋ token์๊ฐ ์ ์ Query API๋ฅผ ์ด์ฉํ ๋๋ง score๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
- Kendra์ FAQ๋ฅผ ์ด์ฉํ๋ฉด RAG์ ์ ํ๋๋ฅผ ๊ฐ์ ํ ์ ์๋๋ฐ, Query API๋ก๋ง ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์ต๋๋ค. ๋ํ, Kendra์์๋ Retrieve API๋ก ์กฐํ์ ๊ฒฐ๊ณผ๊ฐ ์์๋์ Query API๋ก fallback์ best practice๋ก ๊ฐ์ด๋ํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์, FAQ๋ฅผ ์ฌ์ฉํ๊ณ ์ ํ๋ค๋ฉด, Retrive์ Query API๋ฅผ ๋ชจ๋ ์ฌ์ฉํ์ฌ์ผ ํฉ๋๋ค.
- LangChain์ Retrieve API๋ก ๊ฒ์ํ์์๋์ ๊ฒฐ๊ณผ๊ฐ ์์ผ๋ฉด, Query๋ก ํ๋ฒ ๋ ๊ฒ์์ ์ํํฉ๋๋ค.
- Kendra์์ ํ๊ตญ์ด ๋ฌธ์๋ฅผ ์ ๋ก๋ํ๋ฉด retriever์ Language ์ค์ ์ "ko"๋ก ์ค์ ํ์ฌ์ผ ํฉ๋๋ค.
- ํ๊ธ๋ฌธ์์ ์ธ์ด์ค์ ์ "ko"๋กํ์ฌ Kendra์ ๋ฑ๋กํฉ๋๋ค.
- LangChain์ Kendra Retriever๋ก ์ง์์ language๋ฅผ "ko"๋ก ์ค์ ํ์ฌ์ผ retriever api๋ก ๋ ๋ง์ token์ ๊ฐ์ง๋ ๋ฐ์ท๋ฌธ์ ์ป์ ์ ์์ต๋๋ค.
- Kendra์ Retrieve/Query API๋ก ์ง์ ์กฐํํ๋ฉด ์ข๋ ์ ์ฐํ๊ฒ RAG๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค.
- FAQ๋ฌธ์๊ฐ ์๋ค๋ฉด, Kendra์ ๋ฑ๋กํ์ฌ ํ์ฉํฉ๋๋ค. FAQ ์ฌ์ฉ์ Query API๋ฅผ ํ์ฉํ์ฌํ๋ฏ๋ก, ๊ฒฐ๊ณผ๋ฅผ ์ป๋ ์๋๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋์์ Retrieve/Query API๋ฅผ ํธ์ถํฉ๋๋ค.
Retrieve๋ Default Quota ๊ธฐ์ค์ผ๋ก ํ๋์ ๋ฐ์ท๋ฌธ(passges)๋ 200๊ฐ์ token์ผ๋ก ๊ตฌ์ฑ๋ ์ ์๊ณ , ์ต๋ 100๊ฐ(PageSize)๊น์ง ์ด๋ฐ ๋ฐ์ท๋ฌธ์ ์ป์ ์ ์์ต๋๋ค. 200 ๊ฐ์ token์ผ๋ก ๊ตฌ์ฑ๋ ๋ฐ์ท๋ฌธ(passage)๊ณผ ์ต๋ 100๊ฐ์ ์๋ฏธ๋ก ์ ์ผ๋ก ๊ด๋ จ๋ ๋ฐ์ท๋ฌธ์ ๊ฒ์ํ ์ ์์ต๋๋ค. Query API์ ๋ค๋ฅด๊ฒ qustion/answer์ FAG๋ ํฌํจ๋์ง ์์ต๋๋ค.
Retrieve API๋ ์์ด(en)๋ง score๋ฅผ ์ ๊ณตํ๊ณ , ์ฑ๋ฅ์ ๊ฐ์ ํ๊ธฐ ์ํ feedback์ ์ง์ํ์ง ์์ต๋๋ค.
Query์ ๊ฒฐ๊ณผ๋ "DOCUMENT", "QUESTION_ANSWER", "ANSWER"์ Type์ด ์์ต๋๋ค.
- ANSWER: ๊ด๋ จ ์ ์๋ ๋ต๋ณ(Relevant suggested answers)์ผ๋ก text๋ table์ ๋ฐ์ทจ(excerpt)๋ก์ ๊ฐ์กฐ ํ์(highlight)๋ฅผ ์ง์ํฉ๋๋ค.
- QUESTION_ANSWER: ๊ด๋ จ๋ FAQ(Matching FAQs) ๋๋ FAQ ํ์ผ์์ ์ป์ question-answer์ ๋๋ค.
- DOCUMENT: ๊ด๋ จ๋ ๋ฌธ์(Relevant documents)๋ก์ ๋ฌธ์์ ๋ฐ์ทจ(excerpt)์ title์ ํฌํํ ๊ฒฐ๊ณ ๋ก์ ๊ฐ์กฐ ํ์(hightlight)๋ฅผ ์ง์ํฉ๋๋ค.
๊ด๋ จ ํ๋ผ๋ฉํฐ๋ ์๋์ ๊ฐ์ต๋๋ค.
- QueryResultTypeFilter๋ก type์ ์ง์ ํ ์ ์์ต๋๋ค.
- PageSize: ๊ด๋ จ๋ ๋ฌธ์ฅ์ ๋ช๊ฐ๊น์ง ๊ฐ์ ธ์ฌ์ง ์ง์ ํฉ๋๋ค.
- PageNumber: ๊ธฐ๋ณธ๊ฐ์ ๊ฒฐ๊ณผ์ ์ฒซํ์ด์ง์ ๋๋ค. ์ฒซํ์ด์ง ์ดํ์ ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ๋ ์ง์ ํฉ๋๋ค.
๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๊ธฐ
def get_retrieve_using_Kendra(index_id, query, top_k):
kendra_client = boto3.client(
service_name='kendra',
region_name=kendra_region,
config = Config(
retries=dict(
max_attempts=10
)
)
)
attributeFilter = {
"AndAllFilters": [
{
"EqualsTo": {
"Key": '_language_code',
"Value": {
"StringValue": 'en',
},
},
},
],
}
try:
resp = kendra_client.query(
IndexId = index_id,
QueryText = query,
PageSize = top_k,
#PageNumber = page_number,
#AttributeFilter = attributeFilter,
#QueryResultTypeFilter = "DOCUMENT", # 'QUESTION_ANSWER'
)
except Exception as ex:
err_msg = traceback.format_exc()
print('error message: ', err_msg)
raise Exception ("Not able to retrieve to Kendra")
print('resp, ', resp)
print('resp[ResultItems], ', resp['ResultItems'])
for query_result in resp["ResultItems"]:
print("-------------------")
print("Type: " + str(query_result["Type"]))
if query_result["Type"]=="ANSWER" or query_result["Type"]=="QUESTION_ANSWER":
answer_text = query_result["DocumentExcerpt"]["Text"]
print(answer_text)
if query_result["Type"]=="DOCUMENT":
if "DocumentTitle" in query_result:
document_title = query_result["DocumentTitle"]["Text"]
print("Title: " + document_title)
document_text = query_result["DocumentExcerpt"]["Text"]
print(document_text)
print("------------------\n\n")
ScoreAttributes์ ๊ฐ์ด "VERY_HIGH", "HIGH", "MEDIUM", "LOW", "NOT_AVAILABLE"๋ก ๊ฒฐ๊ณผ์ ์ ๋ขฐ๋๋ฅผ ํ์ธํ ์ ์์ต๋๋ค.
FAQ-Kendra๋ฅผ ์ฐธ์กฐํฉ๋๋ค. kendra-faq-refresher๋ฅผ ์ฐธ์กฐํ์ฌ FAQ๋ฅผ Kendra ๊ฒ์ ๊ฒฐ๊ณผ๋ก ํ์ฉํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์๋ Kendra FAQ์ ๊ฐ์ด Kendra์ Query API๋ก FAQ์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ฉด, ์ง๋ฌธ๊ณผ ๊ฒฐ๊ณผ๋ฅผ ํจ๊ป excerpt๋ก ํ์ฉํฉ๋๋ค.
Relevance tuning with Amazon Kendra
Submitting feedback for incremental learning
Document์ ๋ํ ์ ๊ทผ๊ถํ์ ๊ด๋ฆฌํ ์ ์๋๋ก UserContext๋ฅผ ์ด์ฉํฉ๋๋ค. ์ด๋, DataSourceGroup๋ ๋ฐ์ดํฐ ์์ค ๊ทธ๋ฃน๋ณ๋ก ๊ฒ์์ ์๋์ ๊ฐ์ด ์ง์ ํ ์ ์์ต๋๋ค.
response = client.query(
IndexId='string',
QueryText='string',
UserContext={
'Token': 'string',
'UserId': 'string',
'Groups': [
'string',
],
'DataSourceGroups': [
{
'GroupId': 'string',
'DataSourceId': 'string'
},
]
},
Enterprise Search with Amazon Kendra
{
"QueryId":"4dcde662-831f-438d-8870-98d4fa27ded2",
"ResultItems":[
{
"Id":"4dcde662-831f-438d-8870-98d4fa27ded2-acd1426d-9c78-49d8-9bab-fa826d443413",
"DocumentId":"0bc8608c-aff6-4171-8ca2-0634d466adaf",
"DocumentTitle":"fsi_faq_ko.csv",
"Content":"Category\tInformation\ttype\tSource ์๋ง์กด ์ํ์ ํ๊ธฐ๊ดOTP ์ด์ฉ๋ฑ๋ก๋ฐฉ๋ฒ ์๋ ค์ฃผ์ธ์\t์๋ง์กด ์ํ์ ํ๊ธฐ๊ด์์ ๋ฐ๊ธ๋ฐ์ผ์ OTP๊ฐ ํตํฉOTP์นด๋์ธ ๊ฒฝ์ฐ ๋นํ์ ๋ฑ๋กํ์ฌ ์ด์ฉ๊ฐ๋ฅํฉ๋๋ค. [๊ฒฝ๋ก] - ์ธํฐ๋ท๋ฑ
ํน ๋ก๊ทธ์ธโ ์ฌ์ฉ์๊ด๋ฆฌโ์ธํฐ๋ท๋ฑ
ํน๊ด๋ฆฌโOTP์ด์ฉ๋ฑ๋ก - ์๋ง์กด์ํ ๋ชจ๋ฐ์ผ์ฑ ๋ก๊ทธ์ธโ ์ ์ฒด๋ฉ๋ดโ์ค์ /์ธ์ฆโ ์ด์ฉ์ค์ธ ๋ณด์๋งค์ฒด์ ํโ OTP์ด์ฉ๋ฑ๋ก โป OTP์ด์ฉ๋ฑ๋กํ ์ฌ๋ก๊ทธ์ธ์ ํ์
์ผ ์๋ก ๋ฑ๋ก๋ ๋ณด์๋งค์ฒด๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๊ธฐํ ๊ถ๊ธํ์ ๋ด์ฉ์ ์๋ง์กด ์ํ ๊ณ ๊ฐ์ผํฐ 1599-9999๋ก ๋ฌธ์ํ์ฌ ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ธํฐ๋ท๋ฑ
ํน\t์๋ง์กด์ํ ์๋ง์กด ๊ณต๋์ธ์ฆ์์ ๊ธ์ต์ธ์ฆ์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ์? ๊ณต๋์ธ์ฆ์ (๊ตฌ ๊ณต์ธ์ธ์ฆ์)๋ ์ฉ๋์ ๋ฐ๋ผ ์ํ/์ ์ฉ์นด๋/๋ณดํ์ฉ ๋ฌด๋ฃ ์ธ์ฆ์์ ์ ์๊ฑฐ๋๋ฒ์ฉ(์์๋ฃ 4,400์) ์ธ์ฆ์๊ฐ ์์ผ๋ฉฐ ์ ํจ๊ธฐ๊ฐ์ 1๋
์
๋๋ค. โป OTP์ด์ฉ๋ฑ๋กํ ์ฌ๋ก๊ทธ์ธ์ ํ์
์ผ ์๋ก ๋ฑ๋ก๋ ๋ณด์๋งค์ฒด๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๊ธฐํ ๊ถ๊ธํ์ ๋ด์ฉ์ ์๋ง์กด ์ํ ๊ณ ๊ฐ์ผํฐ 1599-9999๋ก ๋ฌธ์ํ์ฌ ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ธํฐ๋ท๋ฑ
ํน\t์๋ง์กด์ํ ์๋ง์กด ๊ณต๋์ธ์ฆ์์ ๊ธ์ต์ธ์ฆ์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ์? ๊ณต๋์ธ์ฆ์ (๊ตฌ ๊ณต์ธ์ธ์ฆ์)๋ ์ฉ๋์ ๋ฐ๋ผ ์ํ/์ ์ฉ์นด๋/๋ณดํ์ฉ ๋ฌด๋ฃ ์ธ์ฆ์์ ์ ์๊ฑฐ๋๋ฒ์ฉ(์์๋ฃ 4,400์) ์ธ์ฆ์๊ฐ ์์ผ๋ฉฐ ์ ํจ๊ธฐ๊ฐ์ 1๋
์
๋๋ค. ์๋ง์กด ๊ณต๋์ธ์ฆ์๋ ํ๋๋์คํฌ๋ ์ด๋์๋์คํฌ, ํด๋ํฐ ๋ฑ ์ํ์๋ ๊ธฐ๊ธฐ์ ์ ์ฅํด์ ์ด์ฉํ ์ ์์ต๋๋ค. ์ธ์ฆ์๋ฅผ ์ ์ฅํ ๋งค์ฒด์์๋ ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ๋ก ํธ๋ฆฌํ๊ฒ ์ด์ฉํ ์ ์์ผ๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ด์ฉํ๋ ค๋ฉด ๊ธฐ๊ธฐ๋ง๋ค ๋ณต์ฌํ๊ฑฐ๋ ์ด๋์๋์คํฌ์ ์ ์ฅํด์ ํด๋ํด์ผ ํ๋ ๋ถํธํจ์ด ์์ ์ ์์ต๋๋ค. ์๋ง์กด ๊ธ์ต์ธ์ฆ์๋ ๊ธ์ต์ธ์ฆ์๋ ๊ธ์ต๊ฒฐ์ ์์ ํด๋ผ์ฐ๋์ ์ ์ฅํ์ฌ ์ด์ฉํ๋ ์ธ์ฆ์๋ก ๋ฐ๊ธ/์ด์ฉ ์์ ํด๋ผ์ฐ๋์ ์ ์์ด ํ์ํฉ๋๋ค. ๊ธ์ต๊ฒฐ์ ์ ํด๋ผ์ฐ๋์ ์ฐ๊ฒฐ๋ง ๊ฐ๋ฅํ๋ค๋ฉด ์ด๋์๋ ํธ๋ฆฌํ๊ฒ ์ด์ฉ ๊ฐ๋ฅํ์ง๋ง, PC๋ USB, ํด๋ํฐ ๋ฑ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ก ๋ณต์ฌ๋ ๋ถ๊ฐํฉ๋๋ค. (์ ํจ๊ธฐ๊ฐ 3๋
/๋ฐ๊ธ ์์๋ฃ ๋ฌด๋ฃ) โป ํด๋ผ์ฐ๋ ๊ณ์ ์ฐ๊ฒฐ์ ์ํด ํด๋ํฐ์ ํตํ ARS, SMS, ๋ง์ด์ธํฌ์ฑ ์ธ์ฆ ์ ์ฐจ๊ฐ ํ์ํฉ๋๋ค. ์ธ์ฆ์\t์๋ง์กด์ํ ๊ณต๋์ธ์ฆ์์ ๊ธ์ต์ธ์ฆ์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ์? ๊ณต๋์ธ์ฆ์ (๊ตฌ ๊ณต์ธ์ธ์ฆ์)๋ ์ฉ๋์ ๋ฐ๋ผ ์ํ/์ ์ฉ์นด๋/๋ณดํ์ฉ ๋ฌด๋ฃ ์ธ์ฆ์์ ์ ์๊ฑฐ๋๋ฒ์ฉ(์์๋ฃ 4,400์) ์ธ์ฆ์๊ฐ ์์ผ๋ฉฐ ์ ํจ๊ธฐ๊ฐ์ 1๋
์
๋๋ค. ๊ณต๋์ธ์ฆ์๋ ํ๋๋์คํฌ๋ ์ด๋์๋์คํฌ, ํด๋ํฐ ๋ฑ ์ํ์๋ ๊ธฐ๊ธฐ์ ์ ์ฅํด์ ์ด์ฉํ ์ ์์ต๋๋ค. ์ธ์ฆ์๋ฅผ ์ ์ฅํ ๋งค์ฒด์์๋ ์ธ์ฆ์ ๋น๋ฐ๋ฒํธ๋ก ํธ๋ฆฌํ๊ฒ ์ด์ฉํ ์ ์์ผ๋ ๋ค๋ฅธ ๊ธฐ๊ธฐ์์ ์ด์ฉํ๋ ค๋ฉด ๊ธฐ๊ธฐ๋ง๋ค ๋ณต์ฌํ๊ฑฐ๋ ์ด๋์๋์คํฌ์ ์ ์ฅํด์ ํด๋ํด์ผ ํ๋ ๋ถํธํจ์ด ์์ ์ ์์ต๋๋ค. ๊ธ์ต์ธ์ฆ์๋ ๊ธ์ต์ธ์ฆ์๋ ๊ธ์ต๊ฒฐ์ ์์ ํด๋ผ์ฐ๋์ ์ ์ฅํ์ฌ ์ด์ฉํ๋ ์ธ์ฆ์๋ก ๋ฐ๊ธ/์ด์ฉ ์์ ํด๋ผ์ฐ๋์ ์ ์์ด ํ์ํฉ๋๋ค. ๊ธ์ต๊ฒฐ์ ์ ํด๋ผ์ฐ๋์ ์ฐ๊ฒฐ๋ง ๊ฐ๋ฅํ๋ค๋ฉด ์ด๋์๋ ํธ๋ฆฌํ๊ฒ ์ด์ฉ ๊ฐ๋ฅํ์ง๋ง, PC๋ USB, ํด๋ํฐ ๋ฑ ๋ค๋ฅธ ๊ธฐ๊ธฐ๋ก ๋ณต์ฌ๋ ๋ถ๊ฐํฉ๋๋ค. (์ ํจ๊ธฐ๊ฐ 3๋
/๋ฐ๊ธ ์์๋ฃ ๋ฌด๋ฃ) โป ํด๋ผ์ฐ๋ ๊ณ์ ์ฐ๊ฒฐ์ ์ํด ํด๋ํฐ์ ํตํ ARS, SMS, ๋ง์ด์ธํฌ์ฑ ์ธ์ฆ ์ ์ฐจ๊ฐ ํ์ํฉ๋๋ค. ์ธ์ฆ์\t์์ธ์ํ ํ๊ธฐ๊ดOTP ์ด์ฉ๋ฑ๋ก๋ฐฉ๋ฒ ์๋ ค์ฃผ์ธ์\tํ๊ธฐ๊ด์์ ๋ฐ๊ธ๋ฐ์ผ์ OTP๊ฐ ํตํฉOTP์นด๋์ธ ๊ฒฝ์ฐ ๋นํ์ ๋ฑ๋กํ์ฌ ์ด์ฉ๊ฐ๋ฅํฉ๋๋ค. [๊ฒฝ๋ก] - ์ธํฐ๋ท๋ฑ
ํน ๋ก๊ทธ์ธโ ์ฌ์ฉ์๊ด๋ฆฌโ์ธํฐ๋ท๋ฑ
ํน๊ด๋ฆฌโOTP์ด์ฉ๋ฑ๋ก - ์์ธ ๋ชจ๋ฐ์ผ์ฑ ๋ก๊ทธ์ธโ ์ ์ฒด๋ฉ๋ดโ์ค์ /์ธ์ฆโ ์ด์ฉ์ค์ธ ๋ณด์๋งค์ฒด์ ํโ OTP์ด์ฉ๋ฑ๋ก โป OTP์ด์ฉ๋ฑ๋กํ ์ฌ๋ก๊ทธ์ธ์ ํ์
์ผ ์๋ก ๋ฑ๋ก๋ ๋ณด์๋งค์ฒด๊ฐ ์ ์ฉ๋ฉ๋๋ค. ๊ธฐํ ๊ถ๊ธํ์ ๋ด์ฉ์ ์์ธ์ํ ๊ณ ๊ฐ์ผํฐ 1599-8000๋ก ๋ฌธ์ํ์ฌ ์ฃผ์๊ธฐ ๋ฐ๋๋๋ค. ์ธํฐ๋ท๋ฑ
ํน\t์์ธ์ํ ๊ณต๋์ธ์ฆ์์ ๊ธ์ต์ธ์ฆ์ ์ฐจ์ด์ ์ด ๋ฌด์์ธ๊ฐ์?",
"DocumentURI":"https://d2me0ac2n5hgqe.cloudfront.net/docs/fsi_faq_ko.csv",
"DocumentAttributes":[
{
"Key":"_source_uri",
"Value":{
"StringValue":"https://d2me0ac2n5hgqe.cloudfront.net/docs/fsi_faq_ko.csv"
}
}
],
"ScoreAttributes":{
"ScoreConfidence":"NOT_AVAILABLE"
}
},
],
"ResponseMetadata":{
"RequestId":"5dd6b3ea-1774-4b6c-b88e-c1cfbfeb0e9a",
"HTTPStatusCode":200,
"HTTPHeaders":{
"x-amzn-requestid":"5dd6b3ea-1774-4b6c-b88e-c1cfbfeb0e9a",
"content-type":"application/x-amz-json-1.1",
"content-length":"45160",
"date":"Mon, 20 Nov 2023 00:34:25 GMT"
},
"RetryAttempts":0
}
}
[
{
"Id":"74719041-8126-473c-92f1-929fdc520138-188b319d-552f-4ff4-a7d5-8cbcd21dbea8",
"Type":"QUESTION_ANSWER",
"Format":"TEXT",
"AdditionalAttributes":[
{
"Key":"QuestionText",
"ValueType":"TEXT_WITH_HIGHLIGHTS_VALUE",
"Value":{
"TextWithHighlightsValue":{
"Text":"How many free clinics are in Spokane WA?",
"Highlights":[
{
"BeginOffset":4,
"EndOffset":8,
"TopAnswer":false,
"Type":"STANDARD"
},
{
"BeginOffset":9,
"EndOffset":13,
"TopAnswer":false,
"Type":"STANDARD"
},
{
"BeginOffset":14,
"EndOffset":21,
"TopAnswer":false,
"Type":"STANDARD"
},
{
"BeginOffset":29,
"EndOffset":36,
"TopAnswer":false,
"Type":"STANDARD"
},
{
"BeginOffset":37,
"EndOffset":39,
"TopAnswer":false,
"Type":"STANDARD"
}
]
}
}
},
{
"Key":"AnswerText",
"ValueType":"TEXT_WITH_HIGHLIGHTS_VALUE",
"Value":{
"TextWithHighlightsValue":{
"Text":"13",
"Highlights":[
]
}
}
}
],
"DocumentId":"c24c0fe9cbdfa412ac58d1b5fc07dfd4afd21cbd0f71df499f305296d985a8c9a91f1b2c-e28b-4d13-8b01-8a33be5fc126",
"DocumentTitle":{
"Text":""
},
"DocumentExcerpt":{
"Text":"13",
"Highlights":[
{
"BeginOffset":0,
"EndOffset":2,
"TopAnswer":false,
"Type":"STANDARD"
}
]
},
"DocumentURI":"https://www.freeclinics.com/",
"DocumentAttributes":[
{
"Key":"_source_uri",
"Value":{
"StringValue":"https://www.freeclinics.com/"
}
}
],
"ScoreAttributes":{
"ScoreConfidence":"VERY_HIGH"
},
"FeedbackToken":"AYADeN-jZ9DvGVP9n00b4d48LrsAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREF6ajZZVkJ3M3B4dXZEMGRJZitQaEEzUWNVZkE3TDVBbjNEOCs1bE1aRm1hN1M3a0N3cjNiMzZRR2hPcTloeVJ1QT09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLXdlc3QtMjoxNDk0MDA5NDM5NTk6a2V5LzUyN2YwMjRhLTUyMDktNDI4NC1iOTYwLTJhMjYxMzQxNWNkNgC4AQIBAHhoFIrDBc0sA_W0qqJvieboGJWYBK_hEm739PftPtfwZwEP6KAczOsL3xpUp6oizSAgAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMT_QgV_BMu5l49EZAAgEQgDuTOkP1QJbt85KZ4FDF438i0upluDZq_Rf3L8H9PqkLQOSgUAyyy9hqEmMOZUcGqvBNc_ekw4pbMRy5ZAIAAAAADAAAEAAAAAAAAAAAAAAAAAB3LYEFCQuAEb8NnKHSk1eT_____wAAAAEAAAAAAAAAAAAAAAEAAAF2QLnDNTO_Ma1EGreEOHC8YG5ijJ7jLblLE4CbyAY9ueJHKBTQ-Rf2A_pD9hpXTuyP6Ho84IIlScm7IhFUomBUSZMD_qrc0qnvlrCjgXwJ_AM0MJKmqBkMPNvivFnfZ9xl-dFyFX1sdzq0_LUE4KgLZpjQiSU0b_PFJw2zN8P6JSJb9Fz84fbWu1_nzrVrqCj5dDpMLDNLgC3f6pTS4IqmJqMsj6BbGcdsvLIzVA2XaAGYS8CNv9pu5Hz63yrh6hG4UHWJwdhIcPZG7z7BayFjravsKjw101PJnzUKSIfiZlRnoqm-Bbff-ieECV-vZ_1vtskbHhmsZ4WlKTcpD5QGMrElbk7WMbdPf8gmGQfC8SMrR-ixO7d856LIsoTx9i6VcN91GxEKcYtsXY4J0w6G4aL8-tj1iS7zwIsxHimIsuAHM4u5SmHmI_oJ25pR-7TA2K34GVv9VhYydG8JsBbjGV-mPpg6ORE4bNkhRL38f1pfHEXNlv79F9b8UP93MLfj6lZT25tPAGcwZQIxAK_GncCyOyt2NLdszY-Oc2Qchpo2CCTjj25a5wyzYv4JObw591oaxZeSVbA_Mq2v2gIwf6xq0c5vYGait9J9mnI2FMtEJ3rI2DRld30IRmWWNES54XOxciMd5J_YxJGkfghX.74719041-8126-473c-92f1-929fdc520138-188b319d-552f-4ff4-a7d5-8cbcd21dbea8"
}
]
{
"QueryId":"cab6a783-5daf-40b6-a3d9-4df51f3ec812",
"ResultItems":[
{
"Id":"0732b19c-333b-4f60-9724-323b54928f52-3f4bf464-5098-4463-b14d-eee05828fe0e",
"Type":"DOCUMENT",
"Format":"TEXT",
"AdditionalAttributes":[
],
"DocumentId":"e3f2af36-f76b-4775-a5ed-863910bc7a64",
"DocumentTitle":{
"Text":"book_smmdinlm239.pdf",
"Highlights":[
]
},
"DocumentExcerpt":{
"Text":"...์์ผ๋ฉฐ, ๊ฐ์
์๋ ๊ฐ์
์ ์์ ์ด์ ๋ํ ์ถฉ๋ถํ ์ค๋ช
์ ๋ฐ์ผ์๊ธฐ ๋ฐ๋๋๋ค.\n\n\nโข๊ฐ์
ํ ๋ ๋ณดํ๊ณ์ฝ์ ๊ธฐ๋ณธ์ฌํญ[๋ณดํ์ํ๋ช
, ๋ณดํ๊ธฐ๊ฐ, ๋ฉ์
๊ธฐ๊ฐ, ํผ๋ณดํ์ ๋ฑ]์ ๋ฐ๋์ ํ์ธํ์๊ธฐ ๋ฐ๋๋๋ค.\n\n\nโข ๋ณดํ๊ณ์ฝ ์ฒญ์ฝ์์์ ์ง๋ฌธํ ์ฌํญ(๊ณ์ฝ ์ ์๋ฆด ์๋ฌด ์ฌํญ)์ ๋ํด ๊ณ ์ ๋๋ ์ค๋ํ ๊ณผ์ค๋ก ์ฌ์ค๊ณผ ๋ค๋ฅด๊ฒ ์๋ฆฐ ๊ฒฝ์ฐ์๋ \n\n\n๋ณดํ๊ณ์ฝ์ด ํด์ง๋๊ฑฐ๋ ๋ณด์ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค...",
"Highlights":[
]
},
"DocumentURI":"",
"DocumentAttributes":[
{
"Key":"_excerpt_page_number",
"Value":{
"LongValue":5
}
}
],
"ScoreAttributes":{
"ScoreConfidence":"MEDIUM"
},
"FeedbackToken":"AYADeOHYuP8KBBZVDtqxvB8JoHoAXwABABVhd3MtY3J5cHRvLXB1YmxpYy1rZXkAREF6K2JUSmJlM0hHU2Y2SktqdXhwaDNsOFEyTWdtYjRzQ2UvTElvdDZ3dElaczFDV21sc1dZYzhhSDdwaitNQmF0dz09AAEAB2F3cy1rbXMAS2Fybjphd3M6a21zOnVzLXdlc3QtMjoxNDk0MDA5NDM5NTk6a2V5LzUyN2YwMjRhLTUyMDktNDI4NC1iOTYwLTJhMjYxMzQxNWNkNgC4AQIBAHhoFIrDBc0sA_W0qqJvieboGJWYBK_hEm739PftPtfwZwHTuiBoobRJuvQ0u6-6abBiAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMYJMTvVwth6_ptw6pAgEQgDsrzR_f7IbDgqT5XrW3v5Da-aTNFw2v7fpcIra8PD02pQ5feUAw_JkXR81MXrqrbQ7fKsEexQPdTsx3JAIAAAAADAAAEAAAAAAAAAAAAAAAAACbC35XEBh-MXfq3LU5gDvR_____wAAAAEAAAAAAAAAAAAAAAEAAAF2PUZ0ZVJdz40rYWthpb1aYMLWCD1h3sVB6aXfhcUKwnKyilNtQ6Sr-yq_B0Daajd5P7PEwDeuPRmwAh164ukTXwP9qJIiaADhiCYTD0BZrtCC_JdH9wudYz0ximAEWA4pi1A0NSucA6RxmJRK16VXfYLxp7JIooWL4SLyoCxmRIM1ZwNs38YmnwEh5XA-crpcaQBTBgjkVejsmCCbNh1RVylDpmkMUxzYZZh2uIOYFAmjocr9IbFJKQz1IQNktcq-_uUdaO6jvNNUTUsCoJMMM4A4H4yczVD3RpJGNzatYHYRq8zhhmF6B9PGaVbDD26FrH9uyryyY9XhdL4GMBm1C4DPCDmWBEqfD9dCgfn32784tSJklA8xp9C_46hq_UyYy8uSWjbmJYNu0rRoueGJrkmcRV1sA9gUDbriYr4Ij249GahhRsF8nsDWtkmOzZbBU0CXsmklH4A7K7MBnBBsEcFDQE9Wxi-VNPHcgjmAL-ilMHNY6B0IYiDB_w9lNp6eebc8LZ4bAGcwZQIxAPRf5aJNC67fcRlu61G66HRAQ6m-rvg3eWw4GqrZ4WvtBuZ_GTxDvve-CYWpGtedpwIwLJHMr9WZLpByNqsyLhQk3ztG4eIA830nRg4rz9Odzp9mVlD2-bh8aOHx-r0JXz23.0732b19c-333b-4f60-9724-323b54928f52-3f4bf464-5098-4463-b14d-eee05828fe0e"
}
],
"FacetResults":[
],
"TotalNumberOfResults":4,
"ResponseMetadata":{
"RequestId":"52b5d039-a600-4ed8-90b1-d1fa46c5e1c7",
"HTTPStatusCode":200,
"HTTPHeaders":{
"x-amzn-requestid":"52b5d039-a600-4ed8-90b1-d1fa46c5e1c7",
"content-type":"application/x-amz-json-1.1",
"content-length":"9569",
"date":"Fri, 17 Nov 2023 06:55:10 GMT"
},
"RetryAttempts":0
}
}