(session: SessionDep, record_id: int, answer: str,
datasource: int = None, engine_type: str = None)
| 935 | |
| 936 | |
| 937 | def save_select_datasource_answer(session: SessionDep, record_id: int, answer: str, |
| 938 | datasource: int = None, engine_type: str = None) -> ChatRecord: |
| 939 | if not record_id: |
| 940 | raise Exception("Record id cannot be None") |
| 941 | record = get_chat_record_by_id(session, record_id) |
| 942 | |
| 943 | record.datasource_select_answer = answer |
| 944 | |
| 945 | if datasource: |
| 946 | record.datasource = datasource |
| 947 | record.engine_type = engine_type |
| 948 | |
| 949 | result = ChatRecord(**record.model_dump()) |
| 950 | |
| 951 | if datasource: |
| 952 | stmt = update(ChatRecord).where(and_(ChatRecord.id == record.id)).values( |
| 953 | datasource_select_answer=record.datasource_select_answer, |
| 954 | datasource=record.datasource, |
| 955 | engine_type=record.engine_type, |
| 956 | ) |
| 957 | else: |
| 958 | stmt = update(ChatRecord).where(and_(ChatRecord.id == record.id)).values( |
| 959 | datasource_select_answer=record.datasource_select_answer, |
| 960 | ) |
| 961 | |
| 962 | session.execute(stmt) |
| 963 | |
| 964 | session.commit() |
| 965 | |
| 966 | return result |
| 967 | |
| 968 | |
| 969 | def save_recommend_question_answer(session: SessionDep, record_id: int, |
no test coverage detected