langfun 0.0.2.dev20231215__tar.gz → 0.0.2.dev20231217__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/PKG-INFO +1 -1
  2. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/base_test.py +3 -3
  3. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/langfunc_test.py +5 -5
  4. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/language_model.py +9 -0
  5. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/openai.py +2 -0
  6. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/openai_test.py +4 -4
  7. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun.egg-info/PKG-INFO +1 -1
  8. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/LICENSE +0 -0
  9. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/README.md +0 -0
  10. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/__init__.py +0 -0
  11. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/__init__.py +0 -0
  12. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/__init__.py +0 -0
  13. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/__init__.py +0 -0
  14. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/correction.py +0 -0
  15. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/correction_test.py +0 -0
  16. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/errors.py +0 -0
  17. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/errors_test.py +0 -0
  18. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/execution.py +0 -0
  19. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/execution_test.py +0 -0
  20. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/generation.py +0 -0
  21. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/generation_test.py +0 -0
  22. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/parsing.py +0 -0
  23. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/parsing_test.py +0 -0
  24. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/permissions.py +0 -0
  25. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/coding/python/permissions_test.py +0 -0
  26. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/component.py +0 -0
  27. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/component_test.py +0 -0
  28. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/concurrent.py +0 -0
  29. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/concurrent_test.py +0 -0
  30. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/console.py +0 -0
  31. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/console_test.py +0 -0
  32. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/__init__.py +0 -0
  33. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/base.py +0 -0
  34. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/matching.py +0 -0
  35. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/matching_test.py +0 -0
  36. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/scoring.py +0 -0
  37. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/eval/scoring_test.py +0 -0
  38. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/langfunc.py +0 -0
  39. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/language_model_test.py +0 -0
  40. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/__init__.py +0 -0
  41. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/cache/__init__.py +0 -0
  42. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/cache/base.py +0 -0
  43. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/cache/in_memory.py +0 -0
  44. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/cache/in_memory_test.py +0 -0
  45. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/fake.py +0 -0
  46. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/fake_test.py +0 -0
  47. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/llama_cpp.py +0 -0
  48. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/llms/llama_cpp_test.py +0 -0
  49. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/memories/__init__.py +0 -0
  50. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/memories/conversation_history.py +0 -0
  51. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/memories/conversation_history_test.py +0 -0
  52. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/memory.py +0 -0
  53. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/message.py +0 -0
  54. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/message_test.py +0 -0
  55. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/modalities/__init__.py +0 -0
  56. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/modalities/image.py +0 -0
  57. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/modalities/image_test.py +0 -0
  58. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/modality.py +0 -0
  59. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/modality_test.py +0 -0
  60. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/natural_language.py +0 -0
  61. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/natural_language_test.py +0 -0
  62. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/sampling.py +0 -0
  63. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/sampling_test.py +0 -0
  64. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/__init__.py +0 -0
  65. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/completion.py +0 -0
  66. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/completion_test.py +0 -0
  67. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/description.py +0 -0
  68. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/description_test.py +0 -0
  69. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/mapping.py +0 -0
  70. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/mapping_test.py +0 -0
  71. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/parsing.py +0 -0
  72. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/parsing_test.py +0 -0
  73. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/prompting.py +0 -0
  74. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/prompting_test.py +0 -0
  75. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/schema.py +0 -0
  76. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/structured/schema_test.py +0 -0
  77. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/subscription.py +0 -0
  78. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/subscription_test.py +0 -0
  79. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/template.py +0 -0
  80. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/template_test.py +0 -0
  81. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/__init__.py +0 -0
  82. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/completion.py +0 -0
  83. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/completion_test.py +0 -0
  84. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/conversation.py +0 -0
  85. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/conversation_test.py +0 -0
  86. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/demonstration.py +0 -0
  87. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/demonstration_test.py +0 -0
  88. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/selfplay.py +0 -0
  89. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/templates/selfplay_test.py +0 -0
  90. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/text_formatting.py +0 -0
  91. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun/core/text_formatting_test.py +0 -0
  92. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun.egg-info/SOURCES.txt +0 -0
  93. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun.egg-info/dependency_links.txt +0 -0
  94. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun.egg-info/requires.txt +0 -0
  95. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/langfun.egg-info/top_level.txt +0 -0
  96. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/setup.cfg +0 -0
  97. {langfun-0.0.2.dev20231215 → langfun-0.0.2.dev20231217}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20231215
3
+ Version: 0.0.2.dev20231217
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors
@@ -101,7 +101,7 @@ class EvaluationTest(unittest.TestCase):
101
101
  self.assertEqual(s.dir, os.path.join(s.root_dir, s.id))
