mirror of
https://github.com/deepset-ai/haystack.git
synced 2025-07-15 04:50:58 +00:00

* Update Claude support with the latest models, new streaming API, context window sizes * Use Github Anthropic SDK link for tokenizer, revert _init_tokenizer * Change example key name to ANTHROPIC_API_KEY
33 lines
1.1 KiB
Python
33 lines
1.1 KiB
Python
import os
|
|
from haystack.nodes import PromptNode, LinkContentFetcher, PromptTemplate
|
|
from haystack import Pipeline
|
|
|
|
anthropic_key = os.environ.get("ANTHROPIC_API_KEY")
|
|
if not anthropic_key:
|
|
raise ValueError("Please set the ANTHROPIC_API_KEY environment variable")
|
|
|
|
retriever = LinkContentFetcher()
|
|
pt = PromptTemplate(
|
|
"Given the paragraphs of the blog post, "
|
|
"provide the main learnings and the final conclusion using short bullet points format."
|
|
"\n\nParagraphs: {documents}"
|
|
)
|
|
|
|
prompt_node = PromptNode(
|
|
"claude-instant-1", api_key=anthropic_key, max_length=512, default_prompt_template=pt, model_kwargs={"stream": True}
|
|
)
|
|
|
|
pipeline = Pipeline()
|
|
pipeline.add_node(component=retriever, name="Retriever", inputs=["Query"])
|
|
pipeline.add_node(component=prompt_node, name="PromptNode", inputs=["Retriever"])
|
|
|
|
blog_posts = [
|
|
"https://pythonspeed.com/articles/base-image-python-docker-images/",
|
|
"https://lilianweng.github.io/posts/2023-06-23-agent/",
|
|
]
|
|
|
|
for blog_post in blog_posts:
|
|
print(f"Blog post summary: {blog_post}")
|
|
pipeline.run(blog_post)
|
|
print("\n\n\n")
|