vector.proto 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // python -m grpc_tools.protoc -I. --python_out=. --pyi_out=. --grpclib_python_out=. grpc_m/vector/vector.proto
  2. // https://github.com/vmagamedov/grpclib
  3. // https://github.com/danielgtaylor/python-betterproto
  4. // python -m grpc_tools.protoc -I. --python_out=. --grpclib_python_out=. langchain_service.proto
  5. // protoc -I . --python_betterproto_out=lib example.proto
  6. // * `-I./grpc`: 指定搜索导入的 `.proto` 文件的目录。这里,我们告诉 `protoc` 在 `./grpc` 目录中查找其他 `.proto` 文件(如果有的话)。
  7. // * `--python_out=./grpc/gen_code`: 指定生成的 Python 代码的输出目录。
  8. // * `--grpc_python_out=./grpc/gen_code`: 指定生成的 gRPC Python 代码的输出目录。注意,这通常会覆盖上面的 `--python_out`,但为了确保清晰,我在这里都包括了。实际上,对于 gRPC,你只需要 `--grpc_python_out`。但是,如果你也想生成纯的 Protobuf Python 代码(不包括 gRPC 服务和服务端/客户端代码),那么你需要同时指定两者。
  9. // * `./grpc/vector_service.proto`: 指定要编译的 `.proto` 文件的路径。
  10. syntax = "proto3";
  11. // grpc_m/vector_service.proto
  12. package langchain_service;
  13. // 定义错误枚举类型
  14. enum ErrorCode {
  15. SUCCESS = 0;
  16. DOC_CONVERT_ERROR = 1;
  17. VECTOR_SERVER_ERROR = 2;
  18. }
  19. service VectorService {
  20. rpc SaveDocToVector (SaveDocToVectorRequest) returns (SaveDocToVectorResponse) {}
  21. rpc DocChat (DocChatRequest) returns (DocChatResponse) {}
  22. rpc SearchWithIds (SearchWithIdsRequests) returns (SearchResponses) {}
  23. rpc SimilaritySearch (SearchRequest) returns (SearchResponses) {}
  24. }
  25. message SaveDocToVectorRequest {
  26. string collection_name = 1;
  27. // {open_id}/docs/exzample.pdf
  28. string user_doc_relative_path = 2;
  29. }
  30. message SaveDocToVectorResponse {
  31. ErrorCode status = 1;
  32. }
  33. message DocChatRequest {
  34. string collection_name = 1;
  35. string prompt = 2;
  36. }
  37. message DocChatResponse {
  38. string reply = 1;
  39. }
  40. message SearchRequest {
  41. string collection_name = 1;
  42. string query = 2;
  43. }
  44. message SearchWithIdsRequest {
  45. string uuid = 1;
  46. }
  47. message SearchWithIdsRequests {
  48. repeated SearchWithIdsRequest request = 1;
  49. }
  50. message SearchResponse {
  51. string chunk = 1;
  52. map<string, string> metadata = 2;
  53. float score = 3;
  54. string uuid = 4;
  55. }
  56. message SearchResponses {
  57. repeated SearchResponse data = 1;
  58. }