ai-forever / gigachain

⚡ Набор решений для разработки LLM-приложений на русском языке с поддержкой GigaChat ⚡
MIT License
327 stars 38 forks source link

Ошибка импорта #173

Open xIMRANx opened 4 months ago

xIMRANx commented 4 months ago

Здравствуйте! Установлен python 3.12, все библиотеки установлены согласны инструкции При запуске простого кода из документации (https://developers.sber.ru/docs/ru/gigachain/get-started/quickstart#rabota-s-giga-chain) получаю ошибку: ` File "/Users//PycharmProjects/giga_exp/main.py", line 2, in from langchain.agents import AgentExecutor, create_gigachat_functions_agent ImportError: cannot import name 'create_gigachat_functions_agent' from 'langchain.agents' (/Users//PycharmProjects/gigachat_exp/.venv/lib/python3.12/site-packages/langchain/agents/init.py)

Process finished with exit code 1 `

Rai220 commented 3 months ago

Добрый день! Пришлите пожалуйста, что вернёт команда pip list

e41q commented 3 months ago

Ловил такую же ошибку - но у меня косячная инсталляция была.

pip ставил пакеты в одну директорию, а интерпретатори питона искал их в другой. Полечил сменой девконтейнера 😉.

Проверить что как можно так:

  1. Проверить, что пакет действительно установлен - командой pip list
  2. Посмотреть, куда поставился пакет командой pip show gigachain-community У меня такой выхлоп команды:
    $ pip show gigachain-community
    Name: gigachain-community
    Version: 0.2.6
    Summary: Community contributed GigaChain integrations.
    Home-page: https://github.com/ai-forever/gigachain
    Author: 
    Author-email: 
    License: MIT
    Location: /usr/local/lib/python3.12/site-packages
    Requires: aiohttp, dataclasses-json, gigachain, gigachain-core, gigachat, google-auth-httplib2, httplib2, langsmith, numpy, PyYAML, requests, SQLAlchemy, tenacity
    Required-by: 

    Собственно, тут самое ценное - Location: /usr/local/lib/python3.12/site-packages

  3. Посмотреть, где ищет пакеты Пайтон. Я для этого сделал файлик с таким содержимым (подглядел на stackOverflow)
    import sys
    site_packages = next(p for p in sys.path if 'site-packages' in p)
    print(site_packages)

    И выполнил его

    # python3.12 packages.py 
    /usr/local/lib64/python3.12/site-packages

У меня был такой вот прикол - pip ставит пакеты в /usr/local/lib/python3.12/site-packages, а Пайтон ищет их в /usr/local/lib64/python3.12/site-packages

AlphaO612 commented 3 months ago

Такая же ситуация, просто не могу прогнать спокойно пример! image