pyproject: include langchain-community and langchain-openai

This commit is contained in:
Aleix Conchillo Flaqué
2024-06-04 12:14:25 -07:00
parent 571e10f83e
commit 7eb9dfde38
3 changed files with 129 additions and 35 deletions

View File

@@ -4,15 +4,11 @@
# SPDX-License-Identifier: BSD 2-Clause License # SPDX-License-Identifier: BSD 2-Clause License
# #
import asyncio import asyncio
import os import os
import sys import sys
import aiohttp import aiohttp
from dotenv import load_dotenv
from loguru import logger
from runner import configure
from pipecat.frames.frames import LLMMessagesFrame from pipecat.frames.frames import LLMMessagesFrame
from pipecat.pipeline.pipeline import Pipeline from pipecat.pipeline.pipeline import Pipeline
@@ -25,20 +21,19 @@ from pipecat.services.elevenlabs import ElevenLabsTTSService
from pipecat.transports.services.daily import DailyParams, DailyTransport from pipecat.transports.services.daily import DailyParams, DailyTransport
from pipecat.vad.silero import SileroVADAnalyzer from pipecat.vad.silero import SileroVADAnalyzer
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_community.chat_message_histories import ChatMessageHistory
from langchain_core.chat_history import BaseChatMessageHistory
from langchain_core.runnables.history import RunnableWithMessageHistory
from langchain_openai import ChatOpenAI
from loguru import logger
from runner import configure
from dotenv import load_dotenv
load_dotenv(override=True) load_dotenv(override=True)
try:
from langchain.prompts import ChatPromptTemplate, MessagesPlaceholder
from langchain_community.chat_message_histories import ChatMessageHistory
from langchain_core.chat_history import BaseChatMessageHistory
from langchain_core.runnables.history import RunnableWithMessageHistory
from langchain_openai import ChatOpenAI
except ModuleNotFoundError as e:
logger.exception(
"In order to run this example you need to `pip install pipecat-ai[langchain] langchain-community langchain-openai. Also, be sure to set `OPENAI_API_KEY` in the environment variable."
)
raise Exception(f"Missing module: {e}")
logger.remove(0) logger.remove(0)
logger.add(sys.stderr, level="DEBUG") logger.add(sys.stderr, level="DEBUG")

View File

