Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,9 @@ __pycache__/
.DS_Store

*.egg-info/

# Chainlit auto-generated files
.chainlit/

# Node.js lock files (generated, not source)
package-lock.json
15 changes: 6 additions & 9 deletions src/workspaces/cookiefactoryv3/assistant/app/bedrock.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2023
# SPDX-License-Identifier: Apache-2.0
# Updated 2024: Migrated to Claude 3 / Messages API

from __future__ import annotations

Expand All @@ -11,10 +12,6 @@

logging.getLogger('botocore').setLevel(logging.DEBUG)

import langchain
langchain.debug = True
langchain.verbose = True

import chainlit as cl
from chainlit.context import context

Expand Down Expand Up @@ -58,7 +55,7 @@ async def start():

if event_id:
actions = [
cl.Action(name="initial_chat_actions", value="initial_diagnosis", label="Run Issue Diagnosis", description="Run Issue Diagnosis"),
cl.Action(name="initial_chat_actions", payload={"value": "initial_diagnosis"}, label="Run Issue Diagnosis", tooltip="Run Issue Diagnosis"),
]
message = welcome_message_with_event.format(event_id=event_id)
await cl.Message(content=message, actions=actions).send()
Expand All @@ -68,11 +65,11 @@ async def start():


@cl.on_message
async def main(message, context):
async def main(message: cl.Message):
llm_chain = cl.user_session.get("chain")

res = await llm_chain.acall(
message,
message.content,
callbacks=[cl.AsyncLangchainCallbackHandler()])

await cl.Message(content=res["text"]).send()
Expand All @@ -97,15 +94,15 @@ async def on_action(action):
}, callbacks=[cb])

actions = [
cl.Action(name="agent_actions", value="3d", label="Show in 3D", description="Show in 3D")
cl.Action(name="agent_actions", payload={"value": "3d"}, label="Show in 3D", tooltip="Show in 3D")
]

await cl.Message(content=res['output'], actions=actions).send()

@cl.action_callback("agent_actions")
async def on_action(action):
event_entity_id = context.session.user_data.get('event_entity_id')
if action.value == "3d":
if action.payload.get("value") == "3d":
await cl.Message(content=f"Navigating to the issue site.").send()
await action.remove()
# point camera to the entity id
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

from typing import Any, Dict, List

from langchain.schema import BaseMemory
from langchain_classic.schema import BaseMemory
from pydantic import BaseModel

class EntityContextMemory(BaseMemory, BaseModel):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@

from typing import Any, Dict, List, Optional

from langchain import PromptTemplate
from langchain.chains import LLMChain
from langchain_classic import PromptTemplate
from langchain_classic.chains import LLMChain

from langchain.callbacks.manager import (
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
)
from langchain.chains.base import Chain
from langchain.schema.language_model import BaseLanguageModel
from langchain_classic.chains.base import Chain
from langchain_classic.schema.language_model import BaseLanguageModel

from .llm import get_bedrock_text, get_processed_prompt_template

Expand Down
10 changes: 5 additions & 5 deletions src/workspaces/cookiefactoryv3/assistant/app/lib/router.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@

from typing import Any, Dict, List, Mapping, NamedTuple, Optional

from langchain import PromptTemplate
from langchain.chains import LLMChain
from langchain_classic import PromptTemplate
from langchain_classic.chains import LLMChain

from langchain.callbacks.manager import (
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
Callbacks,
)
from langchain.chains.base import Chain
from langchain_classic.chains.base import Chain

from langchain.schema.language_model import BaseLanguageModel
from langchain_classic.schema.language_model import BaseLanguageModel

from .tools.view import ViewChain
from .tools.qa import QAChain
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

from typing import Any, Dict, List, Optional

