Added openai as dependency well otherwise will not start - #3
Conversation
There was a problem hiding this comment.
Hello @cteodor, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
Summary of Changes
This pull request addresses an issue where the API server fails to start due to a missing dependency. To resolve this, I've added openai>=1.76.2 to the requirements.txt file, ensuring that the OpenAI library is installed when the application is set up.
Highlights
- Dependency Management: The primary change involves adding the
openaipackage as a required dependency to therequirements.txtfile. - Bug Fix: This change fixes a startup issue caused by the absence of the OpenAI library.
Changelog
- api/requirements.txt
- Added
openai>=1.76.2to ensure the OpenAI library is installed, resolving a startup error.
- Added
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in issue comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist is currently in preview and may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments to provide feedback.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
A server's plight,
Missing piece, dark of night,
OpenAI's grace.
Now it starts, finds its place,
Code ascends, shining bright.
Footnotes
-
Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩
There was a problem hiding this comment.
Code Review
This pull request adds the openai package as a dependency to the requirements.txt file. This is a necessary step to ensure that the API server can start correctly and utilize OpenAI's functionalities. The change is straightforward, but it's important to verify that the correct version of the package is specified and that the dependency is indeed required by the codebase.
Merge Readiness
The pull request introduces a necessary dependency for the API server to function correctly. Given the straightforward nature of the change, it appears to be ready for merging. However, it's crucial to ensure that the specified version of the openai package is compatible with the codebase and that the dependency is indeed required. I am unable to directly approve this pull request, so please have others review and approve this code before merging.
Added openai as dependency well otherwise will not start
Added azure devops file tree determining for better wiki gen
Added openai as dependency well otherwise will not start
* Refactor/chat streamer (#1) * refactor chat streaming * update `_is_token_limit_error` logic * test: add chat provider unittests * move `_is_token_limit_error` to module level * remove unnecessary TYPE_CHECKING * add EOF * update prompt function * update `input_too_large` threshold (#2) * patch: patch adalflow OllamaClient to support batch embedding api. (#3) related to SylphAI-Inc/AdalFlow#496 * Revert "patch: patch adalflow OllamaClient to support batch embedding api. (#3)" (#4) This reverts commit 6bdc4e8. * Feat/ollama batch embed patch (#5) * patch: patch adalflow OllamaClient to support batch embedding api. related to SylphAI-Inc/AdalFlow#496 * remove `OllamaDocumentProcessor` * Refactor/chat streamer (#6) * refactor chat streaming * update `_is_token_limit_error` logic * test: add chat provider unittests * move `_is_token_limit_error` to module level * remove unnecessary TYPE_CHECKING * add EOF * update prompt function * refactor `websocket_wiki.py` using `ChatStreamer` * remove unnecessary imports * add litellm test * update kwargs in `GoogleGenerativeChatStreamer` * fix: fix simple_chat format * refactor and add clients module (#7) * centralize prompt (related to #306) * centralize prompt (related to #306) (#8) * fix prompt * update `check_ollama_model_exists` using ollama.list api. * fix exception type * fix import scope * fix catching exception * remove dangling file. * use field_validator to simplify dirs and files parsing in `ChatCompletionRequest` * Apply suggestions from code review Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * prevent empty string * unify chat model in `websocket_wiki` and `simple_chat` * import cleanup * import documentations * add EOF * change azureai client import path in `_stream` module. * follwing pep8. --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Refactor/chat streamer (#1) * refactor chat streaming * update `_is_token_limit_error` logic * test: add chat provider unittests * move `_is_token_limit_error` to module level * remove unnecessary TYPE_CHECKING * add EOF * update prompt function * update `input_too_large` threshold (#2) * patch: patch adalflow OllamaClient to support batch embedding api. (#3) related to SylphAI-Inc/AdalFlow#496 * Revert "patch: patch adalflow OllamaClient to support batch embedding api. (#3)" (#4) This reverts commit 6bdc4e8. * Feat/ollama batch embed patch (#5) * patch: patch adalflow OllamaClient to support batch embedding api. related to SylphAI-Inc/AdalFlow#496 * remove `OllamaDocumentProcessor` * Refactor/chat streamer (#6) * refactor chat streaming * update `_is_token_limit_error` logic * test: add chat provider unittests * move `_is_token_limit_error` to module level * remove unnecessary TYPE_CHECKING * add EOF * update prompt function * refactor `websocket_wiki.py` using `ChatStreamer` * remove unnecessary imports * add litellm test * update kwargs in `GoogleGenerativeChatStreamer` * fix: fix simple_chat format * refactor and add clients module (#7) * centralize prompt (related to #306) * centralize prompt (related to #306) (#8) * fix prompt * update `check_ollama_model_exists` using ollama.list api. * fix exception type * fix import scope * fix catching exception * remove dangling file. * use field_validator to simplify dirs and files parsing in `ChatCompletionRequest` * Apply suggestions from code review Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * prevent empty string * unify chat model in `websocket_wiki` and `simple_chat` * import cleanup * import documentations * add EOF * change azureai client import path in `_stream` module. * follwing pep8. * using specific `mode` field to determine `deep_research` mode or normal conversation mode. * add explicit `research_iteration` from the frontend. * add conversation history rendering in frontend. (claude code generated) * prevent showing `websocket error` when sending chat to server. * deps: update requests version to fix CVE. (fix #537) * fix callers of `count_tokens`, pass provider string directly * cleaning up prompt generation code in websocket_wiki. * add back default `local` repo type * refactor rag, `simple_chat` and `websocket_wiki` to perform non-blocking rag retrieval * lazy init asyncio Semaphore instance * change assert type * remove unused `generator` instance from RAG class * refactor: remove duplicated document processing. * add AnthropicBedrockClient * add anthropic package * update `CLIENT_CLASSES` mapping * move all `websocket.close()` in finally scope. (#10) * refactor: use `acall` implemenation in `AnthropicChatStreamer` * docs: add docstring. * update docstring * update type annotation * refactor: add data schema for all backend pydantic models * refactor: logging mechanism * refactor: logging cleanup * refactor: backend structure * fixing endpoints * add back configuring GOOGLE_API_KEY, and remove import app, simple_chat and websocket_wiki * rag cleaning up * wiki resource refactoring * rename wiki api function, and refactor rag * remove ollama_patch * add schema tests * refactoring structure * use `websocket` decorator instead * implement async load and save for BaseModel type * refactor RAG document validation * simplify `Memory.call` dialog_turn dict generate * feat: add codemap generation * feat: add codemap generation * update codemap generation progress indicator * change ths mode toggle to use dropdown. (ai generated) * extend height page (ai suggestion) * change codeviewer position and triggering * hide modal's close button when codeviewer is opened. (ai generated) * include `codemap` generation into `clear conversation` triggering condition. (ai generated) * reformat codemap generated section, split conversation and codemap link to share the same page without overlapping each other. * fix conversation sequence bug when mixing `codemap` with other modes * fix: fix rag return type, removing `RAGAnswer` dataclass object. * removing logging api key in logger. * rename `utils` to `services` * update type annotation of `asave` and `aload`. * refactor `excluded` and `included` mechanism, and fix `_should_process_file` * fix `_should_process_file` * pre-commit fix * update readme. (ai generated for other languages) * Add screenshot * add codemap screenshot in readme * update tests * Fix/huge repo timeout (#11) * refactor: add Repo type * add repo schema * fix: fix import path * add prepare_index in frontend. (ai generated) * update preparing indexing in different languages. (ai generated) * update preparing indexing in different languages. (ai generated) * update preparing indexing in different languages. (ai generated) * add warning if repo's index is not pre-built * refactor schema, create `RepoRequestBase` to minimize duplicated repo fields (#12) * Fix/frontend wiki prompt (#13) * fix frontend parsing generated wiki. * fix frontend parsing generated wiki. * fix ruff isort * update logging config and mechanism * fix: fix language detection (#14) --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
This fixes the api server startup