@@ -5,7 +5,11 @@
# pip-compile --all-extras pyproject.toml # pip-compile --all-extras pyproject.toml
# #
aiohttp==3.9.5 aiohttp==3.9.5
# via pipecat-ai (pyproject.toml) # via
# cartesia
# langchain
# langchain-community
# pipecat-ai (pyproject.toml)
aiosignal==1.3.1 aiosignal==1.3.1
# via aiohttp # via aiohttp
annotated-types==0.7.0 annotated-types==0.7.0
@@ -18,10 +22,12 @@ anyio==4.4.0
# httpx # httpx
# openai # openai
async-timeout==4.0.3 async-timeout==4.0.3
# via aiohttp # via
# aiohttp
# langchain
attrs==23.2.0 attrs==23.2.0
# via aiohttp # via aiohttp
av==12.0.0 av==12.1.0
# via faster-whisper # via faster-whisper
azure-cognitiveservices-speech==1.37.0 azure-cognitiveservices-speech==1.37.0
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
@@ -29,11 +35,15 @@ blinker==1.8.2
# via flask # via flask
cachetools==5.3.3 cachetools==5.3.3
# via google-auth # via google-auth
certifi==2024.2.2 cartesia==0.1.1
# via pipecat-ai (pyproject.toml)
certifi==2024.6.2
# via # via
# httpcore # httpcore
# httpx # httpx
# requests # requests
cffi==1.16.0
# via sounddevice
charset-normalizer==3.3.2 charset-normalizer==3.3.2
# via requests # via requests
click==8.1.7 click==8.1.7
@@ -44,6 +54,8 @@ ctranslate2==4.2.1
# via faster-whisper # via faster-whisper
daily-python==0.9.1 daily-python==0.9.1
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
dataclasses-json==0.6.6
# via langchain-community
distro==1.9.0 distro==1.9.0
# via # via
# anthropic # anthropic
@@ -51,7 +63,9 @@ distro==1.9.0
einops==0.8.0 einops==0.8.0
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
exceptiongroup==1.2.1 exceptiongroup==1.2.1
# via anyio # via
# anyio
# pytest
fal-client==0.4.0 fal-client==0.4.0
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
faster-whisper==1.0.2 faster-whisper==1.0.2
@@ -75,7 +89,7 @@ frozenlist==1.4.1
# via # via
# aiohttp # aiohttp
# aiosignal # aiosignal
fsspec==2024.5.0 fsspec==2024.6.0
# via # via
# huggingface-hub # huggingface-hub
# torch # torch
@@ -88,7 +102,7 @@ google-api-core[grpc]==2.19.0
# google-ai-generativelanguage # google-ai-generativelanguage
# google-api-python-client # google-api-python-client
# google-generativeai # google-generativeai
google-api-python-client==2.131.0 google-api-python-client==2.132.0
# via google-generativeai # via google-generativeai
google-auth==2.29.0 google-auth==2.29.0
# via # via
@@ -101,11 +115,13 @@ google-auth-httplib2==0.2.0
# via google-api-python-client # via google-api-python-client
google-generativeai==0.5.4 google-generativeai==0.5.4
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
googleapis-common-protos==1.63.0 googleapis-common-protos==1.63.1
# via # via
# google-api-core # google-api-core
# grpcio-status # grpcio-status
grpcio==1.64.0 greenlet==3.0.3
# via sqlalchemy
grpcio==1.64.1
# via # via
# google-api-core # google-api-core
# grpcio-status # grpcio-status
@@ -123,6 +139,7 @@ httplib2==0.22.0
httpx==0.27.0 httpx==0.27.0
# via # via
# anthropic # anthropic
# cartesia
# fal-client # fal-client
# openai # openai
httpx-sse==0.4.0 httpx-sse==0.4.0
@@ -141,29 +158,62 @@ idna==3.7
# httpx # httpx
# requests # requests
# yarl # yarl
iniconfig==2.0.0
# via pytest
itsdangerous==2.2.0 itsdangerous==2.2.0
# via flask # via flask
jinja2==3.1.4 jinja2==3.1.4
# via # via
# flask # flask
# torch # torch
jsonpatch==1.33
# via langchain-core
jsonpointer==2.4
# via jsonpatch
langchain==0.2.1
# via
# langchain-community
# pipecat-ai (pyproject.toml)
langchain-community==0.2.1
# via pipecat-ai (pyproject.toml)
langchain-core==0.2.3
# via
# langchain
# langchain-community
# langchain-openai
# langchain-text-splitters
langchain-openai==0.1.8
# via pipecat-ai (pyproject.toml)
langchain-text-splitters==0.2.0
# via langchain
langsmith==0.1.69
# via
# langchain
# langchain-community
# langchain-core
loguru==0.7.2 loguru==0.7.2
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
markupsafe==2.1.5 markupsafe==2.1.5
# via # via
# jinja2 # jinja2
# werkzeug # werkzeug
marshmallow==3.21.2
# via dataclasses-json
mpmath==1.3.0 mpmath==1.3.0
# via sympy # via sympy
multidict==6.0.5 multidict==6.0.5
# via # via
# aiohttp # aiohttp
# yarl # yarl
mypy-extensions==1.0.0
# via typing-inspect
networkx==3.3 networkx==3.3
# via torch # via torch
numpy==1.26.4 numpy==1.26.4
# via # via
# ctranslate2 # ctranslate2
# langchain
# langchain-community
# onnxruntime # onnxruntime
# pipecat-ai (pyproject.toml) # pipecat-ai (pyproject.toml)
# pyloudnorm # pyloudnorm
@@ -204,16 +254,25 @@ nvidia-nvtx-cu12==12.1.105
onnxruntime==1.18.0 onnxruntime==1.18.0
# via faster-whisper # via faster-whisper
openai==1.26.0 openai==1.26.0
# via pipecat-ai (pyproject.toml) # via
packaging==24.0 # langchain-openai
# pipecat-ai (pyproject.toml)
orjson==3.10.3
# via langsmith
packaging==23.2
# via # via
# huggingface-hub # huggingface-hub
# langchain-core
# marshmallow
# onnxruntime # onnxruntime
# pytest
# transformers # transformers
pillow==10.3.0 pillow==10.3.0
# via # via
# pipecat-ai (pyproject.toml) # pipecat-ai (pyproject.toml)
# torchvision # torchvision
pluggy==1.5.0
# via pytest
proto-plus==1.23.0 proto-plus==1.23.0
# via # via
# google-ai-generativelanguage # google-ai-generativelanguage
@@ -237,12 +296,17 @@ pyasn1-modules==0.4.0
# via google-auth # via google-auth
pyaudio==0.2.14 pyaudio==0.2.14
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
pydantic==2.7.2 pycparser==2.22
# via cffi
pydantic==2.7.3
# via # via
# anthropic # anthropic
# google-generativeai # google-generativeai
# langchain
# langchain-core
# langsmith
# openai # openai
pydantic-core==2.18.3 pydantic-core==2.18.4
# via pydantic # via pydantic
pyht==0.0.28 pyht==0.0.28
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
@@ -250,21 +314,35 @@ pyloudnorm==0.1.1
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
pyparsing==3.1.2 pyparsing==3.1.2
# via httplib2 # via httplib2
pytest==8.2.2
# via pytest-asyncio
pytest-asyncio==0.23.7
# via cartesia
python-dotenv==1.0.1 python-dotenv==1.0.1
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
pyyaml==6.0.1 pyyaml==6.0.1
# via # via
# ctranslate2 # ctranslate2
# huggingface-hub # huggingface-hub
# langchain
# langchain-community
# langchain-core
# timm # timm
# transformers # transformers
regex==2024.5.15 regex==2024.5.15
# via transformers # via
# tiktoken
# transformers
requests==2.32.3 requests==2.32.3
# via # via
# cartesia
# google-api-core # google-api-core
# huggingface-hub # huggingface-hub
# langchain
# langchain-community
# langsmith
# pyht # pyht
# tiktoken
# transformers # transformers
rsa==4.9 rsa==4.9
# via google-auth # via google-auth
@@ -280,10 +358,23 @@ sniffio==1.3.1
# anyio # anyio
# httpx # httpx
# openai # openai
sympy==1.12 sounddevice==0.4.7
# via pipecat-ai (pyproject.toml)
sqlalchemy==2.0.30
# via
# langchain
# langchain-community
sympy==1.12.1
# via # via
# onnxruntime # onnxruntime
# torch # torch
tenacity==8.3.0
# via
# langchain
# langchain-community
# langchain-core
tiktoken==0.7.0
# via langchain-openai
timm==0.9.16 timm==0.9.16
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
tokenizers==0.19.1 tokenizers==0.19.1
@@ -291,6 +382,8 @@ tokenizers==0.19.1
# anthropic # anthropic
# faster-whisper # faster-whisper
# transformers # transformers
tomli==2.0.1
# via pytest
torch==2.3.0 torch==2.3.0
# via # via
# pipecat-ai (pyproject.toml) # pipecat-ai (pyproject.toml)
@@ -311,7 +404,7 @@ transformers==4.40.2
# via pipecat-ai (pyproject.toml) # via pipecat-ai (pyproject.toml)
triton==2.3.0 triton==2.3.0
# via torch # via torch
typing-extensions==4.11.0 typing-extensions==4.12.1
# via # via
# anthropic # anthropic
# anyio # anyio
@@ -321,13 +414,19 @@ typing-extensions==4.11.0
# pipecat-ai (pyproject.toml) # pipecat-ai (pyproject.toml)
# pydantic # pydantic
# pydantic-core # pydantic-core
# sqlalchemy
# torch # torch
# typing-inspect
typing-inspect==0.9.0
# via dataclasses-json
uritemplate==4.1.1 uritemplate==4.1.1
# via google-api-python-client # via google-api-python-client
urllib3==2.2.1 urllib3==2.2.1
# via requests # via requests
websockets==12.0 websockets==12.0
# via pipecat-ai (pyproject.toml) # via
# cartesia
# pipecat-ai (pyproject.toml)
werkzeug==3.0.3 werkzeug==3.0.3
# via flask # via flask
yarl==1.9.4 yarl==1.9.4