102
102
  self.assertEqual(s.hash, s.clone().hash)
103
103
  # Test persistent hash.
104
- self.assertEqual(s.hash, '0c857e07')
104
+ self.assertEqual(s.hash, 'c76d4fe6')
105
105
  self.assertEqual(
106
106
  s.hash, s.clone(override={'max_workers': 2, 'lm.timeout': 20}).hash
107
107
  )
@@ -323,7 +323,7 @@ class EvaluationTest(unittest.TestCase):
323
323
  s.children[0].dir, os.path.join(s.root_dir, s.children[0].id)
324
324
  )
325
325
  # Test persistent hash.
326
- self.assertEqual(s.hash, 'cbb0adcf')
326
+ self.assertEqual(s.hash, 'e987475a')
327
327
 
328
328
  summary = s.run(verbose=True)
329
329
  self.assertEqual(len(summary.evaluations), 2)
@@ -451,7 +451,7 @@ class SuiteTest(unittest.TestCase):
451
451
  ],
452
452
  )
453
453
  # Test for persistent hash.
454
- self.assertEqual(s.hash, 'ec4758d3')
454
+ self.assertEqual(s.hash, 'bb86a963')
455
455
  s.run()
456
456
  expected = {
457
457
  s.children[0].id: dict(
@@ -73,11 +73,11 @@ class LangFuncCallTest(unittest.TestCase):
73
73
  print(repr(l))
74
74
  self.assertEqual(
75
75
  repr(l),
76
- "LangFunc(template_str='Hello', clean=True, "
77
- 'lm=ExcitedEchoer(sampling_options=LMSamplingOptions(temperature=0.0, '
78
- 'max_tokens=1024, n=1, top_k=40, top_p=None, random_seed=None), '
79
- 'cache=None, timeout=120.0, max_attempts=5, retry_interval=(5, 60), '
80
- 'exponential_backoff=True, debug=False))',
76
+ "LangFunc(template_str='Hello', clean=True,"
77
+ ' lm=ExcitedEchoer(sampling_options=LMSamplingOptions(temperature=0.0,'
78
+ ' max_tokens=1024, n=1, top_k=40, top_p=None, stop=None,'
79
+ ' random_seed=None), cache=None, timeout=120.0, max_attempts=5,'
80
+ ' retry_interval=(5, 60), exponential_backoff=True, debug=False))',
81
81
  )
82
82
 
83
83
  l = LangFunc('Hello')
@@ -80,6 +80,15 @@ class LMSamplingOptions(component.Component):
80
80
  '`top_p` but not both.'
81
81
  ),
82
82
  ] = None
83
+ stop: Annotated[
84
+ list[str] | None,
85
+ (
86
+ 'A list of stop sequences that prevent LLMs from outputting '
87
+ 'more tokens. For example, when `stop` is set to ["User:", "Model:"] '
88
+ 'LLMs will stop to emit more tokens when `User:` or '
89
+ '`Model:` is reached.'
90
+ ),
91
+ ] = None
83
92
  random_seed: Annotated[
84
93
  int | None, 'A fixed random seed used during model inference.'
85
94
  ] = None
@@ -170,6 +170,8 @@ class OpenAI(lf.LanguageModel):
170
170
 
171
171
  if options.top_p is not None:
172
172
  args['top_p'] = options.top_p
173
+ if options.stop:
174
+ args['stop'] = options.stop
173
175
  return args
174
176
 
175
177
  def _sample(self, prompts: list[lf.Message]) -> list[LMSamplingResult]:
@@ -109,9 +109,8 @@ class OpenaiTest(unittest.TestCase):
109
109
  )
110
110
  self.assertEqual(
111
111
  openai.Gpt4(api_key='test_key')._get_request_args(
112
- lf.LMSamplingOptions(
113
- temperature=1.0,
114
- n=1)),
112
+ lf.LMSamplingOptions(temperature=1.0, stop=['\n'], n=1)
113
+ ),
115
114
  dict(
116
115
  model='gpt-4',
117
116
  n=1,
@@ -119,7 +118,8 @@ class OpenaiTest(unittest.TestCase):
119
118
  max_tokens=1024,
120
119
  stream=False,
121
120
  timeout=120.0,
122
- )
121
+ stop=['\n'],
122
+ ),
123
123
  )
124
124
 
125
125
  def test_call_completion(self):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: langfun
3
- Version: 0.0.2.dev20231215
3
+ Version: 0.0.2.dev20231217
4
4
  Summary: Langfun: Language as Functions.
5
5
  Home-page: https://github.com/google/langfun
6
6
  Author: Langfun Authors