Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add Google Gemini API provider #2

Merged
merged 13 commits into from
Mar 6, 2024

Conversation

fanweixiao
Copy link
Member

@fanweixiao fanweixiao commented Feb 27, 2024

Related Docs:

How to use this provider

bridge:
  ai:
    server:
      addr: localhost:8000
      provider: gemini

    providers:
      gemini:
        api_key: <your-api-key>

Be careful that

  1. The data format describes in api doc is different from actual api. These can be found from the unit tests.
  2. You can not set your function with - as this will break your api response. Google will drop characters of the function name in its response. So, I have to check this -, and replace to _ if it presence.

@fanweixiao fanweixiao self-assigned this Feb 27, 2024
@fanweixiao fanweixiao added the llm provider llm provider label Feb 27, 2024
@fanweixiao
Copy link
Member Author

@venjiang please review

Copy link

@venjiang venjiang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@fanweixiao
Copy link
Member Author

Need to investigate on missing parallel function calling.

@fanweixiao fanweixiao merged commit eb8f7e6 into master Mar 6, 2024
1 check failed
fanweixiao added a commit that referenced this pull request Mar 6, 2024
## Related Docs: 

- https://ai.google.dev/docs/gemini_api_overview
- https://ai.google.dev/docs/function_calling

## How to use this provider

```yaml
bridge:
  ai:
    server:
      addr: localhost:8000
      provider: gemini

    providers:
      gemini:
        api_key: <your-api-key>
```

## Be careful that

1. The data format describes in api doc is different from actual api.
These can be found from the unit tests.
2. You can not set your function with `-` as this will break your api
response. Google will drop characters of the function name in its
response. So, I have to check this `-`, and replace to `_` if it
presence.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
llm provider llm provider
Projects
None yet
2 participants