Я только начал работать с LangChain и Langsmith — возможно, это глупо, но у меня возникли проблемы с отслеживанием кода в Langsmith в следующем коде (с использованием Colab):
from langchain_core.documents import Document
from langchain.chains.combine_documents import create_stuff_documents_chain
from langchain_community.document_loaders import WebBaseLoader
from langchain.text_splitter import CharacterTextSplitter
from langchain.prompts import ChatPromptTemplate
from langchain_community.vectorstores.faiss import FAISS
from langchain_openai import AzureOpenAIEmbeddings
import logging
from langchain.chains import create_retrieval_chain
from langsmith import Client
from langchain_core.messages import HumanMessage, AIMessage
from langchain_core.prompts import MessagesPlaceholder
def get_document_from_web(url):
logging.getLogger("langchain_text_splitters.base").setLevel(logging.ERROR)
loader = WebBaseLoader(url)
docs = loader.load()
splitter = CharacterTextSplitter(
chunk_size=400,
chunk_overlap=20
)
splitDocs = splitter.split_documents(docs)
return splitDocs
def create_db(docs):
embeddings = AzureOpenAIEmbeddings(
model="text-embedding-3-large",
azure_endpoint="https://langing.openai.azure.com/openai/deployments/Embed-test/embeddings?api-version=2023-05-15",
openai_api_key="xxx",
openai_api_version="2023-05-15"
)
vectorStore = FAISS.from_documents(docs, embeddings)
return vectorStore
def create_chain(vectorStore):
prompt = ChatPromptTemplate.from_messages([
("system", "Answet the quistion based on the following context: {context}"),
MessagesPlaceholder(variable_name="chat_history"),
("human", "{input}")
])
chain = create_stuff_documents_chain(llm=model,
prompt=prompt)
retriever = vectorStore.as_retriever(search_kwargs = {"k":3})
retriever_chain = create_retrieval_chain(
retriever,
chain
)
return retriever_chain
def process_chat(chain, question,chat_history):
response = chain.invoke({
"input": question,
"chat_history": chat_history
})
return response["answer"]
chat_history = []
if __name__ == "__main__":
docs =get_document_from_web("https://docs.smith.langchain.com/evaluation/concepts")
vectoreStore = create_db(docs)
chain = create_chain(vectoreStore)
while True:
user_input = input("You: ")
if user_input.lower() == "exit":
break
response = process_chat(chain, user_input, chat_history)
chat_history.append(HumanMessage(content= user_input))
chat_history.append(AIMessage(content = response))
print("Bot:", response)
Все работает хорошо, но я не вижу журналов в Лангсмите, кто-нибудь знает, почему?
Я перепробовал все, что смог найти, но безрезультатно.
Большое спасибо за советы.
Я только начал работать с LangChain и Langsmith — возможно, это глупо, но у меня возникли проблемы с отслеживанием кода в Langsmith в следующем коде (с использованием Colab): [code]from langchain_core.documents import Document from langchain.chains.combine_documents import create_stuff_documents_chain from langchain_community.document_loaders import WebBaseLoader from langchain.text_splitter import CharacterTextSplitter from langchain.prompts import ChatPromptTemplate from langchain_community.vectorstores.faiss import FAISS from langchain_openai import AzureOpenAIEmbeddings import logging from langchain.chains import create_retrieval_chain from langsmith import Client
from langchain_core.messages import HumanMessage, AIMessage from langchain_core.prompts import MessagesPlaceholder
def create_chain(vectorStore): prompt = ChatPromptTemplate.from_messages([ ("system", "Answet the quistion based on the following context: {context}"), MessagesPlaceholder(variable_name="chat_history"), ("human", "{input}") ])
if __name__ == "__main__": docs =get_document_from_web("https://docs.smith.langchain.com/evaluation/concepts") vectoreStore = create_db(docs) chain = create_chain(vectoreStore) while True: user_input = input("You: ") if user_input.lower() == "exit": break response = process_chat(chain, user_input, chat_history) chat_history.append(HumanMessage(content= user_input)) chat_history.append(AIMessage(content = response)) print("Bot:", response) [/code] Все работает хорошо, но я не вижу журналов в Лангсмите, кто-нибудь знает, почему? Я перепробовал все, что смог найти, но безрезультатно. Большое спасибо за советы.