4.2 👨‍🔧👩‍🌾👷‍♂️ Собери свою банду агентов и завали босса

🦀 RAG про Ганнибала 🤴🏿

Заставим Агента отвечать на вопросы по страничке из википедии про Абрама Ганибала , потому что нам лень самим читать какую-то историю.

Что делать? Создайте свой RAG по веб-странице про Абрама Ганибала, создайте инструмент-ретривер,  с помощью агента ответьте на вопросы из предоставленного датасета.

Что на входе?  Датасет с вопросами в столбце question и адрес статьи в википедии.

Загрузка файлов с помощью кода
import pandas as pd
df = pd.read_csv("https://stepik.org/media/attachments/lesson/1107866/gannibal.csv")

Что на выходе? csv файл, содержащий два столбца - question, answer.

Замечание: Ваше решение будет зачтено, если в нём будет минимум 8 правильных ответов. Корректность ответа проверяем по ключевым словам. Поэтому не беспокойтесь о формате ответа, но главное - длина каждого ответа не должна превышать 70 символов (иначе этот ответ не будет засчитан)


Как ограничить длину ответа в 70 символов?

@Alina_Vavilova, например через слайс строки - [:70]

@Иван_Александров, Я точно не об этом спрашивала:) Как внести изменения в промпт hwchase17/openai-tools-agent , чтобы финальный ответ был не более 70 символов? Какие вообще варианты есть? В решениях предложили prompt.messages, хорошо бы внести данную малопонятную конструкцию в сам урок.
И ещё, почему llm от курса быстро выдает ответы, а когда использую api openai, очень долго вадаёт решения?

Сам промпт после загрузки с хаба можно править как угодно - это обычная строка. Инструкцию чтобы ответ был длиной 70 символов модель вряд ли выполнит. Поэтому лучше обрезать конечную генерацию или просить ответить одним словом. Наш ключ, отправляет запросы туда же просто через прокладку - чтобы в России работало, поэтому должно быть наоборот))

@Иван_Александров, prompt += """Please ensure that your response does not exceed 70 characters. And respond in Russian language.""" - на самом деле помогло : )

Бейзлайн 8/10

колаб

Вы побили порог в 8: ваша точность 8 из 10.

@Петр_Михайлов, я такая же фигня