Как выполнить поиск по нескольким регулярным выражениям в одной строке? ⇐ Python
Как выполнить поиск по нескольким регулярным выражениям в одной строке?
Здесь новичок в сообществе stackoverflow и разработке Python
Я создаю чат-бота с поддержкой искусственного интеллекта на основе LLM и данных Snowflake. Обычно пользователь запрашивает информацию о своих собственных данных, искусственный интеллект, который я подсказываю, будет отвечать на код sql в уценке, чтобы я мог выполнить поиск по регулярному выражению, чтобы проанализировать ответ бота и передать код sql снежинке/снежному парку, чтобы я мог получить и отобразить результаты запроса. На данный момент все работает и идет отлично
Теперь возникает проблема. Я хочу, чтобы пользователь мог запрашивать графики, графики, диаграммы... Поэтому я создал список, чтобы, если одна из строк в списке присутствует в подсказке, она давала ИИ другое системное приглашение. В приглашении ему предлагается сгенерировать функцию Python (df в параметре) в уценке, чтобы я мог проанализировать ее регулярным выражением и вызвать для отображения графика. ИИ все отлично генерирует, его код корректен и точен, но парсинг теперь не работает. Первый парсер принимает первый открывающий тег md sql до закрывающего тега md python, и после этого я получил исключение компиляции SQL
Мой код (регулярное выражение в sql_match иgraph_match):
if st.session_state.messages[-1]["роль"] != "помощник": с st.chat_message("помощник"): ответ = "" resp_container = st.empty() для дельты в openai.ChatCompletion.create( модель="gpt-4", messages=[{"role": m["role"], "content": m["content"]} для m в st.session_state.messages], поток = Истина, температура=0 ): ответ += delta.choices[0].delta.get("content", "") resp_container.markdown(ответ) сообщение = {"роль": "помощник", "контент": ответ} sql_match = re.search(r"```sql(.*)```", ответ, re.DOTALL) если sql_match: sql = sql_match.group(1) conn = st.experimental_connection("снежный парк") сообщение["результаты"] = conn.query(sql) df = pd.DataFrame(сообщение["результаты"]) st.write(df) graph_match = re.search(r"```python\n(.*)\n```", ответ, re.DOTALL) печать (graph_match) если граф_матч: graph_match.group(1) st.session_state.messages.append(сообщение) Большое спасибо за помощь!
Я пытался использовать другой LLM для генерации графиков, но совместить оба в этом месте кажется очень сложным. Я пытался придумать другой способ его анализа, но я начал заниматься Python и программированием 4 месяца назад. У меня пока мало логики и знаний программирования...^^
Здесь новичок в сообществе stackoverflow и разработке Python
Я создаю чат-бота с поддержкой искусственного интеллекта на основе LLM и данных Snowflake. Обычно пользователь запрашивает информацию о своих собственных данных, искусственный интеллект, который я подсказываю, будет отвечать на код sql в уценке, чтобы я мог выполнить поиск по регулярному выражению, чтобы проанализировать ответ бота и передать код sql снежинке/снежному парку, чтобы я мог получить и отобразить результаты запроса. На данный момент все работает и идет отлично
Теперь возникает проблема. Я хочу, чтобы пользователь мог запрашивать графики, графики, диаграммы... Поэтому я создал список, чтобы, если одна из строк в списке присутствует в подсказке, она давала ИИ другое системное приглашение. В приглашении ему предлагается сгенерировать функцию Python (df в параметре) в уценке, чтобы я мог проанализировать ее регулярным выражением и вызвать для отображения графика. ИИ все отлично генерирует, его код корректен и точен, но парсинг теперь не работает. Первый парсер принимает первый открывающий тег md sql до закрывающего тега md python, и после этого я получил исключение компиляции SQL
Мой код (регулярное выражение в sql_match иgraph_match):
if st.session_state.messages[-1]["роль"] != "помощник": с st.chat_message("помощник"): ответ = "" resp_container = st.empty() для дельты в openai.ChatCompletion.create( модель="gpt-4", messages=[{"role": m["role"], "content": m["content"]} для m в st.session_state.messages], поток = Истина, температура=0 ): ответ += delta.choices[0].delta.get("content", "") resp_container.markdown(ответ) сообщение = {"роль": "помощник", "контент": ответ} sql_match = re.search(r"```sql(.*)```", ответ, re.DOTALL) если sql_match: sql = sql_match.group(1) conn = st.experimental_connection("снежный парк") сообщение["результаты"] = conn.query(sql) df = pd.DataFrame(сообщение["результаты"]) st.write(df) graph_match = re.search(r"```python\n(.*)\n```", ответ, re.DOTALL) печать (graph_match) если граф_матч: graph_match.group(1) st.session_state.messages.append(сообщение) Большое спасибо за помощь!
Я пытался использовать другой LLM для генерации графиков, но совместить оба в этом месте кажется очень сложным. Я пытался придумать другой способ его анализа, но я начал заниматься Python и программированием 4 месяца назад. У меня пока мало логики и знаний программирования...^^
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Применить в Automapper условие к нескольким выражениям карты без повторения
Anonymous » » в форуме C# - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-