{"id":15464266,"url":"https://github.com/vblagoje/openapi-rag-service","last_synced_at":"2025-09-16T17:32:36.667Z","repository":{"id":218671982,"uuid":"747058215","full_name":"vblagoje/openapi-rag-service","owner":"vblagoje","description":"A flexible Haystack 2.0 pipeline integrating Retrieval-Augmented Generation (RAG) with any OpenAPI service","archived":false,"fork":false,"pushed_at":"2024-11-25T10:32:15.000Z","size":106,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-30T22:11:13.452Z","etag":null,"topics":["nlp","openapi","rag"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vblagoje.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-23T07:17:14.000Z","updated_at":"2024-11-27T09:11:04.000Z","dependencies_parsed_at":"2024-02-10T06:00:33.023Z","dependency_job_id":null,"html_url":"https://github.com/vblagoje/openapi-rag-service","commit_stats":{"total_commits":12,"total_committers":1,"mean_commits":12.0,"dds":0.0,"last_synced_commit":"4936adcfd481cb5fc402e3622bc4737179e331d5"},"previous_names":["vblagoje/haystack-rag-service"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vblagoje%2Fopenapi-rag-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vblagoje%2Fopenapi-rag-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vblagoje%2Fopenapi-rag-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vblagoje%2Fopenapi-rag-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vblagoje","download_url":"https://codeload.github.com/vblagoje/openapi-rag-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233283745,"owners_count":18652862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nlp","openapi","rag"],"created_at":"2024-10-02T00:30:22.814Z","updated_at":"2025-09-16T17:32:31.348Z","avatar_url":"https://github.com/vblagoje.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vblagoje/openapi-rag-service\n\n`vblagoje/openapi-rag-service` demonstrates the seamless integration of OpenAPI-defined services with Large Language Models (LLMs) in the Haystack RAG (Retriever-Augmented Generation) pipeline. This project offers an easy way to explore the enhanced capabilities of Haystack's 2.x RAG architecture, enriching LLMs with structured data from various OpenAPI services. The vblagoje/openapi-rag-service Docker image facilitates quick experimentation, opening new possibilities for enriching LLM outputs in the RAG framework.\n## Key Features\n\n- **Seamless OpenAPI Integration**: Incorporates any OpenAPI-specified service into the RAG pipeline, expanding the potential sources of information beyond unstructured text.\n- **Enhanced RAG Functionality**: Enhances traditional RAG capabilities with structured, service-driven data, offering more contextually rich and accurate outputs.\n- **Flexible LLM Compatibility**: Supports various Large Language Models (LLMs) that adhere to OpenAI Python client standards, ensuring broad applicability and flexibility.\n\n## Getting Started\n\n### Prerequisites\n\n- Docker installed on your machine.\n- Access to LLM providers compatible with the OpenAI Python client.\n\n### Running the Service\n\nTo run the `vblagoje/openapi-rag-service`, pull the Docker image and execute it with the necessary parameters:\n\n```sh\ndocker pull vblagoje/openapi-rag-service:latest\ndocker run \u003cadditional-parameters\u003e vblagoje/openapi-rag-service\n```\n\n## Configuration\n\nConfigure the service using the following environment variables:\n\n- `OPENAI_API_KEY`: Your API key for OpenAI.\n- `OPENAI_BASE_URL`: The base URL for the OpenAI API.\n- `TEXT_GENERATION_MODEL`: Name of the model used for text generation (e.g., `gpt-4-1106-preview`).\n- `FUNCTION_CALLING_MODEL`: Model name for handling function calls (e.g., `gpt-3.5-turbo-0613`).\n- `SYSTEM_PROMPT`: System message or prompt URL to assist the model in generating content.\n- `FUNCTION_CALLING_PROMPT`: Prompt for the function calling model.\n- `USER_PROMPT`: Additional user-defined prompt for guided output text generation.\n- `FUNCTION_CALLING_VALIDATION_SCHEMA`: Schema URL or json text for validating OpenAPI function calls (adds correction loop)\n- `BOT_NAME`: Bot name used in guiding the generation process.\n- `OPENAPI_SERVICE_SPEC`: URL or path to the OpenAPI service specification.\n- `OPENAPI_SERVICE_TOKEN`: Token for authenticating with the specified OpenAPI service.\n- `SERVICE_RESPONSE_SUBTREE`: Specific subtree to parse in the service response.\n- `OUTPUT_KEY`: Json key for the output of the text generation (if not the output is not a json) \n- `OUTPUT_SCHEMA`: Schema URL or json text defining the output format.\n- `QUIET`: Set to `true` to disable output to standard output (STDOUT).\n\n## Usage Example\n\nTODO\n\n\n## License\n\nLicensed under (LICENCE)[LICENCSE]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvblagoje%2Fopenapi-rag-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvblagoje%2Fopenapi-rag-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvblagoje%2Fopenapi-rag-service/lists"}