mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context The python notebooks are pinned to 0.2.7.dev0 while the latest pip package for python is 0.3.1.dev0. This PR updates the notebooks to pull the 0.3.1.dev0 and adds 2 new notebooks demonstrating new features added to SK between these versions. ### Description - All notebooks depend on semantic-kernel==0.3.1.dev0 - Added a notebook demonstrating streaming completion responses - Added a notebook demonstrating multiple responses per prompt (including streaming them) ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [ ] The code builds clean without any errors or warnings - [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) - [ ] The code follows the .NET coding conventions (https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions) verified with `dotnet format` - [ ] All unit tests pass, and I have added new tests where possible - [ ] I didn't break anyone 😄 --------- Co-authored-by: Lee Miller <[email protected]> Co-authored-by: Shawn Callegari <[email protected]>
10 KiB
10 KiB
In [ ]:
!python -m pip install semantic-kernel==0.3.1.dev0In [ ]:
import semantic_kernel as sk
from semantic_kernel.connectors.ai.open_ai import AzureTextCompletion, OpenAITextCompletion
kernel = sk.Kernel()
useAzureOpenAI = False
# Configure AI backend used by the kernel
if useAzureOpenAI:
deployment, api_key, endpoint = sk.azure_openai_settings_from_dot_env()
kernel.add_text_completion_service("dv", AzureTextCompletion(deployment, endpoint, api_key))
else:
api_key, org_id = sk.openai_settings_from_dot_env()
kernel.add_text_completion_service("dv", OpenAITextCompletion("text-davinci-003", api_key, org_id))In [ ]:
from semantic_kernel.planning.basic_planner import BasicPlanner
planner = BasicPlanner()In [ ]:
from semantic_kernel.core_skills.text_skill import TextSkill
skills_directory = "../../skills/"
summarize_skill = kernel.import_semantic_skill_from_directory(skills_directory, "SummarizeSkill")
writer_skill = kernel.import_semantic_skill_from_directory(skills_directory, "WriterSkill")
text_skill = kernel.import_skill(TextSkill(), "TextSkill")In [ ]:
ask = """
Tomorrow is Valentine's day. I need to come up with a few date ideas. She speaks French so write it in French.
Convert the text to uppercase"""
original_plan = await planner.create_plan_async(ask, kernel)In [ ]:
print(original_plan.generated_plan)In [ ]:
sk_prompt = """
{{$input}}
Rewrite the above in the style of Shakespeare.
"""
shakespeareFunction = kernel.create_semantic_function(sk_prompt, "shakespeare", "ShakespeareSkill",
max_tokens=2000, temperature=0.8)In [ ]:
ask = """
Tomorrow is Valentine's day. I need to come up with a few date ideas.
She likes Shakespeare so write using his style. She speaks French so write it in French.
Convert the text to uppercase."""
new_plan = await planner.create_plan_async(ask, kernel)In [ ]:
print(new_plan.generated_plan)In [ ]:
results = await planner.execute_plan_async(new_plan, kernel)In [ ]:
print(results)In [ ]:
import semantic_kernel as sk
from semantic_kernel.connectors.ai.open_ai import AzureChatCompletion, OpenAIChatCompletion
kernel = sk.Kernel()
useAzureOpenAI = False
# Configure AI service used by the kernel
if useAzureOpenAI:
deployment, api_key, endpoint = sk.azure_openai_settings_from_dot_env()
kernel.add_chat_service(
"chat_completion",
AzureChatCompletion("gpt-35-turbo", endpoint, api_key),
)
else:
api_key, org_id = sk.openai_settings_from_dot_env()
kernel.add_chat_service(
"chat-gpt", OpenAIChatCompletion("gpt-3.5-turbo", api_key, org_id)
)In [ ]:
from semantic_kernel.core_skills.text_skill import TextSkill
skills_directory = "../../skills/"
summarize_skill = kernel.import_semantic_skill_from_directory(skills_directory, "SummarizeSkill")
writer_skill = kernel.import_semantic_skill_from_directory(skills_directory, "WriterSkill")
text_skill = kernel.import_skill(TextSkill(), "TextSkill")In [ ]:
ask = """
I need to plan a birthday party for my best friend. He loves racecars and only speaks Spanish.
Translate the ideas and make the text in all capital letters."""
chatgpt_plan = await planner.create_plan_async(ask, kernel)In [ ]:
print(chatgpt_plan.generated_plan)In [ ]:
results = await planner.execute_plan_async(chatgpt_plan, kernel)In [ ]:
print(results)