View File

@@ -26,7 +26,7 @@ dependencies = [
"Pillow~=10.3.0", "Pillow~=10.3.0",
"protobuf~=4.25.3", "protobuf~=4.25.3",
"pyloudnorm~=0.1.1", "pyloudnorm~=0.1.1",
"typing-extensions~=4.11.0", "typing-extensions~=4.12.1",
] ]
[project.urls] [project.urls]
@@ -42,7 +42,7 @@ examples = [ "python-dotenv~=1.0.0", "flask~=3.0.3", "flask_cors~=4.0.1" ]
fal = [ "fal-client~=0.4.0" ] fal = [ "fal-client~=0.4.0" ]
google = [ "google-generativeai~=0.5.3" ] google = [ "google-generativeai~=0.5.3" ]
fireworks = [ "openai~=1.26.0" ] fireworks = [ "openai~=1.26.0" ]
langchain = [ "langchain~=0.2.1" ] langchain = [ "langchain~=0.2.1", "langchain-community~=0.2.1", "langchain-openai~=0.1.8" ]
local = [ "pyaudio~=0.2.0" ] local = [ "pyaudio~=0.2.0" ]
moondream = [ "einops~=0.8.0", "timm~=0.9.16", "transformers~=4.40.2" ] moondream = [ "einops~=0.8.0", "timm~=0.9.16", "transformers~=4.40.2" ]
openai = [ "openai~=1.26.0" ] openai = [ "openai~=1.26.0" ]