1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| from akasha.self_query import query_filter
db, _ = akasha.db.processMultiDB(dir, False, emb_obj, chunk_size, True) prompt = "A公司在2024年對電動車的銷售量為多少?" search_type = "bm25" model_obj = akasha.helper.handle_model("openai:gpt-4o", True)
metadata_field_info = [ { "name": "拜訪年", "description": "此訪談紀錄的拜訪年份", "type": "integer" }, { "name": "拜訪月", "description": "此訪談紀錄的拜訪月份", "type": "integer" }, { "name": "業務擔當", "description": "業務的名稱", "type": "string" }, { "name": "中分類", "description": "訪談產品的中等分類", "type": "string" }, { "name": "公司名稱", "description": "訪談對象的公司名稱", "type": "string" }, { "name": "大分類", "description": "訪談產品的大分類", "type": "string" }, { "name": "產品", "description": "訪談的產品名稱/型號", "type": "string" }, { "name": "課別", "description": "公司部門的課別名稱或代號", "type": "string" }, ]
document_content_description = "業務與客戶的訪談紀錄"
new_dbs, query, matched_fields = query_filter( prompt, model_obj, db, metadata_field_info, document_content_description)
retriver = akasha.search.get_retrivers(new_dbs, emb_obj, 0.0, search_type)[0] retri_docs, retri_scores = retriver._gs(query)
ak = akasha.Doc_QA(embeddings=emb_obj, model=model_obj) ak.get_response(doc_path=new_dbs,prompt=prompt)
|