mirror of
https://github.com/hwchase17/langchain.git
synced 2025-09-23 19:39:58 +00:00
Bagatur/chain of note template(#13470)
This commit is contained in:
33
templates/chain-of-note-wiki/chain_of_note_wiki/chain.py
Normal file
33
templates/chain-of-note-wiki/chain_of_note_wiki/chain.py
Normal file
@@ -0,0 +1,33 @@
|
||||
from langchain import hub
|
||||
from langchain.chat_models import ChatAnthropic
|
||||
from langchain.pydantic_v1 import BaseModel
|
||||
from langchain.schema import StrOutputParser
|
||||
from langchain.schema.runnable import RunnableLambda, RunnablePassthrough
|
||||
from langchain.utilities import WikipediaAPIWrapper
|
||||
|
||||
|
||||
class Question(BaseModel):
|
||||
__root__: str
|
||||
|
||||
|
||||
wiki = WikipediaAPIWrapper(top_k_results=5)
|
||||
prompt = hub.pull("bagatur/chain-of-note-wiki")
|
||||
|
||||
llm = ChatAnthropic(model="claude-2")
|
||||
|
||||
|
||||
def format_docs(docs):
|
||||
return "\n\n".join(
|
||||
f"Wikipedia {i+1}:\n{doc.page_content}" for i, doc in enumerate(docs)
|
||||
)
|
||||
|
||||
|
||||
chain = (
|
||||
{
|
||||
"passages": RunnableLambda(wiki.load) | format_docs,
|
||||
"question": RunnablePassthrough(),
|
||||
}
|
||||
| prompt
|
||||
| llm
|
||||
| StrOutputParser()
|
||||
).with_types(input_type=Question)
|
Reference in New Issue
Block a user