from langchain import LLMChain, PromptTemplate
from langchain.agents import tool
from langchain.chains.base import Chain
from langchain.callbacks.manager import (
from langchain_classic import LLMChain, PromptTemplate
from langchain_classic.agents import tool
from langchain_classic.chains.base import Chain
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@

from typing import Any, Dict, List, Optional

from langchain.chains import SequentialChain
from langchain.chains.base import Chain
from langchain.agents import tool
from langchain.callbacks.manager import (
from langchain_classic.chains import SequentialChain
from langchain_classic.chains.base import Chain
from langchain_classic.agents import tool
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2023
# SPDX-License-Identifier: Apache-2.0

from langchain import FewShotPromptTemplate, LLMChain, PromptTemplate
from langchain.agents import tool
from langchain_classic import FewShotPromptTemplate, LLMChain, PromptTemplate
from langchain_classic.agents import tool

from ...llm import get_bedrock_text, get_prefix_prompt_template, get_postfix_prompt_template

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2023
# SPDX-License-Identifier: Apache-2.0

from langchain import FewShotPromptTemplate, LLMChain, PromptTemplate
from langchain.agents import tool
from langchain_classic import FewShotPromptTemplate, LLMChain, PromptTemplate
from langchain_classic.agents import tool

from ...llm import get_bedrock_text, get_prefix_prompt_template, get_postfix_prompt_template

Expand Down
14 changes: 7 additions & 7 deletions src/workspaces/cookiefactoryv3/assistant/app/lib/tools/qa.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,16 @@

from typing import Any, Dict, List, Optional

from langchain import PromptTemplate
from langchain.agents import tool
from langchain.chains.base import Chain
from langchain.chains import RetrievalQAWithSourcesChain
from langchain.callbacks.manager import (
from langchain_classic import PromptTemplate
from langchain_classic.agents import tool
from langchain_classic.chains.base import Chain
from langchain_classic.chains import RetrievalQAWithSourcesChain
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
)
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain.vectorstores import Chroma
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import Chroma

import chainlit as cl

Expand Down
12 changes: 6 additions & 6 deletions src/workspaces/cookiefactoryv3/assistant/app/lib/tools/view.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,16 @@

from typing import Any, Dict, List, Optional

from langchain.agents import tool
from langchain.chains.base import Chain
from langchain.chains import LLMChain
from langchain import PromptTemplate
from langchain.callbacks.manager import (
from langchain_classic.agents import tool
from langchain_classic.chains.base import Chain
from langchain_classic.chains import LLMChain
from langchain_classic import PromptTemplate
from langchain_classic.callbacks.manager import (
AsyncCallbackManagerForChainRun,
CallbackManagerForChainRun,
)

import chainlit as cl
from chainlit.context import context
from chainlit import run_sync

from tabulate import tabulate
Expand All @@ -38,6 +37,7 @@ def run(input: str) -> str:
return 'Found it!'

def point_camera_to_entity(entityId):
from chainlit.context import context
run_sync(context.session.emit('view', entityId))

ENTITY_EXTRACTION_PROMPT = """
Expand Down
26 changes: 16 additions & 10 deletions src/workspaces/cookiefactoryv3/assistant/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,23 @@
chainlit/src/dist/chainlit-0.6.3-py3-none-any.whl
# Updated 2024: Migrated to langchain-aws for Claude 3 / Messages API support
python-dotenv==1.0.0
langchain==0.0.252
langchain>=0.2.0
langchain-aws>=0.2.0
langchain-core>=0.2.0
langchain-community>=0.2.0
langchain-classic>=1.0.1
chainlit>=2.0.0
langchain-text-splitters>=0.0.1
google-search-results
ipywidgets==7.0.0
opensearch-py==2.2.0
sagemaker==2.179.0
requests==2.31.0
sagemaker>=2.200.0
requests>=2.31.0
urllib3<2
requests-aws4auth==1.2.3
fastapi==0.97.0
pypdf==3.15.2
PyPDF2==3.0.1
chromadb==0.4.7
fastapi>=0.110.0
pypdf>=3.15.2
PyPDF2>=3.0.1
chromadb>=0.4.22
tabulate
boto3==1.28.74
botocore==1.31.74
boto3>=1.35.0
botocore>=1.35.0