9.5 KiB
рд╕реБрд░рдХреНрд╖рд┐рдд рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди
Tip
рдпрджрд┐ рдЖрдк рдПрдЬреЗрдВрдЯреНрд╕ рдмрдирд╛рдиреЗ рдореЗрдВ рдирдП рд╣реИрдВ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдЬреЗрдВрдЯреНрд╕ рдХрд╛ рдкрд░рд┐рдЪрдп рдФрд░ smolagents рдХреА рдЧрд╛рдЗрдбреЗрдб рдЯреВрд░ рдкрдврд╝рдирд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВред
рдХреЛрдб Agents
рдХрдИ рд╢реЛрдз рдкрддреНрд░реЛрдВ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рд╣реИ рдХрд┐ LLM рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреА рдХреНрд░рд┐рдпрд╛рдУрдВ (рдЯреВрд▓ рдХреЙрд▓реНрд╕) рдХреЛ рдХреЛрдб рдореЗрдВ рд▓рд┐рдЦрдирд╛, рдЯреВрд▓ рдХреЙрд▓рд┐рдВрдЧ рдХреЗ рд╡рд░реНрддрдорд╛рди рдорд╛рдирдХ рдкреНрд░рд╛рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ, рдЬреЛ industry рдореЗрдВ "рдЯреВрд▓реНрд╕ рдиреЗрдореНрд╕ рдФрд░ рдЖрд░реНрдЧреНрдпреВрдореЗрдВрдЯреНрд╕ рдХреЛ JSON рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдиреЗ" рдХреЗ рд╡рд┐рднрд┐рдиреНрди рд░реВрдк рд╣реИрдВред
рдХреЛрдб рдмреЗрд╣рддрд░ рдХреНрдпреЛрдВ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЕрдкрдиреА рдХреЛрдб рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдВрдкреНрдпреВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рд╣реИред рдпрджрд┐ JSON рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдПрдХ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реЛрддрд╛, рддреЛ рдпрд╣ рдкреИрдХреЗрдЬ JSON рд╕реНрдирд┐рдкреЗрдЯреНрд╕ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реЛрддрд╛ рдФрд░ рд╢реИрддрд╛рди рд╣рдо рдкрд░ рд╣рдВрд╕ рд░рд╣рд╛ рд╣реЛрддрд╛ред
рдХреЛрдб рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдХреНрд░рд┐рдпрд╛рдПрдБ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХрд╛ рдмреЗрд╣рддрд░ рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИ:
- рдХрдВрдкреЛрдЬрд╝реЗрдмрд┐рд▓рд┐рдЯреА: рдХреНрдпрд╛ рдЖрдк JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рднреАрддрд░ рдиреЗрд╕реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╛рдж рдореЗрдВ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП JSON рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рдЖрдк рдмрд╕ рдПрдХ рдкрд╛рдпрдерди рдлрд╝рдВрдХреНрд╢рди рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?
- рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдмрдВрдзрди: JSON рдореЗрдВ
generate_imageрдЬреИрд╕реА рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХреИрд╕реЗ рд╕реНрдЯреЛрд░ рдХрд░реЗрдВ? - рд╕рд╛рдорд╛рдиреНрдпрддрд╛: рдХреЛрдб рдХрд┐рд╕реА рднреА рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛рд░реНрдп рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
- LLM рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЙрд░реНрдкрд╕ рдореЗрдВ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡: рдХреНрдпреЛрдВ рди рдЗрд╕ рдЖрд╢реАрд░реНрд╡рд╛рдж рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВ рдХрд┐ рдЙрдЪреНрдЪ рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓реЗ рдХреЛрдб рдЙрджрд╛рд╣рд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА LLM рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдбреЗрдЯрд╛ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ?
рдпрд╣ рдиреАрдЪреЗ рджреА рдЧрдИ рдЫрд╡рд┐ рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ Executable Code Actions Elicit Better LLM Agents рд╕реЗ рд▓реА рдЧрдИ рд╣реИред
рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХреЛрдб рдПрдЬреЗрдВрдЯреНрд╕, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдкрд╛рдпрдерди рдПрдЬреЗрдВрдЯреНрд╕ рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╕реБрд░рдХреНрд╖рд┐рдд рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдмрдирд╛рдиреЗ рдкрд░ рдЕрдзрд┐рдХ рдкреНрд░рдпрд╛рд╕ рдХрд░рдирд╛ рдерд╛ред
рд▓реЛрдХрд▓ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, CodeAgent LLM-рдЬрдирд░реЗрдЯреЗрдб рдХреЛрдб рдХреЛ рдЖрдкрдХреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИред
рдпрд╣ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡реИрдирд┐рд▓рд╛ рдкрд╛рдпрдерди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛: рд╣рдордиреЗ рдПрдХ рдЕрдзрд┐рдХ рд╕реБрд░рдХреНрд╖рд┐рдд LocalPythonExecutor рдХреЛ рд╢реБрд░реВ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рд╣реИред
рдпрд╣ рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
- рдЗрдореНрдкреЛрд░реНрдЯреНрд╕ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рд╕ рдХреА рдЧрдИ рд╕реВрдЪреА рддрдХ рд╕реАрдорд┐рдд рдХрд░рдирд╛
- рдЗрдирдлрд┐рдирд┐рдЯ рд▓реВрдкреНрд╕ рдФрд░ рд░рд┐рд╕реЛрд░реНрд╕ рдмреНрд▓реЛрдЯрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдСрдкрд░реЗрд╢рдВрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдХреИрдк рдХрд░рдирд╛
- рдХреЛрдИ рднреА рдРрд╕рд╛ рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдЬреЛ рдкреВрд░реНрд╡-рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реИ
рд╣рдордиреЗ рдЗрд╕реЗ рдХрдИ рдЙрдкрдпреЛрдЧ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рд╣реИ, рдФрд░ рдХрднреА рднреА рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдХреЛрдИ рдиреБрдХрд╕рд╛рди рдирд╣реАрдВ рджреЗрдЦрд╛ред
рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕рдорд╛рдзрд╛рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реИ: рдХреЛрдИ рдРрд╕реЗ рдЕрд╡рд╕рд░реЛрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рджреБрд░реНрднрд╛рд╡рдирд╛рдкреВрд░реНрдг рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╛рдЗрди-рдЯреНрдпреВрди рдХрд┐рдП рдЧрдП LLM рдЕрднреА рднреА рдЖрдкрдХреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдиреБрдХрд╕рд╛рди рдкрд╣реБрдВрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Pillow рдЬреИрд╕реЗ рдорд╛рд╕реВрдо рдкреИрдХреЗрдЬ рдХреА рдЕрдиреБрдорддрд┐ рджреА рд╣реИ, рддреЛ LLM рдЖрдкрдХреА рд╣рд╛рд░реНрдб рдбреНрд░рд╛рдЗрд╡ рдХреЛ рдмреНрд▓реЛрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдЬрд╛рд░реЛрдВ рдЫрд╡рд┐рдпреЛрдВ рдХреЛ рд╕реЗрд╡ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдкрдиреЗ рдЦреБрдж LLM рдЗрдВрдЬрди рдЪреБрдирд╛ рд╣реИ рддреЛ рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдВрднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рддреЛ рдпрджрд┐ рдЖрдк рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд░рд┐рдореЛрдЯ рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
E2B рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░
рдЕрдзрд┐рдХрддрдо рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП, рдЖрдк рдХреЛрдб рдХреЛ рд╕реИрдВрдбрдмреЙрдХреНрд╕реНрдб рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдореЗрдВ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП E2B рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдПрдХреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдПрдХ рд░рд┐рдореЛрдЯ рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╕реЗрд╡рд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдПрдХ рдЖрдЗрд╕реЛрд▓реЗрдЯреЗрдб рдХрдВрдЯреЗрдирд░ рдореЗрдВ рдЪрд▓рд╛рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХрд╛ рдЖрдкрдХреЗ рд╕реНрдерд╛рдиреАрдп рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЕрдкрдирд╛ E2B рдЕрдХрд╛рдЙрдВрдЯ рд╕реЗрдЯрдЕрдк рдХрд░рдиреЗ рдФрд░ рдЕрдкрдиреЗ рдПрдирд╡рд╛рдпрд░рдирдореЗрдВрдЯ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдореЗрдВ рдЕрдкрдирд╛ E2B_API_KEY рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреАред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП E2B рдХреА рдХреНрд╡рд┐рдХрд╕реНрдЯрд╛рд░реНрдЯ рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдкрд░ рдЬрд╛рдПрдВред
рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ pip install e2b-code-interpreter python-dotenv рдХреЗ рд╕рд╛рде рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рдЖрдк рддреИрдпрд╛рд░ рд╣реИрдВ!
рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░ рдХреЛ E2B рдкрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдЕрдкрдиреЗ CodeAgent рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╕рдордп executor_type="e2b" рдлреНрд▓реИрдЧ рдкрд╛рд╕ рдХрд░реЗрдВред
рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЖрдкрдХреЛ additional_authorized_imports рдореЗрдВ рд╕рднреА рдЯреВрд▓ рдХреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реАрдЬрд╝ рдЬреЛрдбрд╝рдиреА рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ рдПрдХреНрдЬреАрдХреНрдпреВрдЯрд░ рдЙрдиреНрд╣реЗрдВ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗред
from smolagents import CodeAgent, VisitWebpageTool, InferenceClientModel
agent = CodeAgent(
tools = [VisitWebpageTool()],
model=InferenceClientModel(),
additional_authorized_imports=["requests", "markdownify"],
executor_type="e2b"
)
agent.run("What was Abraham Lincoln's preferred pet?")
E2B рдХреЛрдб рдПрдХреНрдЬреАрдХреНрдпреВрд╢рди рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдорд▓реНрдЯреА-рдПрдЬреЗрдВрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ - рдХреНрдпреЛрдВрдХрд┐ рдХреЛрдб рдмреНрд▓реЙрдм рдореЗрдВ рдПрдХ рдПрдЬреЗрдВрдЯ рдХреЙрд▓ рдХрд░рдирд╛ рдЬреЛ рд░рд┐рдореЛрдЯрд▓реА рдПрдХреНрдЬреАрдХреНрдпреВрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдПрдХ рдЧрдбрд╝рдмрдбрд╝ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдЗрд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ!