Conversation
|
|
||
| @classmethod | ||
| def from_env(cls: Type["GroqProvider"]) -> "GroqProvider": | ||
| cls.check_env_vars(cls.instructions_url) |
There was a problem hiding this comment.
@elenazherdeva whenever we revisit this, we could check this implicitly so the user's don't need to pass it in (e.g. we can do the check for if instructions_url: ...).
what do you think? simplifies the implementation of adding a new provider
| @@ -0,0 +1,97 @@ | |||
| import os | |||
| from typing import Any, Dict, List, Tuple, Type | |||
There was a problem hiding this comment.
:nit: i think our patterns here don't realize as of python 3.9+ we generally don't need Dict, List, and Tuple anymore we can use the primitives (dict, list, and tuple respectively)
| return cls(client) | ||
|
|
||
| @staticmethod | ||
| def get_usage(data: dict) -> Usage: |
There was a problem hiding this comment.
@lifeizhou-ap this might be a useful thing to promote to a @classmethod (not sure i understand when we'd need to use it as a static method Provider.get_usage({...})). let's consider making an abstraction to make adding providers super easy?
| payload = {k: v for k, v in payload.items() if v} | ||
| response = self._post(payload) | ||
|
|
||
| # Check for context_length_exceeded error for single, long input message |
* main: feat: add groq provider (#134) feat: add a deep thinking reasoner model (o1-preview/mini) (#68) fix: use concrete SessionNotifier (#135) feat: add guards to session management (#101) fix: Set default model configuration for the Google provider. (#131) test: convert Google Gemini tests to VCR (#118) chore: Add goose providers list command (#116) docs: working ollama for desktop (#125) docs: format and clean up warnings/errors (#120) docs: update deploy workflow (#124) feat: Implement a goose run command (#121)
* main: (23 commits) feat: Run with resume session (#153) refactor: move langfuse wrapper to a module in exchange instead of a package (#138) docs: add subheaders to the 'Other ways to run Goose' section (#155) fix: Remove tools from exchange when summarizing files (#157) chore: use primitives instead of typing imports and fixes completion … (#149) chore: make vcr tests pretty-print JSON (#146) chore(release): goose 0.9.5 (#159) chore(release): exchange 0.9.5 (#158) chore: updates ollama default model from mistral-nemo to qwen2.5 (#150) feat: add vision support for Google (#141) fix: session resume with arg handled incorrectly (#145) docs: add release instructions to CONTRIBUTING.md (#143) docs: add link to action, IDE words (#140) docs: goosehints doc fix only (#142) chore(release): release 0.9.4 (#136) revert: "feat: add local langfuse tracing option (#106)" (#137) feat: add local langfuse tracing option (#106) feat: add groq provider (#134) feat: add a deep thinking reasoner model (o1-preview/mini) (#68) fix: use concrete SessionNotifier (#135) ...
using:
groq:
provider: groq
processor: llama3-groq-70b-8192-tool-use-preview
accelerator: llama3-groq-70b-8192-tool-use-preview
moderator: truncate
toolkits:
requires: {}
is really really fast - but does get lost after a while (as most llama3 ones do) - interesting to watch!